Delen via


Federal Information Process Standard (FIPS) inschakelen voor AKS-knooppuntgroepen (Azure Kubernetes Service)

De Federal Information Processing Standard (FIPS) 140-2 is een Amerikaanse overheidsstandaard waarin de minimale veiligheidsvereisten zijn vastgelegd voor cryptografische modules in informatietechnologieproducten en -systemen. Met Azure Kubernetes Service (AKS) kunt u Linux- en Windows-knooppuntgroepen maken waarvoor FIPS 140-2 is ingeschakeld. Implementaties die worden uitgevoerd op FIPS-knooppuntgroepen kunnen deze cryptografische modules gebruiken om betere beveiliging te bieden en om zo te voldoen aan beveiligingscontroles als onderdeel van FedRAMP-naleving. Zie Federal Information Processing Standard (FIPS) 140-2 voor meer informatie over FIPS 140.

Waarschuwing

In dit artikel vindt u verwijzingen naar een functie die mogelijk versies van het Ubuntu-besturingssysteem gebruikt die worden verouderd voor AKS.

  • Vanaf 17 juni 2025 biedt AKS geen ondersteuning meer voor Ubuntu 18.04. Bestaande knooppuntinstallatiekopieën worden verwijderd en AKS biedt geen beveiligingsupdates meer. U kunt uw knooppuntgroepen niet meer schalen. Werk uw knooppuntgroepen bij naar een ondersteunde kubernetes-versie om te migreren naar een ondersteunde Ubuntu-versie.
  • Vanaf 17 maart 2027 biedt AKS geen ondersteuning meer voor Ubuntu 20.04. Bestaande knooppuntinstallatiekopieën worden verwijderd en AKS biedt geen beveiligingsupdates meer. U kunt uw knooppuntgroepen niet meer schalen. Werk uw knooppuntgroepen bij naar kubernetes versie 1.34+ om te migreren naar een ondersteunde Ubuntu-versie. Zie Problemen met AKS GitHub voor meer informatie over deze buitengebruikstelling

Vereisten

Azure CLI versie 2.32.0 of hoger geïnstalleerd en geconfigureerd. Voer az --version uit om de versie te zoeken. Zie Azure CLI installeren voor meer informatie over het installeren of upgraden van de Azure CLI.

Notitie

AKS Monitoring Addon ondersteunt FIPS-knooppuntgroepen met Ubuntu, Azure Linux en Windows vanaf agentversie 3.1.17 (Linux) en Win-3.1.17 (Windows).

Beperkingen

  • Knooppuntgroepen met FIPS-functionaliteit hebben de volgende beperkingen:
    • Voor FIPS-knooppuntgroepen is Kubernetes versie 1.19 en hoger vereist.
    • Als u de onderliggende pakketten of modules wilt bijwerken die worden gebruikt voor FIPS, moet u De upgrade van de knooppuntinstallatiekopie gebruiken.
    • Containerafbeeldingen op de FIPS-knooppunten worden niet beoordeeld op FIPS-naleving.
    • Het koppelen van een CIFS-share mislukt omdat fips sommige verificatiemodules uitschakelt. Zie Fouten bij het koppelen van een bestandsshare in een knooppuntgroep met FIPS-functionaliteit om dit probleem te omzeilen.
    • Knooppuntgroepen met ARM64-VM's met FIPS worden alleen ondersteund met Azure Linux 3.0+.

Belangrijk

De linux-installatiekopie met FIPS-functionaliteit is een andere installatiekopie dan de standaardinstallatiekopie van Linux die wordt gebruikt voor linux-knooppuntgroepen.

Knooppuntinstallatiekopieën met FIPS-functionaliteit kunnen verschillende versienummers hebben, zoals kernelversie, dan installatiekopieën die niet zijn ingeschakeld voor FIPS. De updatecyclus voor fips-knooppuntgroepen en knooppuntinstallatiekopieën kan verschillen van knooppuntgroepen en installatiekopieën die niet zijn ingeschakeld voor FIPS.

Ondersteunde besturingssysteemversies

U kunt knooppuntgroepen met FIPS-functionaliteit maken op alle ondersteunde typen besturingssystemen (Linux en Windows). Niet alle versies van het besturingssysteem ondersteunen echter FIPS-knooppuntgroepen. Nadat een nieuwe versie van het besturingssysteem is uitgebracht, is er doorgaans een wachttijd voordat deze compatibel is met FIPS.

Deze tabel bevat de ondersteunde besturingssysteemversies:

Type besturingssysteem SKU van het besturingssysteem FIPS-naleving
Linux Ubuntu Ondersteund
Linux Azure Linux Ondersteund
Windows Windows Server 2019 Ondersteund
Windows Windows Server 2022 Ondersteund

Bij het aanvragen van een FIPS-ingeschakelde versie van Ubuntu, als de standaardversie van Ubuntu geen ondersteuning biedt voor FIPS, stelt AKS standaard in op de meest recente, door FIPS ondersteunde versie van Ubuntu. Ubuntu 22.04 is bijvoorbeeld standaard voor Linux-knooppuntgroepen. Omdat 22.04 momenteel geen ondersteuning biedt voor FIPS, wordt AKS standaard ingesteld op Ubuntu 20.04 voor Linux FIPS-knooppuntgroepen.

Notitie

Eerder kunt u de GetOSOptions-API gebruiken om te bepalen of een bepaald besturingssysteem FIPS ondersteunt. De GetOSOptions-API is nu afgeschaft en wordt niet meer opgenomen in nieuwe AKS-API-versies vanaf 2024-05-01.

Een Linux-knooppuntgroep met FIPS-functionaliteit maken

  1. Maak een linux-knooppuntgroep met FIPS-functionaliteit met behulp van de opdracht az aks nodepool add met de --enable-fips-image parameter.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name fipsnp \
        --enable-fips-image
    

    Notitie

    U kunt de --enable-fips-image parameter ook gebruiken met de opdracht az aks create wanneer u een cluster maakt om FIPS in te schakelen in de standaardknooppuntgroep. Wanneer u knooppuntgroepen toevoegt aan een cluster dat op deze manier is gemaakt, moet u nog steeds de parameter gebruiken bij het --enable-fips-image toevoegen van knooppuntgroepen om een FIPS-knooppuntgroep te maken.

  2. Controleer of uw knooppuntgroep is ingeschakeld voor FIPS met behulp van de opdracht az aks show en voer een query uit voor de enableFIPS-waarde in agentPoolProfiles.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \
        -o table
    

    In de volgende voorbeelduitvoer ziet u dat de fipsnp-knooppuntgroep is ingeschakeld voor FIPS:

    Name       enableFips
    ---------  ------------
    fipsnp     True
    nodepool1  False  
    
  3. Vermeld de knooppunten met behulp van de kubectl get nodes opdracht.

    kubectl get nodes
    

    In de volgende voorbeelduitvoer ziet u een lijst met de knooppunten in het cluster. De knooppunten die beginnen met aks-fipsnp , maken deel uit van de knooppuntgroep waarvoor FIPS is ingeschakeld.

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-fipsnp-12345678-vmss000000      Ready    agent   6m4s    v1.19.9
    aks-fipsnp-12345678-vmss000001      Ready    agent   5m21s   v1.19.9
    aks-fipsnp-12345678-vmss000002      Ready    agent   6m8s    v1.19.9
    aks-nodepool1-12345678-vmss000000   Ready    agent   34m     v1.19.9
    
  4. Voer een implementatie uit met een interactieve sessie op een van de knooppunten in de knooppuntgroep met FIPS-functionaliteit met behulp van de kubectl debug opdracht.

    kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
    
  5. Controleer in de uitvoer van de interactieve sessie of de cryptografische FIPS-bibliotheken zijn ingeschakeld. De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled
    1
    

    FIPS-knooppuntgroepen hebben ook een kubernetes.azure.com/fips_enabled=true label, die implementaties kunnen gebruiken om deze knooppuntgroepen te richten.

Een Windows-knooppuntgroep met FIPS-knooppunten maken

  1. Maak een Windows-knooppuntgroep met FIPS-functionaliteit met behulp van de opdracht az aks nodepool add met de --enable-fips-image parameter. In tegenstelling tot op Linux gebaseerde knooppuntgroepen delen Windows-knooppuntgroepen dezelfde installatiekopieënset.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name fipsnp \
        --enable-fips-image \
        --os-type Windows
    
  2. Controleer of uw knooppuntgroep is ingeschakeld voor FIPS met behulp van de opdracht az aks show en voer een query uit voor de enableFIPS-waarde in agentPoolProfiles.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \
        -o table
    
  3. Controleer of Windows-knooppuntgroepen toegang hebben tot de cryptografische FIPS-bibliotheken door een RDP-verbinding met een Windows-knooppunt in een FIPS-knooppuntgroep te maken en het register te controleren. Voer in de toepassing Uitvoeren de tekst inregedit.

  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy Zoek naar in het register.

  5. Als Enabled deze optie is ingesteld op 1, is FIPS ingeschakeld.

    Schermopname van een afbeelding van de registereditor naar het FIPS-algoritmebeleid en wordt ingeschakeld.

    FIPS-knooppuntgroepen hebben ook een kubernetes.azure.com/fips_enabled=true label, die implementaties kunnen gebruiken om deze knooppuntgroepen te richten.

Een bestaande knooppuntgroep bijwerken om FIPS in of uit te schakelen

Bestaande Linux-knooppuntgroepen kunnen worden bijgewerkt om FIPS in of uit te schakelen. Als u van plan bent om uw knooppuntgroepen van niet-FIPS naar FIPS te migreren, controleert u eerst of uw toepassing goed werkt in een testomgeving voordat u deze migreert naar een productieomgeving. Het valideren van uw toepassing in een testomgeving moet problemen voorkomen die worden veroorzaakt door de FIPS-kernel die een zwak coderings- of versleutelingsalgoritme blokkeert, zoals een MD4-algoritme dat niet compatibel is met FIPS.

Notitie

Wanneer u een bestaande Linux-knooppool bijwerkt om FIPS in of uit te schakelen, schakelt de update van de knooppool over tussen de fips- en niet-fips-afbeelding. Deze bijwerking van de nodepool start een herinstallatie om de update te voltooien. Hierdoor kan het enkele minuten duren voordat de update van de knooppuntgroep is voltooid.

Vereisten

Azure CLI versie 2.64.0 of hoger. Voer az --version uit om de versie te zoeken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

FIPS inschakelen voor een bestaande knooppuntgroep

Bestaande Linux-knooppuntgroepen kunnen worden bijgewerkt om FIPS in te schakelen. Wanneer u een bestaande knooppuntgroep bijwerkt, verandert de knooppuntinstallatiekopie van de huidige installatiekopie in de aanbevolen FIPS-installatiekopie van dezelfde SKU van het besturingssysteem.

  1. Werk een knooppuntgroep bij met behulp van de opdracht az aks nodepool update met de --enable-fips-image parameter.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name np \
        --enable-fips-image
    

    Met deze opdracht wordt onmiddellijk een herinstallatie van de knooppuntpool geactiveerd om het FIPS-compatibele besturingssysteem te implementeren. Deze installatiekopie vindt plaats tijdens de update van de knooppuntgroep. Er zijn geen extra stappen vereist.

  2. Controleer of uw knooppuntgroep FIPS is ingeschakeld met behulp van de opdracht az aks show en query naar de enableFIPS-waarde in agentPoolProfiles.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \
        -o table
    

    In de volgende voorbeelduitvoer ziet u dat de NP-knooppuntgroep IS ingeschakeld voor FIPS:

    Name       enableFips
    ---------  ------------
    np         True
    nodepool1  False  
    
  3. Vermeld de knooppunten met behulp van de kubectl get nodes opdracht.

    kubectl get nodes
    

    In de volgende voorbeelduitvoer ziet u een lijst met de knooppunten in het cluster. De knooppunten die beginnen met aks-np , maken deel uit van de knooppuntgroep waarvoor FIPS is ingeschakeld.

    NAME                                STATUS   ROLES   AGE     VERSION
    aks-np-12345678-vmss000000          Ready    agent   6m4s    v1.19.9
    aks-np-12345678-vmss000001          Ready    agent   5m21s   v1.19.9
    aks-np-12345678-vmss000002          Ready    agent   6m8s    v1.19.9
    aks-nodepool1-12345678-vmss000000   Ready    agent   34m     v1.19.9
    
  4. Voer een implementatie uit met een interactieve sessie op een van de knooppunten in de knooppuntgroep met FIPS-functionaliteit met behulp van de kubectl debug opdracht.

    kubectl debug node/aks-np-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
    
  5. Controleer in de uitvoer van de interactieve sessie of de cryptografische FIPS-bibliotheken zijn ingeschakeld. De uitvoer moet er ongeveer uitzien als in de volgende voorbeelduitvoer:

    root@aks-np-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled
    1
    

    FIPS-knooppuntgroepen hebben ook een kubernetes.azure.com/fips_enabled=true label, die implementaties kunnen gebruiken om deze knooppuntgroepen te richten.

FIPS uitschakelen voor een bestaande knooppuntgroep

Bestaande Linux-knooppuntgroepen kunnen worden bijgewerkt om FIPS uit te schakelen. Wanneer u een bestaande knooppuntgroep bijwerkt, wordt de afbeeldingsversie van het knooppunt gewijzigd van de huidige FIPS-versie naar de aanbevolen niet-FIPS-versie van hetzelfde besturingssysteem-SKU. De wijziging van de knooppuntinstallatiekopie vindt plaats na een nieuwe installatiekopie.

  1. Werk een Linux-knooppuntgroep bij met behulp van de opdracht az aks nodepool update met de --disable-fips-image parameter.

    az aks nodepool update \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name np \
        --disable-fips-image
    

    Met deze opdracht wordt onmiddellijk een herinstallatie van de knooppuntpool geactiveerd om het FIPS-compatibele besturingssysteem te implementeren. Deze installatiekopie vindt plaats tijdens de update van de knooppuntgroep. Er zijn geen extra stappen vereist.

  2. Controleer of uw knooppuntgroep niet FIPS-ingeschakeld is met behulp van de opdracht az aks show en de waarde van enableFIPS opvragen in agentPoolProfiles.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \
        -o table
    

    In de volgende voorbeelduitvoer ziet u dat de NP-knooppuntgroep niet is ingeschakeld voor FIPS:

    Name       enableFips
    ---------  ------------
    np         False
    nodepool1  False  
    

Bericht van de dag

Geef de --message-of-the-day vlag door met de locatie van het bestand om het bericht van de dag op Linux-knooppunten te vervangen bij het maken van een cluster of het maken van een knooppuntgroep.

Maak een cluster met een bericht van de dag met behulp van de opdracht az aks create .

az aks create --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt

Voeg een knooppuntgroep toe met een bericht van de dag met behulp van de opdracht az aks nodepool add .

az aks nodepool add --name mynodepool1 --cluster-name myAKSCluster --resource-group myResourceGroup --message-of-the-day ./newMOTD.txt

Volgende stappen

Zie Best practices voor clusterbeveiliging en upgrades in Azure Kubernetes Service (AKS) voor meer informatie over AKS-beveiliging.