Di episode ini kita menghubungkan Wazuh dengan TheHive untuk case management dan Shuffle untuk orkestrasi otomasi, ditambah notifikasi webhook dan email. Kita juga belajar mengekspor alert ke syslog eksternal, Kafka, atau SIEM lain agar deteksi terhubung dengan playbook incident response.

Di episode 17 kita membangun custom rules dan advanced detection, jadi Wazuh di tangan kalian sudah makin tajam mengenali anomali. Namun deteksi yang hebat belum berarti apa-apa bila tidak direspons dengan cepat dan rapi. Di episode 18 ini kita menutup mata rantai itu dengan menghubungkan Wazuh ke lapisan SOAR.
Kita akan membuka tiga jalur sekaligus. Pertama, TheHive untuk case management agar setiap alert berubah menjadi kasus yang bisa dilacak sampai tuntas. Kedua, Shuffle untuk orkestrasi otomasi seperti enrichment dan notifikasi. Ketiga, export alert ke sistem lain seperti syslog eksternal, Kafka, atau SIEM lain agar data Wazuh bisa berkontribusi di tempat yang sudah berjalan.
Tidak semua lab perlu ketiga-tiganya sekaligus di hari pertama. Mulailah dari kebutuhan kalian: hanya butuh email alert harian, atau sedang membangun SOC lab dengan alur deteksi sampai resolusi. Kita bahas pola yang sama-sama dipakai di lapangan, sehingga kalian bisa mengembang-kannya sendiri.
SOAR adalah singkatan dari Security Orchestration, Automation, and Response. Tugasnya menyatukan deteksi dari berbagai sumber, lalu mengubahnya menjadi tindakan yang terkoordinasi. Wazuh adalah mesin deteksi yang sangat baik, tetapi ia bukan platform manajemen kasus. Di situlah TheHive dan Shuffle masuk.
Batas kerja yang wajar adalah begini:
Dengan pemisahan ini, kalian tidak perlu memaksa Wazuh menjadi segalanya. Setiap alat tetap menjalankan fungsi yang paling dikuasainya, dan integrasi menyambung semuanya.
TheHive memiliki REST API yang bisa dipanggil Wazuh. Pendekatan yang paling umum dipakai adalah integrasi custom: kita menulis skrip kecil yang memanggil API TheHive, lalu mendaftarkannya sebagai integration di Wazuh manager. TheHive perlu organisasi, user, dan API key yang dipakai oleh Wazuh.
Setelah API key tersedia, buat skrip di direktori integrations milik Wazuh, lalu pastikan dependensi Python yang dibutuhkannya terpasang:
ls -la /var/ossec/integrations/custom-w2thive.py
/var/ossec/framework/python/bin/python3 -c "import thehive4py"Penting juga menjaga izin berkas. Wazuh menjalankan skrip dengan user tertentu, jadi pastikan skrip bisa dibaca dan dieksekusi oleh user tersebut. Kesalahan izin adalah penyebab tersering integrasi yang diam-diam tidak berjalan.
Info
Jangan pernah menyimpan API key di dalam kode yang dibagikan. Simpan di berkas konfigurasi dengan izin terbatas, dan cabut key dari riwayat git bila sudah terlanjur tersebar.
Setelah skrip siap, daftarkan integration di ossec.conf. Blok ini memberitahu Wazuh ke mana alert harus diteruskan dan pada level berapa:
<integration>
<name>custom-w2thive</name>
<group>syscheck,authentication_failures</group>
<alert_format>json</alert_format>
<level>7</level>
</integration>Dengan konfigurasi di atas, Wazuh meneruskan alert berlevel 7 ke atas dari group yang dipilih. TheHive menampungnya sebagai alert, dan analis bisa mempromosikannya menjadi kasus ketika memang layak.
Alur lengkapnya menjadi seperti ini: agen mengirim kejadian, manager mengevaluasi rule, alert memicu integration, skrip memanggil API TheHive, dan kasus baru terbentuk. Seluruh proses berjalan tanpa manusia menyalin log secara manual, dan justru di situlah nilai utamanya.
Shuffle adalah SOAR open source yang mengatur alur otomasi antar alat lewat workflow visual. Wazuh menembak ke webhook Shuffle, lalu workflow menjalankan langkah berikutnya seperti enrichment hash atau pembuatan kasus di TheHive.
Konfigurasi di sisi Wazuh cukup singkat:
<integration>
<name>shuffle</name>
<hook_url>http://IP_SHUFFLE:3001/api/v1/hooks/ID_HOOK</hook_url>
<level>3</level>
<alert_format>json</alert_format>
</integration>Shuffle mengirim semua alert level 3 ke atas ke workflow yang menempel di hook tersebut. Di dalam workflow, kalian bisa menambahkan node untuk memeriksa reputasi IP atau hash, membuat kasus di TheHive, sampai mengirim pesan ke tim.
Info
Hati-hati dengan filter level yang terlalu rendah. Alert noisy level 3 bisa membanjiri workflow dan menghabiskan kuota API enrichment. Naikkan level ke 7 atau 8 bila volume mulai tidak terkendali.
Tidak semua notifikasi perlu lewat SOAR penuh. Untuk kebutuhan sederhana, Wazuh punya dua jalan yang langsung berfungsi.
Email alert diatur lewat bagian email_alerts pada ossec.conf:
<global>
<email_notification>yes</email_notification>
<smtp_server>smtp.contoh.com</smtp_server>
<email_from>wazuh@soc.contoh.com</email_from>
<email_to>analis@soc.contoh.com</email_to>
</global>
<alerts>
<email_alert_level>10</email_alert_level>
</alerts>Webhook memakai integration bertipe custom dengan hook URL tujuan:
<integration>
<name>custom-webhook</name>
<hook_url>https://hook.contoh.com/terima-alert</hook_url>
<alert_format>json</alert_format>
<level>8</level>
</integration>Pilih berdasarkan kebutuhan. Email cocok untuk ringkasan, webhook cocok untuk aplikasi internal yang menerima JSON langsung.
Ada kalanya alert Wazuh harus ikut mengalir ke infrastruktur yang sudah ada. Wazuh menyediakan output syslog untuk kebutuhan itu:
<syslog_output>
<server>10.10.1.50</server>
<port>514</port>
<format>json</format>
</syslog_output>Untuk Kafka atau SIEM lain, pola yang umum dipakai adalah mengalirkan alert lewat filebeat atau logstash. Alert Wazuh tersimpan di /var/ossec/logs/alerts/alerts.json dalam bentuk JSON, dan tool seperti filebeat bisa memompa berkas itu ke Kafka atau Elasticsearch tujuan.
Info
Sebelum mengalirkan alert ke sistem lain, pastikan sistem tujuan punya retention policy sendiri. Jika tidak, data duplikat akan membengkak dan biaya penyimpanan ikut naik tanpa nilai tambah.
Export dan notifikasi akan jauh lebih berguna jika disambungkan ke playbook. Tentukan dulu bagaimana alert level tinggi diproses manusia dan otomasi: siapa yang menerima notifikasi pertama, langkah isolasi mana yang boleh otomatis, dan kapan kasus dianggap selesai.
Di TheHive, status kasus bisa menjadi sumber kebenaran. Saat kasus ditutup, catat ringkasan dan tindakan yang diambil. Pola seperti ini membuat post-mortem lebih mudah karena seluruh kronologi sudah tercatat sejak alert pertama muncul.
Di episode 18 ini kalian menghubungkan Wazuh dengan ekosistem di sekitarnya:
Inti yang harus dibawa pulang:
Di episode 19 kita bicara hal yang jarang diperhatikan sampai semuanya mulai lambat: performance tuning dan capacity planning agar Wazuh tetap sehat saat beban tumbuh. Sampai jumpa!