Włączanie standardu FIPS (Federal Information Process Standard) dla pul węzłów Azure Kubernetes Service (AKS)
Federal Information Processing Standard (FIPS) 140-2 to amerykański standard rządowy, który definiuje minimalne wymagania dotyczące zabezpieczeń modułów kryptograficznych w produktach i systemach informatycznych. Azure Kubernetes Service (AKS) umożliwia tworzenie pul węzłów systemów Linux i Windows z włączonym standardem FIPS 140-2. Wdrożenia uruchomione w pulach węzłów z obsługą standardu FIPS mogą używać tych modułów kryptograficznych w celu zapewnienia zwiększonego bezpieczeństwa i zapewnienia zgodności z zabezpieczeniami w ramach zgodności z protokołem FedRAMP. Aby uzyskać więcej informacji na temat standardu FIPS 140-2, zobacz Federal Information Processing Standard (FIPS) 140.
Wymagania wstępne
- Interfejs wiersza polecenia platformy Azure w wersji 2.32.0 lub nowszej został zainstalowany i skonfigurowany. Uruchom polecenie
az --version
, aby dowiedzieć się, jaka wersja jest używana. Aby uzyskać więcej informacji na temat instalowania lub uaktualniania interfejsu wiersza polecenia platformy Azure, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.
Ograniczenia
- Pule węzłów z obsługą standardu FIPS mają następujące ograniczenia:
- Pule węzłów z obsługą standardu FIPS wymagają platformy Kubernetes w wersji 1.19 lub nowszej.
- Aby zaktualizować bazowe pakiety lub moduły używane na potrzeby standardu FIPS, należy użyć uaktualnienia obrazu węzła.
- Obrazy kontenerów w węzłach FIPS nie zostały ocenione pod kątem zgodności ze standardem FIPS.
Ważne
Obraz systemu Linux z obsługą standardu FIPS jest innym obrazem niż domyślny obraz systemu Linux używany w pulach węzłów opartych na systemie Linux. Aby włączyć standard FIPS w puli węzłów, należy utworzyć nową pulę węzłów opartą na systemie Linux. Nie można włączyć standardu FIPS w istniejących pulach węzłów.
Obrazy węzłów z obsługą standardu FIPS mogą mieć różne numery wersji, takie jak wersja jądra, niż obrazy, które nie są włączone w trybie FIPS. Cykl aktualizacji pul węzłów z obsługą protokołu FIPS i obrazów węzłów może się różnić od pul węzłów i obrazów, które nie są włączone ze standardem FIPS.
Tworzenie puli węzłów systemu Linux z obsługą standardu FIPS
Utwórz pulę węzłów systemu Linux z obsługą standardu
az aks nodepool add
FIPS przy użyciu polecenia z parametrem--enable-fips-image
.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image
Uwaga
Możesz również użyć parametru
--enable-fips-image
z poleceniemaz aks create
podczas tworzenia klastra, aby włączyć standard FIPS w domyślnej puli węzłów. Podczas dodawania pul węzłów do klastra utworzonego w ten sposób nadal należy użyć parametru--enable-fips-image
podczas dodawania pul węzłów w celu utworzenia puli węzłów z obsługą protokołu FIPS.Sprawdź, czy pula węzłów jest włączona w trybie
az aks show
FIPS, używając polecenia i wykonaj zapytanie dotyczące wartości enableFIPS w elemecie agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Następujące przykładowe dane wyjściowe pokazują, że pula węzłów fipsnp jest włączona w trybie FIPS:
Name enableFips --------- ------------ fipsnp True nodepool1 False
Wyświetl listę węzłów przy użyciu
kubectl get nodes
polecenia .kubectl get nodes
Poniższe przykładowe dane wyjściowe pokazują listę węzłów w klastrze. Węzły rozpoczynające się od
aks-fipsnp
programu są częścią puli węzłów z obsługą protokołu 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
Uruchom wdrożenie z interakcyjną sesją na jednym z węzłów w puli węzłów z obsługą protokołu
kubectl debug
FIPS za pomocą polecenia .kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
Z danych wyjściowych sesji interakcyjnej sprawdź, czy biblioteki kryptograficzne FIPS są włączone. Dane wyjściowe powinny wyglądać podobnie do następujących przykładowych danych wyjściowych:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
Pule węzłów z obsługą standardu FIPS mają również etykietę kubernetes.azure.com/fips_enabled=true , której wdrożenia mogą użyć do kierowania tych pul węzłów.
Tworzenie puli węzłów systemu Windows z obsługą standardu FIPS
Utwórz pulę węzłów systemu Windows z obsługą standardu
az aks nodepool add
FIPS przy użyciu polecenia z parametrem--enable-fips-image
. W przeciwieństwie do pul węzłów opartych na systemie Linux pule węzłów systemu Windows współużytkuje ten sam zestaw obrazów.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type Windows
Sprawdź, czy pula węzłów jest włączona w trybie
az aks show
FIPS, używając polecenia i wykonaj zapytanie dotyczące wartości enableFIPS w elemecie agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Sprawdź, czy pule węzłów systemu Windows mają dostęp do bibliotek kryptograficznych FIPS, tworząc połączenie RDP z węzłem systemu Windows w puli węzłów z włączoną standardem FIPS i sprawdzając rejestr. W polu Uruchom aplikację wprowadź wartość
regedit
.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
Poszukaj w rejestrze.Jeśli
Enabled
ustawiono wartość 1, zostanie włączona funkcja FIPS.
Pule węzłów z obsługą standardu FIPS mają również etykietę kubernetes.azure.com/fips_enabled=true , której wdrożenia mogą użyć do kierowania tych pul węzłów.
Następne kroki
Aby dowiedzieć się więcej na temat zabezpieczeń usługi AKS, zobacz Najlepsze rozwiązania dotyczące zabezpieczeń i uaktualnień klastra w usłudze Azure Kubernetes Service (AKS).