Włączanie standardu FIPS (Federal Information Process Standard) dla pul węzłów usługi 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 technologii informatycznych. Usługa Azure Kubernetes Service (AKS) umożliwia tworzenie pul węzłów systemu Linux i Windows z włączonym programem FIPS 140-2. Wdrożenia działające w pulach węzłów z obsługą standardu FIPS mogą używać tych modułów kryptograficznych do zapewnienia zwiększonych zabezpieczeń i ułatwienia spełnienia wymagań mechanizmów kontroli zabezpieczeń 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.
Uwaga
Dodatek monitorowania usługi AKS obsługuje pule węzłów z obsługą standardu FIPS z systemami Ubuntu, Azure Linux i Windows, począwszy od agenta w wersji 3.1.17 (Linux) i Win-3.1.17 (Windows).
Ograniczenia
- Pule węzłów z obsługą protokołu FIPS mają następujące ograniczenia:
- Pule węzłów z obsługą protokołu FIPS wymagają platformy Kubernetes w wersji 1.19 lub nowszej.
- Aby zaktualizować bazowe pakiety lub moduły używane dla programu 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.
- Instalowanie udziału CIFS kończy się niepowodzeniem, ponieważ program FIPS wyłącza niektóre moduły uwierzytelniania. Aby obejść ten problem, zobacz Błędy podczas instalowania udziału plików w puli węzłów z obsługą protokołu FIPS.
Ważne
Obraz systemu Linux z obsługą standardu FIPS jest innym obrazem niż domyślny obraz systemu Linux używany dla pul węzłów opartych na systemie Linux. Aby włączyć program FIPS w puli węzłów, należy utworzyć nową pulę węzłów opartą na systemie Linux. Nie można włączyć protokołu FIPS w istniejących pulach węzłów.
Obrazy węzłów z obsługą protokołu 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 w trybie FIPS.
Tworzenie puli węzłów systemu Linux z obsługą protokołu FIPS
Utwórz pulę węzłów systemu Linux z obsługą protokołu FIPS przy użyciu
az aks nodepool add
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ć protokół 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 FIPS przy użyciu polecenia i wykonaj zapytanie dotyczące wartości enableFIPS w elemecie
az aks show
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
W poniższych przykładowych danych wyjściowych przedstawiono 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ą
kubectl debug
protokołu FIPS przy użyciu 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ą protokołu FIPS mają również etykietę kubernetes.azure.com/fips_enabled=true , której wdrożenia mogą używać do określania lokalizacji docelowej tych pul węzłów.
Tworzenie puli węzłów systemu Windows z obsługą protokołu FIPS
Utwórz pulę węzłów z obsługą protokołu FIPS przy użyciu
az aks nodepool add
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 FIPS przy użyciu polecenia i wykonaj zapytanie dotyczące wartości enableFIPS w elemecie
az aks show
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 obsługą protokołu FIPS i sprawdzając rejestr. W obszarze Uruchom aplikację wprowadź wartość
regedit
.HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
Wyszukaj w rejestrze.Jeśli
Enabled
ustawiono wartość 1, zostanie włączona funkcja FIPS.
Pule węzłów z obsługą protokołu FIPS mają również etykietę kubernetes.azure.com/fips_enabled=true , której wdrożenia mogą używać do określania lokalizacji docelowej 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).