Mengaudit workload secara otomatis untuk menemukan masalah konfigurasi


Halaman ini menunjukkan cara mengaudit konfigurasi workload secara otomatis untuk mengetahui masalah keamanan dan mendapatkan rekomendasi yang dapat ditindaklanjuti guna meningkatkan postur keamanan cluster Autopilot dan Standard Google Kubernetes Engine (GKE). Audit konfigurasi workload adalah fitur dasbor postur keamanan. Untuk mengetahui informasi selengkapnya, lihat Tentang audit konfigurasi workload.

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 lakukan inisialisasi gcloud CLI. Jika sebelumnya Anda telah menginstal gcloud CLI, dapatkan versi terbaru dengan menjalankan gcloud components update.

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 ke project, folder, dan organisasi.

    Peran bawaan ini berisi izin yang diperlukan untuk menggunakan audit konfigurasi workload. Untuk melihat izin yang benar-benar diperlukan, luaskan bagian Izin yang diperlukan:

    Izin yang diperlukan

    Izin berikut diperlukan untuk menggunakan audit konfigurasi 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.

  • Audit konfigurasi workload memerlukan GKE versi 1.21 dan yang lebih baru.

Mengaktifkan audit konfigurasi workload

Audit konfigurasi workload diaktifkan secara default di cluster Autopilot dan Standard 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 audit konfigurasi di 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:

Konsol

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

    Buka Google Kubernetes Engine
  2. Klik Create.
  3. Di bagian GKE Autopilot, klik Configure.
  4. Di panel navigasi, klik Advanced settings. Jika Anda membuat cluster Standar, klik Security.
  5. Di bagian Security, centang kotak Configuration audit.
  6. Konfigurasikan opsi lain untuk cluster Anda dan klik Create saat Anda siap.

Mengaktifkan audit konfigurasi di cluster yang ada

gcloud

Update cluster:

gcloud container clusters update CLUSTER_NAME \
    --location=LOCATION \
    --security-posture=standard

Ganti kode berikut:

Konsol

  1. Buka halaman Security Posture di Konsol Google Cloud.

    Buka Postur Keamanan
  2. Klik tab Setelan.
  3. Di bagian Configuration audit enabled clusters, klik Select clusters.
  4. Pilih kotak centang untuk cluster yang ingin ditambahkan.
  5. Di menu drop-down Select action, pilih Set to Basic.
  6. Klik Terapkan.

Jika menggunakan edisi Google Kubernetes Engine (GKE) Enterprise untuk mengelola fleet cluster, Anda juga dapat mengonfigurasi setelan audit konfigurasi tingkat fleet yang berlaku untuk semua cluster anggota. Untuk mengetahui petunjuknya, lihat Mengonfigurasi fitur dasbor postur keamanan GKE di tingkat fleet.

Men-deploy workload pengujian

Men-deploy aplikasi contoh yang sengaja melanggar Standar Keamanan Pod.

  1. 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
    
  2. 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 hasil. 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:

  1. Buka halaman Security Posture di Konsol Google Cloud.

    Buka Postur Keamanan

  2. Klik tab Concerns.

  3. 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 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.

  1. Di konsol Google Cloud, buka Logs Explorer.

    Buka Logs Explorer
  2. Di kolom Kueri, tentukan kueri berikut:

    resource.type="k8s_cluster"
    jsonPayload.@type="type.googleapis.com/cloud.kubernetes.security.containersecurity_logging.Finding"
    jsonPayload.type="FINDING_TYPE_MISCONFIG"
  3. 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

  1. Hapus sampel workload yang Anda deploy.

    kubectl delete deployment helloweb
    
  2. Atau, hapus cluster yang Anda gunakan:

    gcloud container clusters delete CLUSTER_NAME \
        --region=COMPUTE_REGION
    

Menonaktifkan audit konfigurasi workload

Anda dapat menonaktifkan audit konfigurasi beban kerja 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:

Konsol

  1. Buka halaman Security Posture di Konsol Google Cloud.

    Buka Postur Keamanan
  2. Klik tab Setelan.
  3. Di bagian Configuration audit enabled clusters, klik Select clusters.
  4. Di tab Audit enabled, centang kotak untuk cluster yang ingin Anda hapus.
  5. Klik Disable audit, lalu klik Confirm untuk menonaktifkan audit pada cluster tersebut.

Batasan audit 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 dengan node kurang dari 1.000.
  • Dasbor postur keamanan mendukung hingga 150.000 temuan audit konfigurasi beban kerja aktif untuk setiap cluster. Jika jumlah temuan untuk cluster melebihi 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 telah diperbarui. Jika jumlah temuan konfigurasi kurang dari 150.000, dasbor postur keamanan akan mulai menampilkan temuan untuk cluster.

Langkah selanjutnya