Halaman ini menunjukkan cara memindai sistem operasi (OS) container secara otomatis dan paket bahasa dalam workload yang sedang berjalan untuk mendeteksi kerentanan yang diketahui dan mendapatkan strategi mitigasi yang dapat ditindaklanjuti jika tersedia. Pemindaian kerentanan workload adalah bagian dari dasbor postur keamanan, yang merupakan serangkaian fitur yang memberikan informasi dan rekomendasi opini untuk meningkatkan keamanan cluster dan workload Cluster Google Kubernetes Engine.
Untuk mempelajari lebih lanjut, lihat artikel Tentang pemindaian kerentanan workload.
Harga
Untuk mengetahui informasi harga, lihat Harga dasbor postur keamanan GKE.
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 Container Security API.
Untuk menggunakan Advanced Vulnerability Insights, aktifkan Container Analysis API.
Persyaratan
-
Untuk mendapatkan izin yang diperlukan untuk menggunakan pemindaian kerentanan 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 ke project, folder, dan organisasi.Peran yang telah ditentukan ini berisi izin yang diperlukan untuk menggunakan pemindaian kerentanan workload. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:
Izin yang diperlukan
Izin berikut diperlukan untuk menggunakan pemindaian kerentanan workload:
-
resourcemanager.projects.get
-
resourcemanager.projects.list
-
containersecurity.locations.list
-
containersecurity.locations.get
-
containersecurity.clusterSummaries.list
-
containersecurity.findings.list
Anda mungkin juga bisa mendapatkan izin ini dengan peran khusus atau peran bawaan lainnya.
-
- Analisis kerentanan lanjutan memerlukan GKE versi 1.27 atau yang lebih baru.
Tingkat pemindaian kerentanan workload
Anda mengaktifkan pemindaian kerentanan dalam beberapa tingkatan, yang masing-masing menambahkan kemampuan pemindaian sebagai berikut. Jika menggunakan edisi Google Kubernetes Engine (GKE) Enterprise untuk mengelola fleet cluster, Anda juga dapat mengonfigurasi setelan pemindaian kerentanan tingkat fleet yang berlaku untuk semua cluster anggota. Untuk mengetahui petunjuknya, lihat Mengonfigurasi fitur dasbor postur keamanan GKE di tingkat fleet.
Tingkat | Kemampuan yang diaktifkan | Persyaratan versi GKE |
---|---|---|
Standardstandard |
Pemindaian kerentanan container OS |
|
Insight kerentanan lanjutanenterprise |
|
|
Untuk mengetahui informasi selengkapnya tentang setiap kemampuan, lihat Tentang pemindaian kerentanan workload.
Mengaktifkan pemindaian kerentanan container OS
Pemindaian kerentanan Container OS diaktifkan secara default di cluster Autopilot baru yang menjalankan versi 1.27 dan yang lebih baru. Bagian ini menunjukkan cara mengaktifkan fitur ini di cluster Standard baru yang sudah ada dan di cluster Autopilot yang menjalankan versi sebelum 1.27.
Mengaktifkan pemindaian container OS di cluster baru
gcloud
Buat cluster GKE baru menggunakan gcloud CLI:
gcloud container clusters create CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=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 Buat.
- Di bagian GKE Standard, klik Konfigurasikan.
- Di panel navigasi, klik Security.
- Di bagian Security, centang kotak Vulnerability scan.
- Pilih opsi Dasar.
- Konfigurasikan opsi lain untuk cluster Anda dan klik Create saat Anda siap.
Mengaktifkan pemindaian container OS di cluster yang ada
gcloud
Update cluster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=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 Vulnerability scan enabled clusters, klik Select clusters.
- Pilih kotak centang untuk cluster yang ingin ditambahkan.
- Di menu drop-down Select action, pilih Set to Basic.
- Klik Terapkan.
Mengaktifkan advanced vulnerability insights
Insight kerentanan lanjutan memungkinkan pemindaian berkelanjutan pada aplikasi yang sedang berjalan untuk mendeteksi jenis kerentanan berikut:
- Kerentanan container OS
- Kerentanan paket bahasa
Jika Anda mengaktifkan insight kerentanan lanjutan, kemampuan pemindaian kerentanan container OS akan otomatis diaktifkan dan tidak dapat dinonaktifkan secara terpisah.
Persyaratan
Pastikan Anda mengaktifkan Container Analysis API di project Anda.
Aktifkan Container Analysis API
Mengaktifkan advanced vulnerability insights di cluster baru
gcloud
Buat cluster GKE baru menggunakan gcloud CLI:
gcloud container clusters create-auto CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=enterprise
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 Security, centang kotak Vulnerability scan.
- Pilih opsi Advanced.
- Konfigurasikan opsi lain untuk cluster Anda dan klik Create saat Anda siap.
Mengaktifkan advanced vulnerability insights di cluster yang ada
gcloud
Update cluster:
gcloud container clusters update CLUSTER_NAME \ --location=LOCATION \ --workload-vulnerability-scanning=enterprise
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 Vulnerability scan enabled clusters, klik Select clusters.
- Pilih kotak centang untuk cluster yang ingin ditambahkan.
- Di menu drop-down Select action, pilih Set to Advanced.
- Klik Terapkan.
Men-deploy workload pengujian
Contoh manifes berikut memiliki kerentanan umum untuk tujuan demonstrasi. Dalam praktiknya, jika Anda tahu bahwa suatu aplikasi rentan, Anda mungkin tidak boleh menjalankannya.
Simpan manifes berikut sebagai
os-vuln-sample.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: frontend spec: replicas: 1 selector: matchLabels: app: guestbook tier: frontend template: metadata: labels: app: guestbook tier: frontend spec: containers: - name: php-redis image: us-docker.pkg.dev/google-samples/containers/gke/gb-frontend@sha256:dc8de8e0d569d2f828b187528c9317bd6b605c273ac5a282aebe471f630420fc env: - name: GET_HOSTS_FROM value: "dns" resources: requests: cpu: 100m memory: 100Mi ports: - containerPort: 80
Tinjau manifes berikut, yang berisi kerentanan Maven yang diketahui:
Atau, dapatkan kredensial untuk cluster Anda:
gcloud container clusters get-credentials CLUSTER_NAME \ --region=COMPUTE_REGION
Deploy aplikasi ke cluster Anda:
kubectl apply -f os-vuln-sample.yaml kubectl apply -f https://raw.githubusercontent.com/GoogleCloudPlatform/kubernetes-engine-samples/main/security/language-vulns/maven/deployment.yaml
Untuk menguji kerentanan lainnya, coba deploy image versi sebelumnya seperti nginx
dalam lingkungan staging.
Melihat dan menindaklanjuti hasilnya
Pemindaian awal memerlukan waktu setidaknya 15 menit untuk menampilkan hasil, bergantung pada jumlah workload yang dipindai. GKE menampilkan hasilnya di dasbor postur keamanan dan otomatis menambahkan entri ke Logging.
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 problems, di bagian Concern type, pilih kotak centang Vulnerability.
Lihat detail dan rekomendasi masalah
Untuk melihat informasi mendetail tentang kerentanan tertentu, klik baris yang berisi masalah tersebut.
Panel Vulnerability Concern menampilkan informasi berikut:
- Deskripsi: deskripsi masalah yang mencakup nomor CVE jika berlaku dan deskripsi mendetail tentang kerentanan dan potensi dampaknya.
- Tindakan yang disarankan: tindakan yang dapat Anda lakukan untuk mengatasi kerentanan, seperti versi paket tetap dan tempat untuk menerapkan perbaikan.
Lihat log untuk masalah yang ditemukan
GKE menambahkan entri ke bucket log _Default
di Logging untuk setiap masalah yang ditemukan. Log ini hanya disimpan selama jangka waktu tertentu. Untuk mengetahui detailnya, lihat Periode retensi log.
Di konsol Google Cloud, buka Logs Explorer.
Buka Logs ExplorerDi kolom Kueri, tentukan kueri berikut:
resource.type="k8s_cluster" jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding" jsonPayload.type="FINDING_TYPE_VULNERABILITY"
Klik Run query.
Untuk menerima notifikasi saat GKE menambahkan temuan baru ke Logging, siapkan pemberitahuan berbasis log untuk kueri ini. Untuk informasi selengkapnya, lihat Mengonfigurasi pemberitahuan berbasis log.
Pembersihan
Hapus sampel workload yang Anda deploy:
kubectl delete deployment frontend
Atau, hapus cluster yang Anda gunakan:
gcloud container clusters delete CLUSTER_NAME \ --region=COMPUTE_REGION
Nonaktifkan pemindaian kerentanan workload
Anda dapat menonaktifkan pemindaian kerentanan workload menggunakan gcloud CLI atau Konsol Google Cloud.
gcloud
Jalankan perintah berikut:
gcloud container clusters update CLUSTER_NAME \ --region=LOCATION \ --workload-vulnerability-scanning=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 Vulnerability scan enabled clusters, klik Select clusters.
- Pilih kotak centang untuk cluster yang ingin Anda hapus.
- Di menu drop-down Select action, pilih Set to Disabled.
- Klik Terapkan.
Langkah selanjutnya
- Pelajari dasbor postur keamanan lebih lanjut.
- Pelajari cara memindai workload Anda untuk masalah konfigurasi.