Audit workload secara otomatis untuk menemukan masalah konfigurasi


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.

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:

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 Keamanan, centang kotak Audit konfigurasi.
  6. 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:

Konsol

  1. Buka halaman Security Posture di Konsol Google Cloud.

    Buka Postur Keamanan
  2. Klik tab Setelan.
  3. Di bagian Konfigurasi cluster yang diaktifkan audit, klik Pilih cluster.
  4. Pilih kotak centang untuk cluster yang ingin ditambahkan.
  5. Di menu drop-down Pilih tindakan, pilih Tetapkan ke Dasar.
  6. 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.

  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 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:

  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 Logging untuk setiap masalah yang ditemukan.

  1. Buka Logs Explorer di Konsol Google Cloud.

    Buka Logs Explorer

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

  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
    

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:

Konsol

  1. Buka halaman Security Posture di Konsol Google Cloud.

    Buka Postur Keamanan
  2. Klik tab Setelan.
  3. Di bagian Konfigurasi cluster yang diaktifkan audit, klik Pilih cluster.
  4. Di tab Audit enabled, centang kotak untuk cluster yang ingin Anda hapus.
  5. 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