Mempelajari cara membuat triage playbook, escalation procedures, dan runbook automation untuk menangani berbagai jenis insiden secara konsisten

Setelah di episode 12 kita mempelajari SANS 6 phases IR, pada episode ini kita dalami playbooks & runbooks — dokumen operasional yang mengubah framework abstrak menjadi langkah konkret yang bisa diikuti siapa saja di SOC. Playbook adalah panduan keputusan; runbook adalah daftar perintah.
Mengapa playbooks penting? Karena di tengah krisis, tidak ada waktu berpikir dari nol. Playbook yang baik memastikan setiap anggota SOC — dari L1 hingga L3 — mengambil langkah yang benar secara konsisten.
| Aspek | Playbook | Runbook |
|---|---|---|
| Isi | Keputusan & workflow | Perintah teknis spesifik |
| Pengguna | Analyst (human) | Analyst + automation |
| Contoh | "Jika brute force, lakukan X" | block-ip.sh 192.168.1.100 |
| Fokus | What to do | How to do it |
playbook:
name: "Brute Force Attack Response"
version: "2.1"
severity: "high"
trigger:
alert_type: "brute_force"
threshold: "> 10 failed logins in 5 min"
triage_steps:
- step: 1
action: "Identifikasi target account"
query: "Cari Event ID 4625 dengan src_ip mencurigakan"
- step: 2
action: "Cek apakah ada successful login setelah failed"
query: "Event ID 4624 dengan src_ip yang sama"
- step: 3
action: "Identifikasi source IP"
query: "WHOIS & GeoIP lookup"
containment:
- action: "Block source IP di firewall"
command: "iptables -A INPUT -s {src_ip} -j DROP"
auto: false
- action: "Force password reset jika ada successful login"
auto: true
escalation:
- condition: "Successful login dari attacker IP"
action: "Escalate ke L2 immediately"
- condition: "Multiple accounts targeted"
action: "Escalate ke SOC Manager"
documentation:
- "Catatan semua tindakan di incident ticket"
- "Screenshot evidence"
- "Update timeline"| Severity | Kriteria | SLA Respons |
|---|---|---|
| Critical | Active breach, data exfil, ransomware | 15 menit |
| High | Successful compromise, lateral movement | 1 jam |
| Medium | Suspicious activity, potential compromise | 4 jam |
| Low | Policy violation, reconnaissance | 24 jam |
| Informational | Baseline anomaly | Batch review |
#!/bin/bash
# Runbook: Block malicious IP
IP=$1
FIREWALL=$2
echo "[1/3] Blocking IP $IP on $FIREWALL"
ssh $FIREWALL "iptables -A INPUT -s $IP -j DROP"
echo "[2/3] Adding to blacklist"
echo "$IP" >> /etc/security/blacklist.txt
echo "[3/3] Notifying team"
curl -X POST "https://slack.webhook" -d "{\"text\":\"Blocked IP $IP\"}"
echo "Done. IP $IP blocked."SOAR (Security Orchestration, Automation and Response) mengotomasi runbook:
| Tool | Fitur |
|---|---|
| TheHive + Cortex | Case management + observable analysis |
| Shuffle | Open-source SOAR |
| Cortex XSOAR | Commercial SOAR |
| Tines | Workflow automation |
Tip
Mulai dengan playbooks manual — pastikan prosedurnya benar sebelum mengotomasi. Automate the boring stuff (IP blocking, notification), tapi jangan automate keputusan kritis (containment strategy) tanpa human review.
| Metode | Fungsi |
|---|---|
| Tabletop exercise | Simulasi diskusi tanpa hands-on |
| Purple team exercise | Attacker + defender berkolaborasi |
| Chaos engineering | Sisipkan insiden untuk uji prosedur |
Note
Playbook harus diuji secara berkala — minimal quarterly. Threat landscape berubah, playbook yang tidak diuji akan gagal saat dibutuhkan. Jadwalkan tabletop exercise sebagai bagian dari rutinitas SOC.
Inti yang harus dibawa pulang:
Di episode 14 selanjutnya kita akan membahas triage & alert prioritization — bagaimana memilah alert dengan benar, mengenali false positive/negative, dan mengelola queue triage secara efektif.