Menggunakan Node GKE yang Terlindungi


Halaman ini menunjukkan cara menggunakan fitur Node GKE yang Terlindungi. Node GKE yang Terlindungi memberikan integritas dan identitas node yang kuat serta dapat diverifikasi untuk meningkatkan keamanan node Google Kubernetes Engine (GKE).

Untuk cluster GKE Autopilot, fitur Node GKE yang Terlindungi diaktifkan secara default dan tidak dapat diganti. Untuk cluster GKE Standard, fitur Shielded GKE Node diaktifkan secara default, tetapi dapat diganti.

Tentang Node GKE yang Terlindungi

Node GKE yang Terlindungi dibangun di atas Shielded VM Compute Engine. Tanpa Node GKE yang Terlindungi, penyerang dapat mengeksploitasi kerentanan dalam Pod untuk mengekstrak kredensial bootstrap dan meniru identitas node di cluster Anda, sehingga penyerang dapat mengakses secret cluster. Saat Node GKE yang Terlindungi diaktifkan, panel kontrol GKE secara kriptografis akan memverifikasi bahwa:

  • Setiap node di cluster Anda adalah virtual machine yang berjalan di pusat data Google.
  • Setiap node adalah bagian dari Grup Instance Terkelola (MIG) yang disediakan untuk cluster.
  • Kubelet diberi sertifikat untuk node tempat kubelet dijalankan.

Hal ini membatasi kemampuan penyerang untuk meniru identitas node dalam cluster Anda meskipun penyerang dapat mengekstrak kredensial bootstrap node tersebut.

Node bidang kontrol cluster GKE selalu menggunakan Node GKE yang Terlindungi, meskipun Anda menonaktifkan fitur tersebut di cluster. Mengaktifkan atau menonaktifkan Node GKE yang Terlindungi hanya memengaruhi apakah node pekerja yang menjalankan beban kerja Anda menggunakan fitur tersebut.

Harga

Tidak ada biaya tambahan untuk menjalankan Node GKE yang Terlindungi. Namun, Node GKE yang Terlindungi menghasilkan log sekitar 0,5 KB lebih banyak saat startup dibandingkan node standar. Silakan melihat halaman harga Cloud Logging untuk mengetahui detailnya.

Sebelum memulai

Sebelum memulai, pastikan Anda telah menjalankan tugas berikut:

  • Aktifkan Google Kubernetes Engine API.
  • Aktifkan Google Kubernetes Engine API
  • Jika ingin menggunakan Google Cloud CLI untuk tugas ini, instal lalu lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

Mengaktifkan Node GKE yang Terlindungi di cluster baru

Anda dapat membuat cluster baru dengan Node GKE yang Terlindungi yang diaktifkan menggunakan gcloud CLI atau Konsol Google Cloud.

gcloud

Saat membuat cluster baru, tentukan opsi --enable-shielded-nodes:

gcloud container clusters create CLUSTER_NAME \
    --enable-shielded-nodes

Konsol

  1. Buka halaman Google Kubernetes Engine di konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik Buat.

  3. Dari panel navigasi, pada Cluster, klik Keamanan.

  4. Pilih kotak centang Aktifkan Node GKE yang Terlindungi.

  5. Konfigurasikan cluster Anda sesuai keinginan.

  6. Klik Buat.

Silakan membaca artikel Membuat cluster untuk mengetahui detail selengkapnya tentang cara membuat cluster.

Mengaktifkan Node GKE yang Terlindungi di cluster yang sudah ada

Anda dapat mengaktifkan Node GKE yang Terlindungi di cluster yang ada menggunakan Google Cloud CLI atau Konsol Google Cloud.

Cara GKE mengaktifkan Node GKE yang Terlindungi

Setelah Anda mengaktifkan Node GKE yang Terlindungi, node pekerja akan dibuat ulang sebagai Shielded VM. Node cluster akan dibuat ulang secara bertahap untuk meminimalkan periode nonaktif.

Setelah Anda mengaktifkan Node GKE yang Terlindungi, GKE akan mengupdate cluster Anda dengan langkah-langkah berikut:

Untuk mengetahui detail tentang perubahan khusus ini, temukan baris yang sesuai dalam tabel perubahan manual yang membuat ulang node menggunakan strategi upgrade node dan mematuhi kebijakan pemeliharaan. Untuk mempelajari update node lebih lanjut, lihat Merencanakan gangguan update node.

Mengaktifkan Node GKE yang Terlindungi

gcloud

Saat mengupdate cluster, tentukan opsi --enable-shielded-nodes:

gcloud container clusters update CLUSTER_NAME \
    --enable-shielded-nodes

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Keamanan, di kolom Node GKE yang Terlindungi, klik Edit Node GKE yang Terlindungi.

  4. Pilih kotak centang Aktifkan Node GKE yang Terlindungi.

  5. Klik Simpan Perubahan.

Memverifikasi bahwa Node GKE yang Terlindungi telah diaktifkan

Anda dapat memverifikasi bahwa cluster Anda menggunakan Node GKE yang Terlindungi dengan Google Cloud CLI atau Konsol Google Cloud.

gcloud

Jelaskan cluster:

gcloud container clusters describe CLUSTER_NAME

Jika Node GKE yang Terlindungi diaktifkan, output perintah akan menyertakan baris berikut:

shieldedNodes:
  enabled: true

Konsol

Untuk memastikan bahwa sebuah cluster menggunakan Node GKE yang Terlindungi:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diperiksa.

  3. Di bagian Keamanan, di kolom Node GKE yang Terlindungi, verifikasi bahwa Node GKE yang Terlindungi sudah Diaktifkan.

Anda juga dapat memantau integritas Shielded VM yang mendasari node Anda. Silakan melihat Memantau Integritas di Instance Shielded VM untuk mengetahui prosedurnya.

Menonaktifkan Node GKE yang Terlindungi

Anda dapat menonaktifkan Node GKE yang Terlindungi dengan Google Cloud CLI atau Konsol Google Cloud.

Cara GKE menonaktifkan Node GKE yang Terlindungi

Setelah Anda menonaktifkan Node GKE yang Terlindungi, GKE akan mengupdate cluster Anda dengan langkah-langkah berikut:

Untuk mengetahui detail tentang perubahan khusus ini, temukan baris yang sesuai dalam tabel perubahan manual yang membuat ulang node menggunakan strategi upgrade node dan mematuhi kebijakan pemeliharaan. Untuk mempelajari update node lebih lanjut, lihat Merencanakan gangguan update node.

Menonaktifkan Node GKE yang Terlindungi

gcloud

Saat mengupdate cluster, tentukan opsi --no-enable-shielded-nodes:

gcloud container clusters update CLUSTER_NAME \
    --no-enable-shielded-nodes

Konsol

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Di bagian Keamanan, di kolom Node GKE yang Terlindungi, klik Edit Node GKE yang Terlindungi.

  4. Hapus centang pada kotak Aktifkan Node GKE yang Terlindungi.

  5. Klik Simpan Perubahan.

Integritas node

Secara opsional, Anda dapat mengonfigurasi pemeriksaan integritas node pada node pool untuk memberikan perlindungan rootkit dan bootkit yang ditingkatkan bagi node Anda. Node GKE yang Terlindungi, Booting Aman, dan Pemantauan Integritas adalah fitur independen yang dapat diaktifkan atau dinonaktifkan satu per satu.

Booting aman

Booting aman adalah setelan node pool yang mengautentikasi komponen booting VM node Anda, seperti kernel dan bootloader, selama proses booting. Booting aman dinonaktifkan secara default di node pool.

Sebelum mengaktifkan booting aman di node pool, pertimbangkan hal berikut:

  • Mengaktifkan booting aman di node Ubuntu akan memblokir modul kernel pihak ketiga yang tidak ditandatangani agar tidak dimuat di node tersebut.
  • Mengaktifkan booting aman di node Container-Optimized OS tidak memengaruhi pemuatan modul kernel karena image node Container-Optimized OS mengontrol kemampuan untuk memuat modul kernel pihak ketiga secara terpisah dari booting aman.

Untuk mengaktifkan booting aman, gunakan Google Cloud CLI atau Konsol Google Cloud.

gcloud

Untuk mengaktifkan booting aman saat membuat cluster:

gcloud container clusters create CLUSTER_NAME \
    --shielded-secure-boot

Untuk mengaktifkan booting aman saat membuat node pool:

gcloud container node-pools create POOL_NAME \
    --shielded-secure-boot

Booting aman dinonaktifkan secara default. Anda dapat menonaktifkannya secara eksplisit saat membuat cluster atau node pool dengan opsi --no-shielded-secure-boot.

Konsol

Untuk mengaktifkan booting aman saat membuat node pool:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Klik Tambahkan Node Pool.

  4. Dari menu navigasi, klik Keamanan.

  5. Di bagian Shielded options, centang kotak Enable secure boot.

  6. Klik Buat.

Pemantauan integritas

Pemantauan integritas adalah setelan node pool yang diaktifkan secara default di GKE. Anda dapat menonaktifkan pemantauan integritas dengan Google Cloud CLI atau Konsol Google Cloud.

gcloud

Untuk menonaktifkan pemantauan integritas bagi komponen sistem saat membuat cluster:

gcloud container clusters create CLUSTER_NAME \
    --no-shielded-integrity-monitoring

Untuk menonaktifkan pemantauan integritas bagi komponen sistem saat membuat node pool:

gcloud container node-pools create POOL_NAME \
    --no-shielded-integrity-monitoring

Pemantauan integritas diaktifkan secara default. Anda dapat mengaktifkannya secara eksplisit saat membuat cluster atau node pool dengan opsi --shielded-integrity-monitoring.

Konsol

Untuk menonaktifkan pemantauan integritas saat membuat node pool:

  1. Buka halaman Google Kubernetes Engine di Konsol Google Cloud.

    Buka Google Kubernetes Engine

  2. Klik nama cluster yang ingin diubah.

  3. Klik Tambahkan Node Pool.

  4. Dari panel navigasi, klik Security.

  5. Di bagian Opsi perlindungan, hapus centang pada kotak Aktifkan pemantauan integritas.

Langkah berikutnya