Povolení standardu FIPS (Federal Information Process Standard) pro fondy uzlů Azure Kubernetes Service (AKS)

Federální standard pro zpracování informací (FIPS) 140-2 je bezpečnostní standard vlády USA, který definuje minimální bezpečnostní požadavky na kryptografické moduly v produktech a systémech informačních technologií. Azure Kubernetes Service (AKS) umožňuje vytvářet fondy uzlů s Linuxem a Windows s povoleným rozhraním FIPS 140-2. Nasazení běžící na fondech uzlů s podporou FIPS mohou tyto kryptografické moduly používat k zajištění vyššího zabezpečení a pomáhají tak splnit bezpečnostní kontroly v rámci dodržování předpisů FedRAMP. Další informace o FIPS 140-2 naleznete v tématu Federal Information Processing Standard (FIPS) 140.

Požadavky

  • Azure CLI verze 2.32.0 nebo novější je nainstalovaná a nakonfigurovaná. Verzi zjistíte spuštěním příkazu az --version. Další informace o instalaci nebo upgradu Azure CLI najdete v tématu Instalace Azure CLI.

Poznámka:

Doplněk pro monitorování AKS podporuje fondy uzlů s podporou FIPS s Ubuntu, Azure Linuxem a Windows počínaje agentem verze 3.1.17 (Linux) a Win-3.1.17 (Windows).

Omezení

  • Fondy uzlů s podporou FIPS mají následující omezení:
    • Fondy uzlů s podporou FIPS vyžadují Kubernetes verze 1.19 a vyšší.
    • Pokud chcete aktualizovat základní balíčky nebo moduly používané pro FIPS, musíte použít upgrade image uzlu.
    • Image kontejnerů na uzlech FIPS se neposoužily kvůli dodržování předpisů FIPS.
    • Připojení sdílené složky CIFS selže, protože FIPS zakáže některé ověřovací moduly. Chcete-li tento problém vyřešit, podívejte se na chyby při připojování sdílené složky ve fondu uzlů s podporou FIPS.

Důležité

Image Linuxu s podporou FIPS je jiná image než výchozí linuxová image používaná pro fondy uzlů založených na Linuxu. Pokud chcete povolit FIPS ve fondu uzlů, musíte vytvořit nový fond uzlů založený na Linuxu. FiPS není možné povolit u existujících fondů uzlů.

Image uzlů s podporou FIPS můžou mít různá čísla verzí, jako je verze jádra, než image, které nejsou povolené pomocí FIPS. Cyklus aktualizace pro fondy uzlů s podporou FIPS a imagí uzlů se může lišit od fondů uzlů a imagí, které nejsou povolené pomocí FIPS.

Vytvoření fondu uzlů s podporou FIPS pro Linux

  1. Vytvořte fond uzlů s podporou FIPS s Linuxem az aks nodepool add pomocí příkazu s parametrem --enable-fips-image .

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

    Poznámka:

    Parametr můžete také použít --enable-fips-image s příkazem az aks create při vytváření clusteru a povolit FIPS ve výchozím fondu uzlů. Při přidávání fondů uzlů do clusteru vytvořeného tímto způsobem musíte parametr použít --enable-fips-image při přidávání fondů uzlů k vytvoření fondu uzlů s podporou FIPS.

  2. Ověřte, že je fond uzlů povolený pomocí az aks show příkazu a pomocí dotazu na hodnotu enableFIPS v agentPoolProfiles.

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

    Následující příklad výstupu ukazuje, že fond uzlů fipsnp je povolený FIPS:

    Name       enableFips
    ---------  ------------
    fipsnp     True
    nodepool1  False  
    
  3. Vypíše uzly pomocí kubectl get nodes příkazu.

    kubectl get nodes
    

    Následující příklad výstupu ukazuje seznam uzlů v clusteru. Uzly začínající aks-fipsnp jsou součástí fondu uzlů s podporou FIPS.

    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. Pomocí příkazu spusťte nasazení s interaktivní relací na jednom z uzlů ve fondu kubectl debug uzlů s podporou FIPS.

    kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
    
  5. Ve výstupu interaktivní relace ověřte, že jsou povolené kryptografické knihovny FIPS. Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:

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

Fondy uzlů s podporou FIPS mají také kubernetes.azure.com/fips_enabled=true popisek, který nasazení můžou použít k cílení na tyto fondy uzlů.

Vytvoření fondu uzlů s podporou FIPS pro Windows

  1. Pomocí příkazu s parametrem az aks nodepool add--enable-fips-image vytvořte fond uzlů Windows s podporou FIPS. Na rozdíl od fondů uzlů založených na Linuxu sdílejí fondy uzlů Windows stejnou sadu imagí.

    az aks nodepool add \
        --resource-group myResourceGroup \
        --cluster-name myAKSCluster \
        --name fipsnp \
        --enable-fips-image \
        --os-type Windows
    
  2. Ověřte, že je fond uzlů povolený pomocí az aks show příkazu a pomocí dotazu na hodnotu enableFIPS v agentPoolProfiles.

    az aks show \
        --resource-group myResourceGroup \
        --name myAKSCluster \
        --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \
        -o table
    
  3. Ověřte, že fondy uzlů Windows mají přístup k kryptografickým knihovnám FIPS vytvořením připojení RDP k uzlu Windows ve fondu uzlů s podporou FIPS a zkontrolujte registr. Z aplikace Spustit zadejte regedit.

  4. HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy Vyhledejte v registru.

  5. Pokud Enabled je nastavená hodnota 1, je funkce FIPS povolená.

Screenshot shows a picture of the registry editor to the FIPS Algorithm Policy, and it being enabled.

Fondy uzlů s podporou FIPS mají také kubernetes.azure.com/fips_enabled=true popisek, který nasazení můžou použít k cílení na tyto fondy uzlů.

Další kroky

Další informace o zabezpečení AKS najdete v tématu Osvědčené postupy pro zabezpečení a upgrady clusteru ve službě Azure Kubernetes Service (AKS).