Azure Kubernetes Service (AKS) düğüm havuzları için Federal Bilgi İşlem Standardı'nı (FIPS) etkinleştirme
Federal Bilgi İşleme Standardı (FIPS) 140-2, bilgi teknolojisi ürünleri ve sistemlerindeki şifreleme modülleri için minimum güvenlik gereksinimlerini tanımlayan bir ABD kamu standardıdır. Azure Kubernetes Service (AKS), FIPS 140-2 etkin linux ve Windows düğüm havuzları oluşturmanıza olanak tanır. FIPS özellikli düğüm havuzlarında çalışan dağıtımlar, daha fazla güvenlik sağlamak ve FedRAMP uyumluluğunun bir parçası olarak güvenlik denetimlerinin karşılanmasına yardımcı olmak için bu şifreleme modüllerini kullanabilir. FIPS 140-2 hakkında daha fazla bilgi için bkz . Federal Bilgi İşleme Standardı (FIPS) 140.
Önkoşullar
- Azure CLI sürüm 2.32.0 veya üzeri yüklü ve yapılandırılmış. Sürümü bulmak için
az --version
komutunu çalıştırın. Azure CLI'yı yükleme veya yükseltme hakkında daha fazla bilgi için bkz . Azure CLI'yi yükleme.
Not
AKS İzleme Eklentisi, Aracı sürüm 3.1.17 (Linux) ve Win-3.1.17 (Windows) ile başlayan Ubuntu, Azure Linux ve Windows ile FIPS özellikli düğüm havuzlarını destekler.
Sınırlamalar
- FIPS özellikli düğüm havuzları aşağıdaki sınırlamalara sahiptir:
- FIPS özellikli düğüm havuzları Için Kubernetes sürüm 1.19 ve üzeri gerekir.
- FIPS için kullanılan temel paketleri veya modülleri güncelleştirmek için Düğüm Görüntüsü Yükseltme'yi kullanmanız gerekir.
- FIPS düğümleri üzerindeki kapsayıcı görüntüleri FIPS uyumluluğu için değerlendirilmedi.
- FIPS bazı kimlik doğrulama modüllerini devre dışı bırakdığından CIFS paylaşımını bağlama işlemi başarısız oluyor. Bu sorunu geçici olarak çözmek için bkz . FIPS özellikli düğüm havuzuna dosya paylaşımı bağlanırken oluşan hatalar.
Önemli
FIPS özellikli Linux görüntüsü, Linux tabanlı düğüm havuzları için kullanılan varsayılan Linux görüntüsünden farklı bir görüntüdür.
FIPS özellikli düğüm görüntüleri, çekirdek sürümü gibi FIPS etkin olmayan görüntülerden farklı sürüm numaralarına sahip olabilir. FIPS özellikli düğüm havuzları ve düğüm görüntüleri için güncelleştirme döngüsü, FIPS etkin olmayan düğüm havuzlarından ve görüntülerden farklı olabilir.
Desteklenen İşletim Sistemi Sürümleri
Linux ve Windows gibi desteklenen tüm işletim sistemi türlerinde FIPS özellikli düğüm havuzları oluşturabilirsiniz. Ancak, tüm işletim sistemi sürümleri FIPS özellikli düğüm havuzlarını desteklemez. Yeni bir işletim sistemi sürümü yayımlandıktan sonra genellikle FIPS uyumlu olmadan önce bir bekleme süresi olur.
Aşağıdaki tabloda desteklenen işletim sistemi sürümleri yer almaktadır:
İşletim Sistemi Türü | İşletim Sistemi SKU'su | FIPS Uyumluluğu |
---|---|---|
Linux | Ubuntu | Desteklenir |
Linux | Azure Linux | Desteklenir |
Windows | Windows Server 2019 | Desteklenir |
Windows | Windows Server 2022 | Desteklenir |
FIPS etkin Ubuntu istenirken, varsayılan Ubuntu sürümü FIPS'yi desteklemiyorsa, AKS varsayılan olarak Ubuntu'nun en son FIPS tarafından desteklenen sürümüne sahip olur. Örneğin, Linux düğüm havuzları için Ubuntu 22.04 varsayılandır. 22.04 şu anda FIPS'yi desteklemediğinden AKS, Linux FIPS özellikli düğüm havuzları için varsayılan olarak Ubuntu 20.04 olarak ayarlanmıştır.
Not
Daha önce, belirli bir işletim sisteminin FIPS'yi destekleyip desteklemediğini belirlemek için GetOSOptions API'sini kullanabilirsiniz. GetOSOptions API'leri artık kullanım dışıdır ve artık 2024-05-01 sürümünden itibaren yeni AKS API sürümlerine dahil edilmeyecektir.
FIPS özellikli Linux düğüm havuzu oluşturma
parametresiyle
--enable-fips-image
komutunu kullanarakaz aks nodepool add
FIPS özellikli bir Linux düğüm havuzu oluşturun.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image
Not
Varsayılan düğüm havuzunda FIPS'yi etkinleştirmek için küme oluştururken parametresini komutuyla
az aks create
da kullanabilirsiniz--enable-fips-image
. Bu şekilde oluşturulan bir kümeye düğüm havuzları eklerken, FIPS özellikli bir düğüm havuzu oluşturmak için düğüm havuzları eklerken parametresini kullanmanız--enable-fips-image
gerekir.agentPoolProfiles içindeki enableFIPS değerinin
az aks show
komutunu ve sorgusunu kullanarak düğüm havuzunuzun FIPS etkin olduğunu doğrulayın.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Aşağıdaki örnek çıktı fipsnp düğüm havuzunun FIPS etkin olduğunu gösterir:
Name enableFips --------- ------------ fipsnp True nodepool1 False
komutunu kullanarak düğümleri listeleyin
kubectl get nodes
.kubectl get nodes
Aşağıdaki örnek çıktı, kümedeki düğümlerin listesini gösterir. ile
aks-fipsnp
başlayan düğümler, FIPS özellikli düğüm havuzunun bir parçasıdır.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
komutunu kullanarak
kubectl debug
FIPS özellikli düğüm havuzundaki düğümlerden birinde etkileşimli bir oturumla bir dağıtım çalıştırın.kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
Etkileşimli oturum çıkışından FIPS şifreleme kitaplıklarının etkinleştirildiğini doğrulayın. Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
FIPS özellikli düğüm havuzları, dağıtımların bu düğüm havuzlarını hedeflemek için kullanabileceği bir kubernetes.azure.com/fips_enabled=true etiketine de sahiptir.
FIPS özellikli bir Windows düğüm havuzu oluşturma
parametresiyle
--enable-fips-image
komutunu kullanarakaz aks nodepool add
FIPS özellikli bir Windows düğüm havuzu oluşturun. Linux tabanlı düğüm havuzlarının aksine, Windows düğüm havuzları aynı görüntü kümesini paylaşır.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type Windows
agentPoolProfiles içindeki enableFIPS değerinin
az aks show
komutunu ve sorgusunu kullanarak düğüm havuzunuzun FIPS etkin olduğunu doğrulayın.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
FiPS etkin düğüm havuzundaki bir Windows düğümüne RDP bağlantısı oluşturarak Windows düğüm havuzlarının FIPS şifreleme kitaplıklarına erişimi olduğunu doğrulayın ve kayıt defterini denetleyin. Çalıştır uygulamasında girin
regedit
.Kayıt defterinde arayın
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
.1 olarak ayarlanırsa
Enabled
FIPS etkinleştirilir.
FIPS özellikli düğüm havuzları, dağıtımların bu düğüm havuzlarını hedeflemek için kullanabileceği bir kubernetes.azure.com/fips_enabled=true etiketine de sahiptir.
FIPS'yi etkinleştirmek veya devre dışı bırakmak için mevcut düğüm havuzunu güncelleştirme
Mevcut Linux düğüm havuzları FIPS'yi etkinleştirmek veya devre dışı bırakmak için güncelleştirilebilir. Düğüm havuzlarınızı FIPS olmayan bir ortamdan FIPS'ye geçirmeyi planlıyorsanız, üretim ortamına geçirmeden önce uygulamanızın bir test ortamında düzgün çalıştığını doğrulayın. Uygulamanızı bir test ortamında doğrulamak, FIPS çekirdeğinin FIPS uyumlu olmayan bir MD4 algoritması gibi bazı zayıf şifreleme veya şifreleme algoritmalarını engellemesinin neden olduğu sorunları önlemelidir.
Not
FIPS'yi etkinleştirmek veya devre dışı bırakmak için mevcut bir Linux düğüm havuzunu güncelleştirirken düğüm havuzu güncelleştirmesi fips ile fips olmayan görüntü arasında hareket eder. Bu düğüm havuzu güncelleştirmesi, güncelleştirmeyi tamamlamak için bir yeniden tahmin tetikler. Bu, düğüm havuzu güncelleştirmesinin tamamlanmasının birkaç dakika sürmesine neden olabilir.
Önkoşullar
- Azure CLI sürüm 2.64.0 veya üzeri. Sürümü bulmak için
az --version
komutunu çalıştırın. Yüklemeniz veya yükseltmeniz gerekirse, bkz. Azure CLI yükleme.
Mevcut düğüm havuzunda FIPS'yi etkinleştirme
FiPS'yi etkinleştirmek için mevcut Linux düğüm havuzları güncelleştirilebilir. Mevcut bir düğüm havuzunu güncelleştirdiğinizde, düğüm görüntüsü geçerli görüntüden aynı işletim sistemi SKU'sunun önerilen FIPS görüntüsüne dönüşür.
[
az aks nodepool update
][az-aks-nodepool-update] komutunu parametresiyle kullanarak düğüm havuzunu güncelleştirin--enable-fips-image
.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-image
Yukarıdaki komut, FIPS uyumlu İşletim Sistemini dağıtmak için düğüm havuzunun yeniden görüntüsünü hemen tetikler. Bu yeniden oluşturma, düğüm havuzu güncelleştirmesi sırasında gerçekleşir. Ek adım gerekmez.
agentPoolProfiles içindeki enableFIPS değerinin
az aks show
komutunu ve sorgusunu kullanarak düğüm havuzunuzun FIPS etkin olduğunu doğrulayın.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Aşağıdaki örnek çıktı, np düğüm havuzunun FIPS etkin olduğunu gösterir:
Name enableFips --------- ------------ np True nodepool1 False
komutunu kullanarak düğümleri listeleyin
kubectl get nodes
.kubectl get nodes
Aşağıdaki örnek çıktı, kümedeki düğümlerin listesini gösterir. ile
aks-np
başlayan düğümler, FIPS özellikli düğüm havuzunun bir parçasıdır.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
komutunu kullanarak
kubectl debug
FIPS özellikli düğüm havuzundaki düğümlerden birinde etkileşimli bir oturumla bir dağıtım çalıştırın.kubectl debug node/aks-np-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
Etkileşimli oturum çıkışından FIPS şifreleme kitaplıklarının etkinleştirildiğini doğrulayın. Çıkışınız aşağıdaki örnek çıkışa benzer olmalıdır:
root@aks-np-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
FIPS özellikli düğüm havuzları, dağıtımların bu düğüm havuzlarını hedeflemek için kullanabileceği bir kubernetes.azure.com/fips_enabled=true etiketine de sahiptir.
Mevcut düğüm havuzunda FIPS'yi devre dışı bırakma
Mevcut Linux düğüm havuzları FIPS'yi devre dışı bırakmak için güncelleştirilebilir. Mevcut bir düğüm havuzunu güncelleştirirken, düğüm görüntüsü geçerli FIPS görüntüsünden aynı işletim sistemi SKU'sunun önerilen FIPS olmayan görüntüsüne dönüşür. Düğüm görüntüsü değişikliği yeniden görüntüden sonra gerçekleşir.
[
az aks nodepool update
][az-aks-nodepool-update] komutunu kullanarak bir Linux düğüm havuzunu parametresiyle güncelleştirin--disable-fips-image
.az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --disable-fips-image
Yukarıdaki komut, FIPS uyumlu İşletim Sistemini dağıtmak için düğüm havuzunun yeniden görüntüsünü hemen tetikler. Bu yeniden oluşturma, düğüm havuzu güncelleştirmesi sırasında gerçekleşir. Ek adım gerekmez.
agentPoolProfiles içindeki enableFIPS değerinin
az aks show
komutunu ve sorgusunu kullanarak düğüm havuzunuzun FIPS etkin olmadığını doğrulayın.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Aşağıdaki örnek çıktı, np düğüm havuzunun FIPS etkin olmadığını gösterir:
Name enableFips --------- ------------ np False nodepool1 False
Sonraki adımlar
AKS güvenliği hakkında daha fazla bilgi edinmek için bkz . Azure Kubernetes Service'te (AKS) küme güvenliği ve yükseltmeleri için en iyi yöntemler.
Azure Kubernetes Service