Saat insiden datang, menit-menit pertama menentukan dampaknya; di episode ini kalian mengaktifkan Kubernetes audit log dengan policy selektif, membangun incident response automation dari alert hingga containment otomatis, serta menulis runbook as code yang bisa dieksekusi mesin sehingga respon darurat tidak bergantung pada orang yang kebetulan online

Fase 4 ditutup dengan dua kemampuan yang selalu dibutuhkan terlambat: audit trail dan incident response. Ketika alarm berbunyi — pod aneh muncul, secret diakses jam 3 pagi, image tak dikenal jalan di cluster — pertanyaan pertama tim selalu sama: siapa, apa, kapan, dari mana? Tanpa audit log, jawabannya adalah "tidak tahu". Dan tanpa runbook otomatis, respons tergantung pada siapa yang kebetulan online.
Episode ini membangun keduanya: audit logging yang informatif tapi tidak membakar storage, lalu IR automation dari alert → triage → containment otomatis → postmortem yang mengalir balik ke pipeline (loop episode 17).
API server K8s mencatat setiap request — siapa, aksi apa, ke resource mana, hasilnya. Yang perlu kalian rancang adalah policy: log semua = puluhan GB/hari; log terlalu sedikit = buta saat investigasi. Policy selektif bertingkat:
apiVersion: audit.k8s.io/v1
kind: Policy
rules:
# request gagal: metadata saja (ringan)
- level: Metadata
verbs: ["create", "update", "patch", "delete"]
# secrets & configmaps sensitif: JANGAN catat body (mengandung nilai!)
- level: Metadata
resources:
- group: ""
resources: ["secrets", "configmaps"]
# perubahan RBAC & SA: full request (penting untuk forensik)
- level: RequestResponse
resources:
- group: "rbac.authorization.k8s.io"
resources: ["roles", "rolebindings", "clusterroles", "clusterrolebindings"]
# sisanya: none agar hemat
- level: NoneTiga poin desain yang disorot:
Metadata saja — RequestResponse akan menyimpan isi secret di log, mengubah log menjadi sumber bocor.Ship log ini ke penyimpanan terpusat (Loki/Elastic/SIEM) dengan retensi sesuai regulasi — log di node saja hilang bersama node-nya. Integrasi SIEM mendalam kita bahas episode 24.
Nilai audit log baru muncul saat bisa diquery cepat:
-- Siapa exec ke pod production dalam 24 jam terakhir?
verb="create" AND objectRef.resource="pods/exec"
AND objectRef.namespace="prod"
-- Secret apa saja yang diakses service account aneh?
user.username="system:serviceaccount:prod:mystery-sa"
AND objectRef.resource="secrets"Simpan query-query ini sebagai saved search — saat insiden, investigator tinggal menjalankan, bukan menyusun sintaks di tengah tekanan.
Siklus standar NIST yang disesuaikan platform engineering:
Dua fase yang paling sering gagal di organisasi tanpa automation:
Automation menyasar keduanya.
Runbook wiki punya masalah klasik: usang saat dibutuhkan. Solusinya: runbook sebagai script/executable workflow yang di-test seperti kode:
#!/usr/bin/env bash
# Isolasi pod bermasalah: label + network policy default-deny
set -euo pipefail
POD="$1"; NS="${2:-prod}"
kubectl label pod "$POD" -n "$NS" \
quarantine=true --overwrite
cat <<EOF | kubectl apply -n "$NS" -f -
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: quarantine-$POD
spec:
podSelector:
matchLabels:
quarantine: "true"
policyTypes: [Ingress, Egress]
EOF
echo "[OK] Pod $POD diisolasi dari jaringan."Script versioned di repo, direview, dan diuji di staging game day. Saat insiden: satu command, bukan sepuluh langkah hafalan.
Untuk alert prioritas CRITICAL, rangkai otomatis:
Prinsip penting automation IR:
Warning
Aksi otomatis butuh identitas tersendiri yang least privilege — service account automation hanya boleh label pods dan create networkpolicies, bukan admin cluster. Automation yang dicompromise tidak boleh lebih kuat dari attacker.
Postmortem blameless (budaya, episode 2) dengan output teknis wajib:
Contoh nyata siklusnya: insiden secret bocor di log → action item: tambahkan rule gitleaks untuk pola token tersebut + masking library di template app → PR merged minggu itu → kelas kesalahan yang sama mustahil terulang.
Inti yang harus dibawa pulang:
Di episode 21 selanjutnya kita masuk Fase 5 dengan topik paling hangat: AI-Powered DevSecOps — bagaimana LLM dipakai untuk triage ribuan temuan, auto-fix kerentanan lewat PR, dan security copilot di IDE — plus batas-batasnya yang wajib kalian kenali sebelum percaya buta. Sampai jumpa!