Baca dalam bahasa Inggris

Bagikan melalui


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.

Prasyarat

  • 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).

Batasan

  • 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.

Versi OS yang Didukung

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.

Membuat kumpulan node Linux berkemampuan FIPS

  1. 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 dengan az 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.

  2. 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  
    
  3. 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
    
  4. 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
    
  5. 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.

Membuat kumpulan node Windows berkemampuan FIPS

  1. 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
    
  2. 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
    
  3. 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.

  4. Cari HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FIPSAlgorithmPolicy di registri.

  5. Jika Enabled diatur ke 1, maka FIPS diaktifkan.

Cuplikan layar menunjukkan gambar editor registri ke Kebijakan Algoritma FIPS, dan sedang diaktifkan.

Kumpulan simpul berkemampuan FIPS juga memiliki label kubernetes.azure.com/fips_enabled=true , yang dapat digunakan penyebaran untuk menargetkan kumpulan simpul tersebut.

Memperbarui kumpulan simpul yang ada untuk mengaktifkan atau menonaktifkan FIPS

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.

Prasyarat

  • 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.

Aktifkan FIPS pada kumpulan simpul yang ada

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.

  1. 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.

  1. 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  
    
  2. 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
    
  3. 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
    
  4. 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.

Nonaktifkan FIPS pada kumpulan simpul yang ada

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.

  1. 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.

  1. 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  
    

Langkah berikutnya

Untuk mempelajari lebih lanjut tentang keamanan AKS, lihat Praktik terbaik untuk keamanan kluster dan peningkatan di Azure Kubernetes Service (AKS).