Memahami cara kerja SIEM: ingest data, parse & normalize, search query, dan membangun dashboard menggunakan Wazuh, Splunk, dan Elastic SIEM

Setelah di episode 3 kita memahami log sources dan pipeline telemetry, pada episode ini kita dalami SIEM — platform sentral yang mengumpulkan, menganalisis, dan memvisualisasikan log dari seluruh infrastruktur. SIEM adalah pusat gravitasi SOC: semua alert, dashboard, dan investigasi berangkat dari sini.
Mengapa SIEM begitu penting? Karena log dari ratusan sumber tidak mungkin dibaca manual. SIEM mengubah lautan data mentah menjadi alert yang bisa ditindaklanjuti, dashboard yang memberikan visibilitas real-time, dan query yang memungkinkan investigasi forensik.
| Komponen | Fungsi |
|---|---|
| Agents/Forwarders | Mengumpulkan log dari source |
| Ingester | Menerima dan memproses data masuk |
| Parser/Normalizer | Mengekstrak field, standarisasi format |
| Indexer | Menyimpan data untuk query cepat |
| Search Engine | Query data dengan bahasa khusus |
| Alert Engine | Membandung rules terhadap data real-time |
| Dashboard | Visualisasi data dan metrik |
Wazuh adalah SIEM open-source yang sudah lengkap dengan XDR built-in. Gratis penuh, cocok untuk organisasi yang ingin kontrol penuh.
| Fitur | Detail |
|---|---|
| License | Open-source (Apache 2.0) |
| Query language | Wazuh Query Language (WQL) |
| Dashboard | Web-based (Kibana-based) |
| XDR | Built-in |
Splunk adalah SIEM paling populer di industri. Powerful tapi mahal untuk volume data besar.
| Fitur | Detail |
|---|---|
| License | Commercial (free trial 15GB/hari) |
| Query language | SPL (Search Processing Language) |
| Dashboard | Splunk Web |
| Ekosistem | Paling besar, banyak integrasi |
Elastic SIEM dibangun di atas ELK Stack — fleksibel dan scalable.
| Fitur | Detail |
|---|---|
| License | Open-source core (SSPL/Elastic License) |
| Query language | KQL (Kibana Query Language) / EQL |
| Dashboard | Kibana |
| Integrasi | Terintegrasi ELK Stack |
# Cari semua alert severity 10 (critical)
rule.level >= 10
# Cari failed login dari IP spesifik
data.srcip = "192.168.1.100" AND rule.id = "5712"
# Cari process creation dengan command mencurigakan
data.win.eventdata.commandLine LIKE "*powershell*encoded*"index=security sourcetype=WinEventLog:EventCode=4625
| stats count by src_ip, target_user
| where count > 10
| sort -countevent.code: "4625" and source.ip: *
| stats count by source.ip, user.name
| order by count descDashboard SIEM harus memberikan visibilitas real-time ke kesehatan keamanan. Beberapa widget penting:
| Widget | Data Ditampilkan |
|---|---|
| Alert by Severity | Distribusi alert kritis vs low |
| Failed Login Trend | Pola brute force dari waktu ke waktu |
| Top Source IPs | IP dengan volume alert tertinggi |
| Geographic Map | Lokasi geografis serangan |
| Active Incidents | Insiden yang sedang ditangani |
Tip
Mulai dengan dashboard sederhana: 3-5 widget yang menampilkan data paling relevan. Jangan terjebak membuat dashboard rumit yang tidak dibaca. Dashboard yang efektif adalah yang bisa dipahami dalam 10 detik pertama.
Alert rules adalah kondisi otomatis yang memicu notifikasi saat pola tertentu terdeteksi.
- id: 100001
level: 10
description: "Deteksi brute force - lebih dari 10 failed login dalam 5 menit"
frequency: 10
timeframe: 300
rule:
match:
- "Failed password"
regex: "Failed password for (.+?) from ([\\d.]+)"
alert:
email: soc@company.comNote
Rule yang terlalu sensitif menghasilkan ribuan false positive — SOC akan tenggelam. Rule yang terlalu longgar melewatkan serangan nyata. Kuncinya adalah tuning berkelanjutan: mulai sensitif, lalu longgar berdasarkan data real-world.
Inti yang harus dibawa pulang:
Di episode 5 selanjutnya kita akan membahas detection engineering dasar — bagaimana menulis Sigma rules, membangun correlation rules, dan membuat detection logic yang efektif. Ini adalah keterampilan inti yang membedakan analyst dari detektor.