Di episode ini kita mengintegrasikan Wazuh dengan Docker dan Kubernetes. Kita menjalankan wazuh-docker sebagai listener agentless untuk memonitor container, deploy Wazuh di cluster K8s dengan helm chart, memonitor pods dan namespaces, serta menyiapkan audit log dan CIS benchmark Kubernetes.

Di episode 12, kita sudah menghubungkan Wazuh dengan AWS, Azure, dan GCP. Sekarang saatnya turun ke lapisan yang lebih dekat dengan aplikasi: container. Container dan Kubernetes sudah menjadi tulang punggung deployment modern, tapi sekaligus membuka permukaan serangan baru.
Wazuh punya dua pendekatan untuk lingkungan container. Untuk Docker standalone, ada wazuh-docker yang berjalan sebagai listener agentless di dekat daemon Docker. Untuk Kubernetes, kita bisa deploy seluruh stack Wazuh di dalam cluster, atau memonitor cluster sebagai node biasa.
Di episode 13 ini, kita akan membahas kedua pendekatan tersebut. Kita mulai dari Docker, lalu masuk ke Kubernetes: deployment Wazuh dengan helm chart, monitoring pods dan namespaces, sampai audit log dan CIS benchmark.
Container bersifat ephemeral. Sebuah image bisa berisi software yang sama sekali berbeda dari host. Karena itu, Wazuh menggunakan modul khusus bernama wazuh-docker.
Modul ini sebenarnya sebuah container yang menjalankan listener. Ia membaca socket Docker dan mencatat semua event daemon, seperti container start, stop, pause, kill, dan restart. Ia juga menangkap event image, misalnya saat image baru di-pull.
Karena listener harus melihat socket Docker, ia perlu dijalankan dengan akses ke socket tersebut. Pada deployment sederhana, cukup mount socket dan direktori log container ke listener.
docker run -d \
--name wazuh-docker \
--restart always \
-e API_PROTOCOL=https \
-e API_HOST=manager.example.com \
-e API_PORT=55000 \
-e API_USERNAME=wazuh-wui \
-e API_PASSWORD=SecretWUI \
-v /var/lib/docker/containers:/var/lib/docker/containers \
-v /var/run/docker.sock:/var/run/docker.sock \
wazuh/wazuh-docker:latestVariabel environment di atas memberitahu listener alamat manager dan credential API untuk mengirim event. Setelah berjalan, listener akan mulai mengumpulkan event dan meneruskannya ke manager.
Event yang masuk dari listener dikategorikan ke beberapa grup. Wazuh sudah menyediakan rules bawaan untuk grup ini, yang bernama docker.
Setiap event yang cocok dengan rule akan menghasilkan alert. Misalnya, container yang restart terlalu sering dalam waktu singkat bisa menjadi sinyal container crash-looping atau serangan denial of service.
{
"agent": {"name": "docker-host"},
"rule": {"description": "Docker: container stopped"},
"data": {"docker": {"status": "stop", "id": "abc123"}},
"level": 5
}Info
Listener wazuh-docker bukan pengganti agent. Untuk visibilitas penuh di dalam container, tetap pasang agent di host dan kombinasikan dengan event dari listener.
Selain event daemon, kita juga butuh isi log dari dalam container. Docker menyimpan log tiap container di /var/lib/docker/containers. Listener yang sudah kita pasang membaca direktori itu, sehingga log stdout dan stderr container ikut masuk ke manager.
Dengan begitu, satu alur data sudah mencakup dua hal sekaligus: event lifecycle container dan log yang dihasilkan aplikasi di dalamnya. Pencarian error aplikasi, percobaan login gagal, atau pola serangan di dalam container bisa dilakukan langsung dari dashboard Wazuh.
Untuk memeriksa log container dari sisi CLI Docker, gunakan command berikut.
docker logs --tail 50 nama-containerUntuk cluster Kubernetes, Wazuh bisa di-deploy langsung ke dalam cluster. Pendekatan ini membuat seluruh stack SIEM hidup di lingkungan yang sama dengan workload yang diamati.
Cara paling mudah adalah memakai helm chart resmi. Pertama, clone repository wazuh-kubernetes, lalu install chart dengan namespace khusus.
git clone https://github.com/wazuh/wazuh-kubernetes.gitChart ini mendeploy komponen lengkap: manager, indexer, dan dashboard. Pada cluster kecil, semua komponen bisa berjalan di namespace yang sama. Pada cluster besar, kalian bisa memisahkannya sesuai kebutuhan, misalnya indexer di dedicated node group.
Agent Wazuh bisa dipasang sebagai DaemonSet sehingga setiap node terpantau. Kombinasi ini memberikan beberapa kemampuan:
Untuk visibilitas Kubernetes yang lebih dalam, aktifkan audit logging di kube-apiserver. Audit log berisi setiap permintaan API ke cluster, siapa yang melakukannya, dan dari mana. Wazuh membaca audit log ini sebagai file log biasa lewat konfigurasi localfile pada agent.
kubectl logs -n kube-system kube-apiserver --tail 100Aturan deteksi untuk Kubernetes sudah disediakan dalam grup kubernetes. Alert seperti perubahan role binding, pembuatan pod privileged, atau akses ke secret yang mencurigakan langsung terbentuk tanpa perlu rule tambahan.
Wazuh juga membawa SCA policy untuk Kubernetes, yang kita kenal dari pembahasan SCA di episode sebelumnya. Policy ini memeriksa konfigurasi kontrol-plane, node, dan komponen lain terhadap standar CIS Kubernetes Benchmark.
Hasil scan muncul sebagai klaster pemulihan dan rekomendasi per item. Misalnya, policy akan menandai etcd yang berjalan tanpa enkripsi, kubelet dengan port tidak aman, atau sertifikat kontrol-plane yang tidak kedaluwarsa tepat waktu.
sudo wazuh-control restart
sudo cat /var/ossec/etc/shared/kubernetes.ymlBerikut ringkasan perbedaan pendekatan kedua lingkungan tersebut.
wazuh-docker di host, tanpa deployment stack penuh.Info
Jangan menaruh semua harapan pada satu lapisan. Integrasi Docker, Kubernetes audit log, dan SCA saling melengkapi. Masing-masing melihat sudut yang berbeda dari lingkungan yang sama.
Di episode 13 ini, kita membahas integrasi Wazuh dengan Docker dan Kubernetes. Untuk Docker, listener wazuh-docker menangkap event container dan log aplikasi tanpa perlu mengubah workload. Untuk Kubernetes, kita deploy stack Wazuh dengan helm chart, memonitor pods dan namespaces lewat DaemonSet agent, dan memperdalam visibilitas dengan audit log kube-apiserver serta CIS benchmark.
Inti yang harus dibawa pulang:
wazuh-docker adalah listener agentless yang membaca event dari socket Docker./var/lib/docker/containers.kubernetes menyediakan hardening sesuai CIS Benchmark.Dengan container dan Kubernetes terpantau, selanjutnya kita naik level ke arsitektur. Di episode 14, kita akan membahas arsitektur distribusi Wazuh: cluster indexer multi-node, cluster manager tiga node, load balancing, dan high availability untuk skala production. Sampai jumpa!