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.

Vereisten

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:

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 bieden echter ondersteuning voor knooppuntpools met FIPS-functionaliteit. Nadat een nieuwe versie van het besturingssysteem is uitgebracht, is er doorgaans een wachttijd voordat deze compatibel is met FIPS.

De onderstaande 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 FIPS enabled Ubuntu, als de standaardVersie van Ubuntu geen ondersteuning biedt voor FIPS, wordt AKS standaard ingesteld 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-knooppuntpools.

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 az aks nodepool add opdracht 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 bij het az aks create maken van een cluster 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 az aks show opdracht 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 az aks nodepool add opdracht 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 az aks show opdracht 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-knooppuntgroep bijwerkt om FIPS in of uit te schakelen, wordt de update van de knooppuntgroep verplaatst tussen de fips- en niet-fips-installatiekopie. Met deze update van de knooppuntgroep wordt een nieuwe installatiekopie geactiveerd 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][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 de bovenstaande opdracht wordt onmiddellijk een nieuwe installatiekopie van de knooppuntgroep geactiveerd om het fips-compatibele besturingssysteem te implementeren. Deze installatiekopie vindt plaats tijdens de update van de knooppuntgroep. Er zijn geen extra stappen nodig.

  1. Controleer of uw knooppuntgroep is ingeschakeld voor FIPS met behulp van de az aks show opdracht 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 NP-knooppuntgroep IS ingeschakeld voor FIPS:

    Name       enableFips
    ---------  ------------
    np         True
    nodepool1  False  
    
  2. 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
    
  3. 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
    
  4. 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, verandert de knooppuntinstallatiekopie van de huidige FIPS-installatiekopie in de aanbevolen niet-FIPS-installatiekopie van dezelfde SKU van het besturingssysteem. 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][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 de bovenstaande opdracht wordt onmiddellijk een nieuwe installatiekopie van de knooppuntgroep geactiveerd om het fips-compatibele besturingssysteem te implementeren. Deze installatiekopie vindt plaats tijdens de update van de knooppuntgroep. Er zijn geen extra stappen nodig.

  1. Controleer of uw knooppuntgroep niet is ingeschakeld voor FIPS met behulp van de az aks show opdracht 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 np-knooppuntgroep niet is ingeschakeld voor FIPS:

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

Volgende stappen

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