Halaman ini menunjukkan cara mengaudit konfigurasi beban kerja secara otomatis untuk masalah keamanan dan mendapatkan rekomendasi yang dapat ditindaklanjuti untuk meningkatkan postur keamanan cluster Autopilot dan Standard Google Kubernetes Engine (GKE). Audit konfigurasi beban kerja adalah fitur dasbor postur keamanan. Untuk informasi selengkapnya, lihat Tentang audit konfigurasi beban kerja.
Harga
Dasbor postur keamanan ditawarkan tanpa biaya tambahan di GKE melalui Container Security API.
Entri yang ditambahkan ke Cloud Logging menggunakan harga Cloud Logging.
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
initialize
gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan
gcloud components update
.
Mengaktifkan Container Security API.
Persyaratan
-
Untuk mendapatkan izin yang diperlukan untuk menggunakan audit konfigurasi workload, minta administrator untuk memberi Anda peran IAM Security Posture Viewer (
roles/containersecurity.viewer
) di project Google Cloud Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses.Peran yang telah ditetapkan ini berisi izin yang diperlukan untuk menggunakan audit konfigurasi workload. Untuk melihat izin yang benar-benar diperlukan, perluas bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menggunakan audit konfigurasi beban kerja:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
Anda mung juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaanlainnya.
-
- Audit konfigurasi beban kerja memerlukan GKE versi 1.21 dan yang lebih baru.
Aktifkan pengauditan konfigurasi workload
Audit konfigurasi beban kerja diaktifkan secara default di cluster Autopilot dan Standar baru yang menjalankan versi 1.27 dan yang lebih baru. Anda juga dapat mengaktifkan fitur ini secara manual menggunakan gcloud CLI atau Konsol Google Cloud.
Mengaktifkan pengauditan konfigurasi pada cluster baru
gcloud
Buat cluster GKE baru menggunakan gcloud CLI:
gcloud container clusters create-auto CLUSTER_NAME \ --location=LOCATION \ --security-posture=standard
Ganti kode berikut:
CLUSTER_NAME
: nama cluster baru.LOCATION
: lokasi Compute Engine untuk cluster Anda.
Konsol
Buka halaman Google Kubernetes Engine di konsol Google Cloud.
Buka Google Kubernetes Engine- Klik Create.
- Di bagian GKE Autopilot, klik Configure.
- Di panel navigasi, klik Advanced settings. Jika Anda membuat cluster Standar, klik Security.
- Di bagian Keamanan, centang kotak Audit konfigurasi.
- Konfigurasikan opsi lain untuk cluster Anda dan klik Create saat Anda siap.
Mengaktifkan pengauditan konfigurasi pada cluster yang ada
gcloud
Update cluster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --security-posture=standard
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Anda.LOCATION
: lokasi Compute Engine cluster Anda.
Konsol
Buka halaman Security Posture di Konsol Google Cloud.
Buka Postur Keamanan- Klik tab Setelan.
- Di bagian Konfigurasi cluster yang diaktifkan audit, klik Pilih cluster.
- Pilih kotak centang untuk cluster yang ingin ditambahkan.
- Di menu drop-down Pilih tindakan, pilih Tetapkan ke Dasar.
- Klik Terapkan.
Jika menggunakan edisi Google Kubernetes Engine (GKE) Enterprise untuk mengelola fleet cluster, Anda juga dapat mengonfigurasi setelan audit konfigurasi level fleet yang berlaku untuk semua cluster anggota. Untuk mengetahui petunjuknya, lihat Mengonfigurasi fitur dasbor postur keamanan GKE di level fleet.
Men-deploy workload pengujian
Men-deploy aplikasi contoh yang sengaja melanggar Standar Keamanan Pod.
Simpan manifes berikut sebagai
misconfig-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: helloweb labels: app: hello spec: selector: matchLabels: app: hello tier: web template: metadata: labels: app: hello tier: web spec: containers: - name: hello-app image: us-docker.pkg.dev/google-samples/containers/gke/hello-app:1.0 ports: - containerPort: 8080 securityContext: runAsNonRoot: false resources: requests: cpu: 200m
Deploy aplikasi ke cluster Anda:
kubectl apply -f misconfig-sample.yaml
Jika Anda ingin mencoba pelanggaran lain, ubah misconfig-sample.yaml
dengan konfigurasi "buruk" yang sesuai.
Melihat dan menindaklanjuti hasil audit konfigurasi
Audit awal memerlukan waktu hingga 15 menit untuk menampilkan hasilnya. GKE menampilkan hasilnya di dasbor postur keamanan dan otomatis menambahkan entri ke log cluster.
Lihat hasil
Untuk melihat ringkasan masalah yang ditemukan di seluruh cluster dan workload project Anda, lakukan langkah berikut:
Buka halaman Security Posture di Konsol Google Cloud.
Klik tab Concerns.
Di panel Filter Issues, di bagian Concern type, pilih kotak centang Configuration.
Lihat detail dan rekomendasi masalah
Untuk melihat informasi mendetail tentang masalah konfigurasi tertentu, klik baris yang berisi masalah tersebut.
Panel Configuration Concern menampilkan informasi berikut:
- Deskripsi: deskripsi masalah.
- Tindakan yang disarankan: ringkasan tindakan yang dapat Anda lakukan untuk memperbaiki
masalah konfigurasi. Bagian ini menyertakan detail berikut:
- Resource mana yang perlu diperbaiki
- Contoh perintah yang dapat Anda jalankan untuk menerapkan perbaikan ke resource yang terpengaruh
- Petunjuk konsol Google Cloud, jika ada, untuk memperbaiki masalah ini
Lihat log untuk masalah yang ditemukan
GKE menambahkan entri ke Logging untuk setiap masalah yang ditemukan.
Buka Logs Explorer di Konsol Google Cloud.
Di kolom Query, tentukan kueri berikut:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_MISCONFIG"
Klik Jalankan kueri.
Untuk menerima notifikasi saat GKE menambahkan temuan baru ke Logging, siapkan pemberitahuan berbasis log untuk kueri ini. Untuk mengetahui informasi selengkapnya, lihat Mengonfigurasi pemberitahuan berbasis log.
Pembersihan
Hapus sampel workload yang Anda deploy.
kubectl delete deployment helloweb
Atau, hapus cluster yang Anda gunakan:
gcloud container clusters delete CLUSTER_NAME \ --region=COMPUTE_REGION
Nonaktifkan pengauditan konfigurasi workload
Anda dapat menonaktifkan pengauditan konfigurasi workload menggunakan gcloud CLI atau Konsol Google Cloud.
gcloud
Jalankan perintah berikut:
gcloud container clusters update CLUSTER_NAME \ --region=LOCATION \ --security-posture=disabled
Ganti kode berikut:
CLUSTER_NAME
: nama cluster Anda.LOCATION
: region atau zona Compute Engine untuk cluster Anda.
Konsol
Buka halaman Security Posture di Konsol Google Cloud.
Buka Postur Keamanan- Klik tab Setelan.
- Di bagian Konfigurasi cluster yang diaktifkan audit, klik Pilih cluster.
- Di tab Audit enabled, centang kotak untuk cluster yang ingin Anda hapus.
- Klik Disable audit, lalu klik Confirm untuk menonaktifkan pengauditan pada cluster tersebut.
Batasan pengauditan konfigurasi workload
- Node pool Windows Server tidak didukung.
- Audit konfigurasi workload tidak memindai workload yang dikelola GKE, seperti workload di namespace
kube-system
. - Audit konfigurasi workload hanya tersedia untuk cluster yang memiliki kurang dari 1.000 node.
Dasbor postur keamanan mendukung hingga 150.000 temuan audit konfigurasi workload aktif untuk setiap cluster. Jika jumlah temuan untuk cluster melebihi batas maksimum ini, dasbor postur keamanan akan berhenti menampilkan temuan konfigurasi untuk cluster tersebut.
Untuk mengatasi masalah ini, gunakan log di Logging untuk mengidentifikasi masalah konfigurasi dan men-deploy manifes yang diperbarui. Jika jumlah temuan konfigurasi kurang dari 150.000, dasbor postur keamanan mulai menampilkan temuan untuk cluster tersebut.
Langkah selanjutnya
- Pelajari dasbor postur keamanan lebih lanjut.
- Pelajari lebih lanjut cara kerja audit konfigurasi.
- Pelajari cara mengamankan cluster berdasarkan rekomendasi Google.