Lewati ke konten utama
seratusribu.com
Semua artikel
DevOps & Shell

SIEM Sederhana dengan Wazuh dan Docker untuk Server Kecil

Oleh Anang H. Darmawan

3 menit baca
Laporkan
SIEM Sederhana dengan Wazuh dan Docker untuk Server Kecil

Foto: Zulfugar Karimov / Unsplash

Buka file /var/log/auth.log di VPS mana pun yang port SSH-nya terbuka ke internet, dan kamu hampir pasti menemukan ratusan percobaan login dari alamat yang tidak kamu kenal. Log itu sudah bicara sejak lama. Masalahnya, jarang ada yang membacanya sampai server benar-benar bermasalah.

Di sinilah SIEM berguna. SIEM, singkatan dari Security Information and Event Management, mengumpulkan log dari banyak sumber, mencocokkannya dengan aturan, lalu memunculkan alert saat ada pola mencurigakan. Wazuh adalah salah satu SIEM open-source yang banyak dipakai, dan bisa dijalankan lewat Docker.

Komponen Wazuh yang perlu kamu pahami

Wazuh terdiri dari beberapa bagian. Manager atau server menerima dan menganalisis event. Indexer, yang berbasis OpenSearch, menyimpan data supaya bisa dicari. Dashboard adalah antarmuka web untuk melihat alert. Lalu ada agent, program kecil yang dipasang di setiap server yang ingin dipantau.

Pembagian ini penting karena banyak orang mengira memasang stack Wazuh di satu server otomatis membuat semua servernya terpantau. Tidak begitu. Setiap server lain butuh agent-nya sendiri, dan agent perlu bisa terhubung ke manager, secara default lewat port 1514 untuk kiriman event dan 1515 untuk pendaftaran agent. Cek aturan firewall kedua sisi sebelum menyalahkan konfigurasi.

Kebutuhan sumber daya, jangan ditebak

Bagian indexer adalah yang paling haus memori. Kebutuhan pasti RAM dan CPU berbeda tergantung versi Wazuh dan jumlah agent, jadi cek angka terbaru di dokumentasi resmi Wazuh untuk versi yang kamu pakai. Satu hal yang bisa saya pastikan: VPS 1 sampai 2 GB bukan tempat yang realistis untuk menjalankan stack lengkap.

Syarat lain yang sering membuat stack gagal start adalah parameter kernel vm.max_map_count. Indexer berbasis OpenSearch membutuhkan nilai ini dinaikkan, umumnya ke 262144, dan pengaturannya harus dibuat permanen supaya tidak kembali ke nilai awal setelah reboot. Kalau container indexer terus restart tanpa pesan yang jelas, periksa parameter ini lebih dulu.

Opsi yang cukup masuk akal untuk tim kecil: satu VPS khusus untuk stack Wazuh, dan agent di server produksi. Server produksi tetap ringan karena agent jauh lebih hemat sumber daya dibanding stack-nya.

Alert pertama yang layak kamu uji: brute force SSH

Wazuh punya aturan bawaan untuk mendeteksi login SSH gagal yang berulang dari satu sumber dalam waktu singkat. Ini alert yang bagus untuk memastikan seluruh rantai bekerja, dari agent sampai dashboard.

Cara mengujinya: dari laptop, coba login SSH ke server yang dipasangi agent dengan password salah beberapa kali berturut-turut. Dalam hitungan menit, alert seharusnya muncul di dashboard. Kalau tidak muncul, telusuri urutannya: apakah agent berstatus aktif, apakah log SSH dibaca agent, dan apakah waktu di kedua server sinkron.

Mengelola noise supaya alert tetap dibaca

Masalah terbesar SIEM di tim kecil bukan pemasangannya, melainkan alert yang terlalu banyak. Setelah seminggu, dashboard bisa berisi ribuan event level rendah, dan orang berhenti membukanya. Alert yang tidak dibaca sama saja dengan tidak punya SIEM.

Mulailah dari level alert tinggi saja untuk notifikasi, sisanya cukup tersimpan di dashboard. Teruskan hanya alert penting ke kanal yang benar-benar dibaca tim, misalnya Telegram. Tinjau setiap dua minggu aturan mana yang paling sering muncul tanpa tindak lanjut, lalu sesuaikan ambangnya.

SIEM juga tidak menggantikan audit berkala. Wazuh memberi tahu kejadian yang sedang berlangsung, sedangkan audit memeriksa kondisi saat ini, misalnya port terbuka atau user yang tidak dikenal. Audit keamanan Linux, laporan memindai port, akun user mencurigakan, dan permission berisiko, lalu merangkumnya ke laporan HTML. Keduanya saling melengkapi.

Kalau kamu ingin mulai tanpa merangkai belasan langkah manual, SIEM Sederhana dengan Wazuh + Docker berisi skrip setup.sh yang mengotomasi langkah resmi dokumentasi Wazuh: cek prasyarat, set vm.max_map_count, clone repo resmi di versi pilihanmu, generate sertifikat, dan start stack. Paketnya juga memuat contoh integrasi webhook ke Telegram dan panduan troubleshooting, dengan harga Rp300.000. Kalau server produksimu sendiri belum di-hardening, urutan yang lebih aman adalah membereskan itu dulu, misalnya lewat jasa setup dan hardening VPS.

Langkah konkret untuk hari ini: hitung berapa percobaan login SSH gagal di server kamu dalam 24 jam terakhir dengan grep "Failed password" pada auth.log. Angka itu biasanya cukup untuk memutuskan apakah SIEM perlu dipasang bulan ini.