Dengan cepatnya ritme pengembangan di Kubernetes, akan sering diperkenalkan fitur keamanan baru yang dapat Anda gunakan. Dokumen ini menjelaskan cara melakukan hardening GKE pada cluster VMware.
Dokumen ini memprioritaskan mitigasi keamanan bernilai tinggi yang memerlukan tindakan Anda pada saat pembuatan cluster. Fitur yang kurang penting, setelan yang aman secara default, dan fitur yang dapat diaktifkan setelah pembuatan cluster akan disebutkan nanti dalam dokumen. Untuk ringkasan umum tentang topik keamanan, tinjau Keamanan.
Checklist
Checklist deployment berikut menyoroti praktik terbaik untuk melakukan hardening deployment platform cluster GKE Anda. Untuk informasi selengkapnya tentang setiap praktik, lihat bagian dalam dokumen ini.
Checklist deployment | Deskripsi |
---|---|
Identitas dan kontrol akses | Menggunakan hak istimewa akun vSphere: Mengamankan akun layanan Google Cloud: Konfigurasi OpenID Connect (OIDC): Gunakan namespace Kubernetes dan RBAC untuk membatasi akses: |
Perlindungan data | Enkripsi virtual machine vSphere: Mengelola secret: |
Perlindungan jaringan | Membatasi akses jaringan ke bidang kontrol dan node: Menggunakan kebijakan jaringan untuk membatasi traffic: |
Keamanan deklaratif | Gunakan Pengontrol Kebijakan: |
Pemeliharaan | Upgrade GKE Enterprise: Memantau buletin keamanan: |
Pemantauan dan logging | Tetapkan opsi untuk logging cluster GKE: |
Identitas dan kontrol akses
Menggunakan hak istimewa akun vSphere
Akun pengguna vCenter yang Anda gunakan untuk menginstal GKE di VMware harus memiliki hak istimewa yang memadai. Misalnya, akun pengguna yang diberi peran Administrator vCenter memiliki hak istimewa untuk akses penuh ke semua objek vCenter dan menyediakan akses penuh kepada administrator cluster GKE di VMware.
Sebaiknya gunakan Prinsip hak istimewa terendah, yaitu hanya memberikan hak istimewa yang diperlukan agar berhasil menginstal GKE Enterprise. Kami telah menetapkan kumpulan hak istimewa minimum yang diperlukan untuk melakukan penginstalan, serta perintah yang diperlukan untuk memberikan izin ini.
Mengamankan akun layanan Google Cloud
GKE di VMware memerlukan tiga akun layanan Google Cloud:
- Akun layanan yang telah ditetapkan untuk mengakses GKE pada software VMware. Anda membuatnya saat membeli GKE Enterprise.
- Akun layanan terdaftar yang akan digunakan oleh Connect untuk mendaftarkan GKE di cluster VMware dengan Google Cloud.
- Akun layanan Cloud Logging untuk mengumpulkan log cluster yang akan digunakan oleh Cloud Logging.
Selama penginstalan, Anda mengikat peran Identity and Access Management ke akun layanan ini. Peran tersebut memberikan hak istimewa khusus ke akun layanan dalam project Anda dan dapat dibuat untuk Anda selama penginstalan.
Mengonfigurasi autentikasi untuk pengguna cluster
Untuk mengonfigurasi autentikasi pengguna bagi cluster, Anda dapat menggunakan OpenID Connect (OIDC) atau Lightweight Directory Access Protocol (LDAP).
Untuk informasi selengkapnya, lihat GKE Identity Service.
Menggunakan namespace Kubernetes dan RBAC untuk membatasi akses
Untuk memberi tim akses hak istimewa terendah ke Kubernetes, buat Namespace Kubernetes atau cluster khusus lingkungan. Tetapkan pusat biaya dan label yang sesuai ke setiap namespace untuk akuntabilitas dan penagihan balik. Hanya beri developer level akses ke Namespace yang diperlukan untuk men-deploy dan mengelola aplikasi, terutama dalam produksi.
Petakan tugas-tugas yang perlu diselesaikan pengguna terhadap cluster dan tentukan izin yang diperlukan untuk menyelesaikan setiap tugas. Untuk memberikan izin tingkat cluster dan namespace, gunakan RBAC Kubernetes.
Selain izin untuk akun layanan Google Cloud yang digunakan untuk menginstal GKE di VMware, IAM tidak berlaku untuk GKE di cluster VMware.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
Perlindungan data
Enkripsi virtual machine vSphere
Node cluster GKE di VMware dijalankan di virtual machine (VM) di cluster vSphere Anda. Google sangat menyarankan Anda untuk mengenkripsi semua data dalam penyimpanan. Untuk melakukannya di vSphere, ikuti Panduan Konfigurasi & Hardening Keamanan VMware vSphere 7 dan panduan praktik terbaik untuk mengenkripsi VM.
Tindakan ini harus dilakukan sebelum penginstalan GKE Enterprise.
Kelola rahasia
Untuk memberikan lapisan perlindungan tambahan bagi data sensitif, seperti Secret Kubernetes yang disimpan di etcd, konfigurasikan secret manager yang terintegrasi dengan GKE di cluster VMware.
Jika Anda menjalankan beban kerja di beberapa lingkungan, Anda dapat memilih solusi yang berfungsi untuk Google Kubernetes Engine dan GKE di VMware. Jika Anda memilih untuk menggunakan secret eksternal, seperti HashiCorp Vault, siapkan sebelum mengintegrasikan GKE pada cluster VMware.
Anda memiliki beberapa opsi untuk pengelolaan secret:
- Anda dapat menggunakan Secret Kubernetes secara native di GKE di VMware. Kami memperkirakan cluster akan menggunakan enkripsi vSphere untuk VM seperti yang dijelaskan sebelumnya, yang memberikan perlindungan dasar enkripsi dalam penyimpanan untuk secret. Secara {i>default<i}, rahasia tidak dienkripsi lebih lanjut.
- Anda dapat menggunakan pengelola secret eksternal, seperti HashiCorp Vault. Anda dapat melakukan autentikasi ke HashiCorp menggunakan akun layanan Kubernetes atau akun layanan Google Cloud.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
Perlindungan jaringan
Membatasi akses jaringan ke bidang kontrol dan node
Batasi eksposur bidang kontrol cluster dan node ke internet. Pilihan ini tidak dapat diubah setelah pembuatan cluster. Secara default, GKE pada node cluster VMware dibuat menggunakan alamat RFC 1918, dan sebaiknya jangan mengubahnya. Terapkan aturan firewall di jaringan lokal untuk membatasi akses ke bidang kontrol.
Menggunakan kebijakan jaringan untuk membatasi traffic
Secara default, semua Layanan di cluster GKE pada VMware dapat berkomunikasi satu sama lain. Untuk mengetahui informasi tentang cara mengontrol komunikasi Layanan-ke-Layanan sesuai kebutuhan untuk workload Anda, lihat bagian berikut.
Membatasi akses jaringan ke layanan akan mempersulit penyerang untuk bergerak ke samping dalam cluster Anda dan menawarkan beberapa perlindungan terhadap layanan terhadap denial of service yang tidak disengaja atau disengaja. Ada dua cara yang direkomendasikan untuk mengontrol traffic:
- Untuk mengontrol traffic L7 ke endpoint aplikasi Anda, gunakan Istio. Pilih opsi ini jika Anda tertarik dengan load balancing, otorisasi layanan, throttling, kuota, dan metrik.
- Untuk mengontrol traffic L4 antar-Pod, gunakan kebijakan jaringan Kubernetes. Pilih ini jika Anda mencari fungsi kontrol akses dasar yang dikelola oleh Kubernetes.
Anda dapat mengaktifkan kebijakan jaringan Istio dan Kubernetes setelah membuat GKE di cluster VMware. Anda dapat menggunakannya bersamaan jika perlu.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
Keamanan deklaratif
Gunakan Pengontrol Kebijakan
Pengontrol penerimaan Kubernetes adalah plugin yang mengatur dan menerapkan cara cluster Kubernetes digunakan. Pengontrol penerimaan merupakan bagian penting dari pendekatan pertahanan mendalam untuk melakukan hardening cluster Anda.
Praktik terbaiknya adalah menggunakan Pengontrol Kebijakan. Pengontrol Kebijakan menggunakan OPA Constraint Framework untuk mendeskripsikan dan menerapkan kebijakan sebagai CRD. Batasan yang diterapkan ke cluster ditentukan dalam template batasan yang di-deploy di cluster Anda.
Untuk mengetahui informasi cara menggunakan batasan Pengontrol Kebijakan guna mendapatkan banyak perlindungan yang sama seperti PodSecurityPolicies, dengan kemampuan tambahan untuk menguji kebijakan Anda sebelum menerapkannya, baca artikel Menggunakan batasan untuk menerapkan keamanan Pod.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
Membatasi kemampuan workload dalam modifikasi mandiri
Workload Kubernetes tertentu, terutama workload sistem, memiliki izin untuk menjalankan modifikasi mandiri Sebagai contoh, beberapa workload melakukan penskalaan otomatis secara vertikal. Meskipun berguna, ini akan memungkinkan penyerang yang telah menyusupi node untuk menjelajahi cluster lebih dalam lagi. Misalnya, penyerang dapat membuat workload pada node melakukan modifikasi mandiri untuk dijalankan sebagai akun layanan dengan hak istimewa yang berada di namespace yang sama.
Idealnya, workload seharusnya sejak awal tidak diizinkan untuk melakukan modifikasi mandiri. Jika memerlukan modifikasi mandiri, Anda dapat membatasi izin dengan menerapkan batasan Pemilah Komunikasi atau Pengontrol Kebijakan, seperti NoUpdateServiceAccount dari library open source Pemilah Komunikasi, yang memberikan beberapa solusi keamanan bermanfaat.
Saat men-deploy kebijakan, biasanya Anda perlu mengizinkan pengontrol yang
mengelola siklus proses cluster untuk mengabaikan kebijakan serta pipeline logging dan
pemantauan. Hal ini diperlukan agar pengontrol dapat melakukan perubahan
pada cluster, seperti menerapkan upgrade cluster. Misalnya, jika Anda men-deploy
kebijakan NoUpdateServiceAccount
pada GKE di VMware, Anda harus menetapkan
parameter berikut di Constraint
:
parameters:
allowedGroups:
- system:masters
allowedUsers:
- system:serviceaccount:kube-system:monitoring-operator
- system:serviceaccount:kube-system:stackdriver-operator
- system:serviceaccount:kube-system:metrics-server-operator
- system:serviceaccount:kube-system:logmon-operator
Pemeliharaan
Mengupgrade GKE Enterprise
Kubernetes secara rutin memperkenalkan fitur keamanan baru dan menyediakan patch keamanan.
Anda bertanggung jawab untuk menjaga GKE di cluster VMware agar selalu terbaru. Untuk setiap rilis, tinjau catatan rilis. Selain itu, rencanakan untuk mengupdate ke rilis patch baru setiap bulan dan versi minor setiap tiga bulan. Pelajari cara mengupgrade cluster.
Anda juga bertanggung jawab untuk mengupgrade dan mengamankan infrastruktur vSphere:
- Tetapkan proses untuk melakukan patch dan upgrade dan upgrade secara tepat waktu pada VM Anda
- Ikuti terus saran keamanan VMware terbaru
- Ikuti panduan tentang cara menerapkan patch ke host
Memantau buletin keamanan
Tim keamanan GKE Enterprise memublikasikan buletin keamanan untuk kerentanan yang sangat serius dan sangat serius.
Buletin ini mengikuti skema penomoran kerentanan Google Cloud umum dan ditautkan dari halaman buletin Google Cloud utama dan catatan rilis GKE pada VMware. Setiap halaman buletin keamanan memiliki feed RSS tempat pengguna dapat berlangganan info terbaru.
Saat tindakan pelanggan diperlukan untuk mengatasi kerentanan yang tinggi dan kritis ini, Google akan menghubungi pelanggan melalui email. Selain itu, Google mungkin juga menghubungi pelanggan dengan kontrak dukungan melalui saluran dukungan.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
Monitoring dan logging
Menetapkan opsi untuk logging cluster GKE
GKE di VMware mencakup beberapa opsi untuk logging dan pemantauan cluster, termasuk layanan terkelola berbasis cloud, alat open source, dan kompatibilitas yang divalidasi dengan solusi komersial pihak ketiga:
- Cloud Logging dan Cloud Monitoring, diaktifkan oleh agen dalam cluster yang di-deploy dengan GKE di VMware
- Prometheus dan Grafana, dinonaktifkan secara default
- Konfigurasi yang divalidasi dengan solusi pihak ketiga
Solusi logging apa pun yang Anda pilih berdasarkan persyaratan bisnis, kami sangat menyarankan logging peristiwa dan pemberitahuan yang relevan dengan masa depan ke layanan informasi keamanan dan pengelolaan peristiwa (SIEM) terpusat untuk pengelolaan insiden keamanan.
Untuk informasi selengkapnya, lihat dokumentasi berikut:
- Logging dan pemantauan
- Menggunakan logging dan pemantauan
- Logging dan pemantauan aplikasi
- Memantau cluster Anthos di VMware dengan Elastic Stack
- Mengumpulkan log di GKE Enterprise dengan Splunk Connect