Mengaktifkan Federal Information Process Standard (FIPS) untuk kumpulan node Azure Kubernetes Service (AKS)
Federal Information Processing Standard (FIPS) 140-2 adalah standar pemerintah AS yang mendefinisikan persyaratan keamanan minimum untuk modul kriptografi dalam produk dan sistem teknologi informasi. Azure Kubernetes Service (AKS) memungkinkan Anda membuat kumpulan node Linux dan Windows dengan FIPS 140-2 diaktifkan. Penyebaran yang berjalan pada kumpulan simpul yang mendukung FIPS dapat menggunakan modul kriptografi tersebut untuk memberikan peningkatan keamanan dan membantu memenuhi kontrol keamanan sebagai bagian dari kepatuhan FedRAMP. Untuk informasi selengkapnya tentang FIPS 140-2, lihat Federal Information Process Standard (FIPS) 140.
- Azure CLI versi 2.32.0 atau yang lebih baru diinstal dan dikonfigurasi. Jalankan
az --version
untuk mencari tahu versinya. Untuk informasi selengkapnya tentang menginstal atau meningkatkan Azure CLI, lihat Menginstal Azure CLI.
Catatan
Addon Pemantauan AKS mendukung kumpulan simpul berkemampuan FIPS dengan Ubuntu, Azure Linux, dan Windows dimulai dengan Agen versi 3.1.17 (Linux) dan Win-3.1.17 (Windows).
- Kumpulan simpul berkemampuan FIPS memiliki batasan berikut:
- Kumpulan simpul yang diaktifkan FIPS memerlukan Kubernetes versi 1.19 dan yang lebih besar.
- Untuk memperbarui paket atau modul yang mendasari yang digunakan untuk FIPS, Anda harus menggunakan Node Image Upgrade.
- Gambar kontainer pada node FIPS belum dinilai untuk kepatuhan FIPS.
- Pemasangan berbagi CIFS gagal karena FIPS menonaktifkan beberapa modul autentikasi. Untuk mengatasi masalah ini, lihat Kesalahan saat memasang berbagi file pada kumpulan simpul berkemampuan FIPS.
Penting
Gambar Linux yang diaktifkan FIPS adalah gambar yang berbeda dari gambar Linux default yang digunakan untuk kumpulan simpul berbasis Linux.
Gambar simpul berkemampuan FIPS mungkin memiliki nomor versi yang berbeda, seperti versi kernel, daripada gambar yang tidak diaktifkan FIPS. Siklus pembaruan untuk kumpulan simpul dan gambar simpul yang diaktifkan FIPS mungkin berbeda dari kumpulan simpul dan gambar yang tidak diaktifkan FIPS.
Anda dapat membuat kumpulan simpul berkemampuan FIPS pada semua jenis OS yang didukung, Linux dan Windows. Namun, tidak semua versi OS mendukung nodepool yang diaktifkan FIPS. Setelah versi OS baru dirilis, biasanya ada periode tunggu sebelum mematuhi FIPS.
Tabel di bawah ini mencakup versi OS yang didukung:
Jenis OS | OS SKU | Kepatuhan FIPS |
---|---|---|
Linux | Ubuntu | Didukung |
Linux | Azure Linux | Didukung |
Windows | Server Windows 2019 | Didukung |
Windows | Windows Server 2022 | Didukung |
Saat meminta Ubuntu yang diaktifkan FIPS, jika versi Ubuntu default tidak mendukung FIPS, AKS akan default ke versi Ubuntu yang didukung FIPS terbaru. Misalnya, Ubuntu 22.04 adalah default untuk kumpulan simpul Linux. Karena 22.04 saat ini tidak mendukung FIPS, AKS default ke Ubuntu 20.04 untuk nodepool berkemampuan LINUX FIPS.
Catatan
Sebelumnya, Anda dapat menggunakan GetOSOptions API untuk menentukan apakah OS tertentu didukung FIPS. GetOSOptions API sekarang tidak digunakan lagi dan tidak akan lagi disertakan dalam versi API AKS baru yang dimulai dengan 2024-05-01.
Buat kumpulan simpul Linux berkemampuan FIPS menggunakan
az aks nodepool add
perintah dengan--enable-fips-image
parameter .az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image
Catatan
Anda juga dapat menggunakan
--enable-fips-image
parameter denganaz aks create
perintah saat membuat kluster untuk mengaktifkan FIPS pada kumpulan simpul default. Saat menambahkan kumpulan simpul ke kluster yang dibuat dengan cara ini, Anda masih harus menggunakan--enable-fips-image
parameter saat menambahkan kumpulan simpul untuk membuat kumpulan simpul yang diaktifkan FIPS.Verifikasi bahwa kumpulan simpul Anda diaktifkan FIPS menggunakan
az aks show
perintah dan kueri untuk nilai enableFIPS di agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Contoh output berikut menunjukkan kumpulan simpul fipsnp diaktifkan FIPS:
Name enableFips --------- ------------ fipsnp True nodepool1 False
Cantumkan simpul menggunakan
kubectl get nodes
perintah .kubectl get nodes
Contoh output berikut menunjukkan daftar simpul dalam kluster. Simpul yang dimulai adalah
aks-fipsnp
bagian dari kumpulan simpul yang diaktifkan 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
Jalankan penyebaran dengan sesi interaktif pada salah satu simpul di kumpulan simpul berkemampuan FIPS menggunakan
kubectl debug
perintah .kubectl debug node/aks-fipsnp-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
Dari output sesi interaktif, verifikasi pustaka kriptografi FIPS diaktifkan. Output Anda akan terlihat mirip dengan contoh output berikut:
root@aks-fipsnp-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
Kumpulan simpul berkemampuan FIPS juga memiliki label kubernetes.azure.com/fips_enabled=true , yang dapat digunakan penyebaran untuk menargetkan kumpulan simpul tersebut.
Buat kumpulan simpul Windows berkemampuan FIPS menggunakan
az aks nodepool add
perintah dengan--enable-fips-image
parameter . Tidak seperti kumpulan node berbasis Linux, kumpulan node Windows memiliki set gambar yang sama.az aks nodepool add \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name fipsnp \ --enable-fips-image \ --os-type Windows
Verifikasi bahwa kumpulan simpul Anda diaktifkan FIPS menggunakan
az aks show
perintah dan kueri untuk nilai enableFIPS di agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Verifikasi bahwa kumpulan simpul Windows memiliki akses ke pustaka kriptografi FIPS dengan membuat koneksi RDP ke simpul Windows di kumpulan simpul berkemampuan FIPS dan memeriksa registri. Dari Jalankan aplikasi, masukkan
regedit
.Cari
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy
di registri.Jika
Enabled
diatur ke 1, maka FIPS diaktifkan.
Kumpulan simpul berkemampuan FIPS juga memiliki label kubernetes.azure.com/fips_enabled=true , yang dapat digunakan penyebaran untuk menargetkan kumpulan simpul tersebut.
Kumpulan simpul Linux yang ada dapat diperbarui untuk mengaktifkan atau menonaktifkan FIPS. Jika Anda berencana untuk memigrasikan kumpulan simpul Anda dari non-FIPS ke FIPS, pertama-tama validasi bahwa aplikasi Anda berfungsi dengan baik di lingkungan pengujian sebelum memigrasikannya ke lingkungan produksi. Memvalidasi aplikasi Anda di lingkungan pengujian harus mencegah masalah yang disebabkan oleh kernel FIPS yang memblokir beberapa cipher atau algoritma enkripsi yang lemah, seperti algoritma MD4 yang tidak sesuai FIPS.
Catatan
Saat memperbarui kumpulan simpul Linux yang ada untuk mengaktifkan atau menonaktifkan FIPS, pembaruan kumpulan simpul akan berpindah antara gambar fips dan non-fips. Pembaruan kumpulan simpul ini akan memicu reimage untuk menyelesaikan pembaruan. Ini dapat menyebabkan pembaruan kumpulan simpul membutuhkan waktu beberapa menit untuk diselesaikan.
- Azure CLI versi 2.64.0 atau yang lebih baru. Jalankan
az --version
untuk mencari tahu versinya. Jika Anda perlu memasang atau meningkatkan, lihat Memasang Azure CLI.
Kumpulan simpul Linux yang ada dapat diperbarui untuk mengaktifkan FIPS. Ketika Anda memperbarui kumpulan simpul yang ada, gambar simpul akan berubah dari gambar saat ini ke gambar FIPS yang direkomendasikan dari SKU OS yang sama.
Perbarui kumpulan simpul menggunakan perintah [
az aks nodepool update
][az-aks-nodepool-update] dengan--enable-fips-image
parameter .az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --enable-fips-image
Perintah di atas memicu gambaran ulang kumpulan simpul segera untuk menyebarkan Sistem Operasi yang mematuhi FIPS. Reimage ini terjadi selama pembaruan kumpulan simpul. Tidak ada langkat tambahan yang dibutuhkan.
Verifikasi bahwa kumpulan simpul Anda diaktifkan FIPS menggunakan
az aks show
perintah dan kueri untuk nilai enableFIPS di agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Contoh output berikut menunjukkan bahwa kumpulan simpul np diaktifkan FIPS:
Name enableFips --------- ------------ np True nodepool1 False
Cantumkan simpul menggunakan
kubectl get nodes
perintah .kubectl get nodes
Contoh output berikut menunjukkan daftar simpul dalam kluster. Simpul yang dimulai adalah
aks-np
bagian dari kumpulan simpul yang diaktifkan FIPS.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
Jalankan penyebaran dengan sesi interaktif pada salah satu simpul di kumpulan simpul berkemampuan FIPS menggunakan
kubectl debug
perintah .kubectl debug node/aks-np-12345678-vmss000000 -it --image=mcr.microsoft.com/dotnet/runtime-deps:6.0
Dari output sesi interaktif, verifikasi pustaka kriptografi FIPS diaktifkan. Output Anda akan terlihat mirip dengan contoh output berikut:
root@aks-np-12345678-vmss000000:/# cat /proc/sys/crypto/fips_enabled 1
Kumpulan simpul berkemampuan FIPS juga memiliki label kubernetes.azure.com/fips_enabled=true , yang dapat digunakan penyebaran untuk menargetkan kumpulan simpul tersebut.
Kumpulan simpul Linux yang ada dapat diperbarui untuk menonaktifkan FIPS. Saat memperbarui kumpulan simpul yang ada, gambar simpul akan berubah dari gambar FIPS saat ini ke gambar non-FIPS yang direkomendasikan dari SKU OS yang sama. Perubahan gambar simpul akan terjadi setelah penirian ulang.
Perbarui kumpulan simpul Linux menggunakan perintah [
az aks nodepool update
][az-aks-nodepool-update] dengan--disable-fips-image
parameter .az aks nodepool update \ --resource-group myResourceGroup \ --cluster-name myAKSCluster \ --name np \ --disable-fips-image
Perintah di atas memicu gambaran ulang kumpulan simpul segera untuk menyebarkan Sistem Operasi yang mematuhi FIPS. Reimage ini terjadi selama pembaruan kumpulan simpul. Tidak ada langkat tambahan yang dibutuhkan.
Verifikasi bahwa kumpulan simpul Anda tidak diaktifkan FIPS menggunakan
az aks show
perintah dan kueri untuk nilai enableFIPS di agentPoolProfiles.az aks show \ --resource-group myResourceGroup \ --name myAKSCluster \ --query="agentPoolProfiles[].{Name:name enableFips:enableFips}" \ -o table
Contoh output berikut menunjukkan bahwa kumpulan simpul np tidak diaktifkan FIPS:
Name enableFips --------- ------------ np False nodepool1 False
Untuk mempelajari lebih lanjut tentang keamanan AKS, lihat Praktik terbaik untuk keamanan kluster dan peningkatan di Azure Kubernetes Service (AKS).
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: