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
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Klik add_box Buat.
Dari panel navigasi, pada Cluster, klik Keamanan.
Pilih kotak centang Aktifkan Node GKE yang Terlindungi.
Konfigurasikan cluster Anda sesuai keinginan.
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:
- GKE segera membuat ulang panel kontrol, mengabaikan ketersediaan pemeliharaan.
- GKE membuat ulang node pekerja sebagai Shielded VM, dengan mempertimbangkan ketersediaan pemeliharaan. GKE menggunakan upgrade lonjakan untuk mengupdate setiap node pool. Hal ini bergantung pada ketersediaan resource. Menonaktifkan upgrade otomatis node tidak mencegah perubahan ini.
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
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Di bagian Keamanan, di kolom Node GKE yang Terlindungi, klik edit Edit Node GKE yang Terlindungi.
Pilih kotak centang Aktifkan Node GKE yang Terlindungi.
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:
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diperiksa.
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:
- GKE segera membuat ulang panel kontrol, mengabaikan ketersediaan pemeliharaan.
- GKE membuat ulang node pekerja sebagai VM yang tidak terlindungi, dengan mempertimbangkan ketersediaan pemeliharaan. GKE menggunakan upgrade lonjakan untuk mengupdate setiap node pool. Hal ini bergantung pada ketersediaan resource. Menonaktifkan upgrade otomatis node tidak mencegah perubahan ini.
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
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Di bagian Keamanan, di kolom Node GKE yang Terlindungi, klik edit Edit Node GKE yang Terlindungi.
Hapus centang pada kotak Aktifkan Node GKE yang Terlindungi.
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:
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Klik add_box Tambahkan Node Pool.
Dari menu navigasi, klik Keamanan.
Di bagian Shielded options, centang kotak Enable secure boot.
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:
Buka halaman Google Kubernetes Engine di Konsol Google Cloud.
Klik nama cluster yang ingin diubah.
Klik add_box Tambahkan Node Pool.
Dari panel navigasi, klik Security.
Di bagian Opsi perlindungan, hapus centang pada kotak Aktifkan pemantauan integritas.