Arman Ridho MaulanaArman Ridho
  • Home
  • About
  • Skills
  • Experience
  • Projects
  • Certifications
  • Blog
  • Contact
Download CV
Back to Blog
August 29, 2026wazuhsiemblue-teamcloud-security

Self-Hosted Wazuh: Building a Cloud Telemetry Pipeline That Doesn't Cost a Fortune

Gue cerita gimana gue bangun SIEM self-hosted pakai Wazuh buat kumpulin log dari cloud dan server kita sendiri, dari kagetnya lihat tagihan SIEM managed sampai deteksi pertama yang beneran nangkep anomali.

Gue masih inget persis malam itu. Jam sepuluh lewat, gue lagi nikmat-nikmatnya ngeteh sambil nunggu alert yang gak dateng-dateng, pas email tagihan bulanan dari vendor SIEM managed kita masuk. Gue kira cuma email biasa. Ternyata angkanya bikin gue tersedak teh sendiri. Nominalnya bukan cuma naik dikit, dia loncat berkali-kali lipat cuma dalam satu bulan, dan alasannya satu: volume telemetry dari cloud kita makin gila karena tim developer nge-push fitur baru tiap minggu. Di situ gue sadar, kita sebenernya lagi nyewa orang buat takut-takutin diri sendiri. Kita bayar mahal buat platform yang "ngurusin semua", tapi pas gue buka dashboard mereka, gue malah bingung: data ada, tapi konteksnya ilang. Alert numpuk, prioritasnya gak jelas, dan gue cuma jadi penonton di sistem yang gue sendiri yang bayar.

Cerita ini gue tulis bukan buat ngejek SIEM managed. Beberapa tim emang butuh itu, apalagi kalau gak punya orang yang mau pegang infrastruktur monitoring. Tapi buat tim seukuran kita, punya dua sampai tiga engineer yang biasa ngoprek Linux, gue mulai ngerasa kita beli kemudahan dengan harga yang terlalu mahal dan visibilitas yang terlalu semu. Jadi gue mutusin satu hal yang bikin beberapa kawan gue geleng-geleng: gue mau bangun SIEM sendiri, self-hosted, pakai Wazuh. Dan gue pengen sistem itu beneran ngelihat cloud kita, bukan cuma server di dalam ruangan.

Self-Hosted Wazuh: Membangun Pipeline Telemetry Cloud

Awalnya Gue Juga Ragu

Jujur aja, pas ide "bangun SIEM sendiri" muncul pertama kali, gue sendiri yang paling ragu. Kepala gue langsung penuh sama pertanyaan minder: gue sanggup gak jaga sistem sepenting ini? Kalau besok ada insiden dan deteksinya gak nyala gara-gara gue salah setel, gue yang disalahin. Itu beban mental yang beda sama pakai layanan orang. Di layanan managed, kalau sistem mati, lo bisa lempar tangan: "vendor-nya yang down". Di self-hosted, gak ada tempat buat lempar. Lo yang nyala-in mesin, lo yang tidur-tidur ayam pas dia reboot.

Tapi justru di situlah letak pelajarannya. Pas lo pegang sendiri, lo dipaksa paham tiap lapisan. Lo tau persis data darimana, lewat mana, disimpen di mana, dan kapan dia dibaca. Di SIEM managed, semua itu jadi kotak hitam. Lo cuma kasih akses, mereka kasih ringkasan. Kadang ringkasannya bagus, kadang dia sembunyiin masalah di balik antarmuka yang manis. Gue pengen keluar dari kotak hitam itu. Gue pengen tau persis kenapa satu alert muncul, dan kenapa seribu alert lainnya gak usah gue peduliin.

Kenapa Wazuh, Bukan yang Lain

Pilihan tool itu sebenernya gak serumit yang dibayangin orang. Gue butuh sesuatu yang gratis buat mulai, open source, dan gak minta lisensi mahal cuma buat nyalain fitur dasar. Wazuh menang di situ. Dia turunan dari OSSEC, jadi akarnya udah lama di dunia HIDS, tapi versi sekarang udah jauh lebih dari sekadar detector file integrity. Dia punya agent yang bisa ditaruh di server, punya modul buat baca log cloud, dan yang paling penting buat gue: dia bisa diintegrasiin sama ElasticSearch buat nyimpen dan nyari data.

Gue sempet liat opsi lain. Ada yang murni SaaS, ada yang open source tapi dokumentasinya kayak teka-teki. Wazuh menang karena komunitasnya hidup dan contoh konfigurasinya banyak bertebaran di internet. Waktu gue nyari "cara konekin log AWS ke Wazuh", gue nemu puluhan tulisan orang yang udah nyoba, gagal, dan share fix-nya. Itu berharga banget buat engineer yang gak punya waktu buat jadi peneliti full-time. Gue butuh alat yang udah dipakai orang lain sebelum gue, biar jalanannya lebih mulus.

Arsitektur yang Gue Bangun

Gue gak mulai dari yang gede. Gue mulai dari satu mesin: satu Wazuh manager, di satu VM yang gue kasih resource cukup buat awal. Di situ jalan manager, sama node ElasticSearch buat terima dan simpen event. Terus tiap server yang kita punya, gue pasangin agent Wazuh. Agent ini tugasnya sederhana tapi krusial: baca log lokal, cek integritas file di folder penting, pantau proses yang aneh, terus kirim semuanya ke manager lewat koneksi terenkripsi.

Yang bikin gue seneng di Wazuh adalah agent-nya gak berat. Dia gak bikin server produksi jadi lemot cuma karena lagi ngirim log. Di hari pertama pasangin agent ke sepuluh server, gue was-was bakal ada komplain "kenapa aplikasi jadi lambat". Ternyata gak ada satu pun tiket masuk. Agent jalan di latar belakang, makan CPU dikit banget, dan kerjanya kelihatan cuma pas memang ada yang perlu dilaporkan. Itu pelajaran pertama: monitoring yang bener gak boleh ngerusak barang yang lagi dipantau.

Bagian Paling Menantang: Ngambilin Log dari Cloud

Server di dalam ruangan gampang. File log ada di /var/log, agent tinggal baca. Tapi cloud itu beda. Infrastruktur kita banyak di atas layanan cloud: ada bucket penyimpanan, ada layanan tanpa server, ada log akses dari load balancer. Semua itu gak duduk di satu file di disk kita. Dia tersebar di konsol cloud, di API, di servis yang gak punya direktori log tradisional.

Di sinilah gue belajar bedanya "ngumpulin log" sama "ngumpulin telemetry". Log itu catatan yang dibikin aplikasi. Telemetry itu jejak perilaku sistem secara luas, termasuk yang gak sengaja dicatet sebagai log. Buat cloud, gue pakai modul Wazuh yang bisa narik event dari layanan cloud lewat akses baca ke rekamannya. Gue kasih credential khusus yang cuma punya hak baca, bukan hak tulis, biar kalau kunci itu bocor, orangnya cuma bisa lihat, gak bisa ngubah apa-apa di cloud kita. Prinsip kecil tapi penting: alat monitoring jangan sampai jadi pintu belakang buat ngerusak.

Pas pertama narik log cloud masuk ke Wazuh, layar dashboard gue tiba-tiba penuh. Bukan alert, tapi data mentah. Ribuan baris tiap jam cuma dari satu layanan. Gue ngerasa kayak orang yang baru buka keran dan kena siram air kotor. Tapi justru di situ gunanya: gue akhirnya lihat pola akses ke bucket kita yang selama ini gak kelihatan, karena SIEM managed kita cuma ambil sebagian dan buang sisanya diam-diam.

Sakit Pertama: Volume yang Bikin Disk Nangis

Tiga hari pertama, gue sombong. "Gampang nih," pikir gue, "tinggal narik semua, toh disk murah." Hari keempat, ElasticSearch mulai ngeluh. Ruang disk nyusut cepet banget. Gue cek, ternyata satu hari aja kita udah ngehasilkin belasan gigabyte event mentah, sebagian besar dari log akses layanan yang gak gue butuhin buat deteksi, cuma buat pajangan.

Di situlah gue belajar tentang retensi dan filtering. Gue gak perlu simpen semua selamanya. Gue bagi jadi dua: event yang penting buat deteksi disimpen lebih lama, event yang cuma buat audit umum disimpen sebentar terus dibuang. Gue juga pasang aturan buat gak kirim ulang event yang sama berkali-kali kalau dia emang cuma noise rutin. Hasilnya? Pemakaian disk turun drastis, dan yang lebih penting, waktu gue buka dashboard buat cari sesuatu, gue gak lagi tenggelam di laut data.

Pelajaran nyata di sini: SIEM yang sehat bukan yang ngumpulin paling banyak, tapi yang ngumpulin yang bener. Volume gak sama dengan visibilitas. Kadang volume justru ngebunuh visibilitas karena lo kelelebihan informasi. Gue harus jadi penjaga gerbang, bukan cuma tempat sampah besar buat semua log.

Rules Itu Deteksi, Bukan Hiasan

Wazuh dateng bawa ribuan aturan bawaan. Bagus di atas kertas. Tapi pas gue hidupin semua, alert meledak. Tiap menit ada yang bilang "ini bahaya", padahal banyak yang cuma orang kita sendiri buka file konfigurasi. Gue sadar aturan bawaan itu ditulis buat dunia umum, bukan buat dunia kita. Kalau gue biarin semua nyala, gue cuma pindah dari "buta" ke "tuli karena berisik".

Jadi gue mulai kurasi. Gue matiin yang gak relevan, gue perkuat yang relevan, dan gue tulis aturan sendiri buat perilaku aneh yang spesifik di lingkungan kita. Misalnya: kalau ada token akses dipakai dari luar jam kerja terus langsung nyoba buka banyak bucket berbeda, itu gue naikin jadi prioritas tinggi. Aturan kayak gitu gak ada di paket bawaan karena dia spesifik buat kebiasaan tim kita. Nah, nulis aturan sendiri ini yang bikin monitoring berasa punya kita, bukan punya vendor.

Dan gue belajar satu hal jujur: aturan yang gak pernah diuji itu cuma harapan, bukan deteksi. Gue mulai biasain diri buat tiap kali nulis aturan baru, gue simulasiin kejadiannya. Gue bikin aksi yang emang mirip serangan kecil di server test, terus liat apakah aturan itu nyala. Kalau gak nyala, berarti aturan itu cuma pajangan. Gue buang atau benerin. Deteksi yang bener itu yang udah lo buktiin bisa nangkep, bukan yang cuma kelihatan keren di file konfigurasi.

Malam di Mana Wazuh Beneran Nangkep Sesuatu

Sampai di sini, gue masih setengah berasa ini cuma proyek hobi yang kebetulan jalan. Sampai suatu malam, sekitar tiga minggu setelah semua nyala, gue dapet notifikasi prioritas tinggi di HP. Bukan email biasa, tapi alert Wazuh yang gue set biar nge-PUSH ke HP kalau skor ancamannya lewat batas. Isinya singkat tapi bikin gue langsung duduk: ada credential yang dipakai dari region cloud yang kita gak punya tim di sana, dan dia langsung nyoba list isi banyak bucket sekaligus.

Gue buka dashboard, telusuri rantai eventnya. Wazuh udah kumpulin jejaknya rapi: kapan credential itu dipakai, dari IP mana, region mana, bucket apa aja yang dia sentuh, dan apa respon sistem kita. Gue gak perlu ngejar-ngejar log satu-satu kayak dulu. Semuanya udah di satu tempat, urut, dan jelas. Gue cabut akses credential itu dalam satu menit, muter kunci, dan cek apa dia sempet keluarin data. Ternyata nggak. Dia baru mulai "ngintip", dan kita sudah tutup pintunya sebelum dia sempet bawa apa-apa.

Malam itu gue gak bisa tidur tenang, tapi gue tidur puas. Karena untuk pertama kalinya, sistem yang gue bangun sendiri beneran kerja. Bukan karena UI-nya cakep, tapi karena dia kasih konteks pas gue butuhin. Dan ongkos buat sistem itu? Cuma sewa satu VM kecil ditambah waktu gue. Bandingin sama tagihan vendor yang bikin gue tersedak teh beberapa minggu sebelumnya.

Yang Gue Pelajari Soal Kepemilikan

Banyak orang mikir self-hosted itu cuma soal hemat duit. Buat gue, duit cuma satu sisi. Sisi yang lebih gede adalah kepemilikan. Pas lo punya SIEM sendiri, lo punya otak di balik tiap keputusan. Lo tau aturan mana yang sengaja lo matiin dan kenapa. Lo tau data mana yang sengaja lo buang dan apa risikonya. Gak ada kejutan dari vendor yang tiba-tiba ubah harga atau ubah cara mereka baca log lo.

Tapi jujur, self-hosted minta harga: lo harus rawat dia. ElasticSearch kadang perlu dioptimasi. Agent kadang perlu di-upgrade. Aturan kadang perlu di-tune ulang pas arsitektur cloud berubah. Itu pekerjaan rutin yang gak kelihatan di laporan, tapi dia yang bikin sistem tetep sehat. Gue pasang jadwal buat cek kesehatan manager seminggu sekali, bukan pas udah rusak. Karena pas sistem monitoring yang rusak, lo gak bakal tau dia rusak. Dia cuma diam, dan diam itu bahaya.

Kalau Lo Mau Mulai dari Nol

Buat kawan gue yang baca ini dan pengen coba, gue gak suruh lo langsung pindahin semua ke self-hosted besok pagi. Mulai kecil. Pasang satu agent Wazuh di satu server test. Biarin dia jalan seminggu. Liat apa yang dia laporkin. Baru pelan-pelan tambah server produksi kalau lo udah percaya sama cara dia kerja. Jangan langsung nyalain semua aturan bawaan, nanti lo cuma dapet kebisingan. Kurasi pelan-pelan.

Terus soal cloud: jangan anggap remeh. Log cloud itu emang lebih ribet diambil, tapi dia bagian paling berharga karena dia nunjukin apa yang terjadi di luar server fisik lo. Kalau lo cuma pantau server dan lupa pantau layanan cloud, lo cuma jagain pintu depan rumah tapi ninggalin jendela belakang terbuka. Dan kasih akses baca saja untuk pengambilan log, jangan akses penuh. Alat pemantau seharusnya gak pernah jadi senjata buat nyerang infrastruktur sendiri.

Terakhir, ukur keberhasilannya bukan dari seberapa banyak alert, tapi dari seberapa cepet lo bisa jawab satu pertanyaan pas ada apa-apa: siapa, kapan, dari mana, dan udah sejauh mana. Kalau sistem lo bisa jawab itu dalam hitungan menit tanpa lo harus buka sepuluh konsol berbeda, berarti lo udah di jalur yang bener. Sisanya tinggal soal terus nyetel sampai makin pas.

Penutup yang Gak Dibikin-bikin

Gue tutup cerita ini bukan dengan kesimpulan manis bahwa self-hosted itu selalu jawaban. Kadang dia memang bukan. Tim yang kecil banget dan gak punya orang teknis akan lebih baik di layanan managed. Tapi buat kita, dan buat banyak tim engineer yang suka pegang kendali, bangun SIEM sendiri pakai Wazuh itu keputusan yang bikin kita tidur lebih tenang dan dompet lebih tebal. Kita gak lagi bayar buat takut. Kita bayar sedikit buat alat, dan sisanya kita kerjain sendiri dengan kepala jalan terus.

Tagihan vendor yang bikin gue tersedak teh itu akhirnya gue berhentin. Dan anehnya, sejak pakai sistem sendiri, deteksi kita malah lebih tajam karena kita yang merangkainya sesuai cara kita kerja. Jadi kalau suatu malam lo juga kaget liat tagihan platform security lo, maybe itu tanda waktunya lo bangun sendiri. Gue gak janji gampang, tapi gue janji itu bakal bikin lo paham sistem lo jauh lebih dalem dari sebelumnya.

Related Posts

Aug 28, 20269 min read

The First 90 Days as a SOC Analyst: What No Course Taught Me

Gue cerita jujur soal 90 hari pertama jadi SOC analyst, dari panik lihat alert berjibun sampai berani ambil keputusan sendiri, plus pelajaran yang gak bakal lo dapet di kelas manapun.

soc-analyst·career·blue-team·cybersecurity-career
Read article
Aug 26, 20269 min read

Object Storage Security: The Public Bucket That Exposed Our Backups

Cerita gue tentang malam di mana gue nyadarin bucket backup perusahaan kebuka ke publik, dan perjalanan gue belajar mengamankan object storage: dari public access block, enkripsi, rotasi key, sampai kebiasaan ngaudit storage tiap minggu biar rahasia gak gampang bocor.

cloud-security·object-storage·s3·misconfiguration
Read article
Aug 24, 202614 min read

Secrets Management: The Night I Almost Leaked Every Production Password

Cerita gue tentang malam di mana gue hampir nge-commit semua password production ke repo public, dan perjalanan gue belajar secrets management: dari secret sprawl, rotasi credential, sampai kebiasaan yang bikin rahasia gak gampang bocor.

secrets-management·cloud-security·devops-security·credential-hygiene
Read article
A
Arman Ridho

Cybersecurity & IT infrastructure professional building secure, reliable systems in Jakarta.

Navigate
  • Home
  • About
  • Skills
  • Projects
  • Contact
Explore
  • Experience
  • Certifications
  • Blog
  • Download CV
© 2026 Arman Ridho Maulana. All rights reserved.Built with Next.js & Gravity UI