Panduan Penggunaan
Dokumentasi lengkap SOC Provisioning Portal & Wazuh Agent
Apa itu SOC Provisioning
SOC Provisioning Portal adalah aplikasi self-service yang memudahkan tenant (organisasi/individu) untuk mendaftarkan server mereka ke Wazuh SIEM tanpa perlu interaksi manual dengan administrator. Portal otomatis menangani provisioning user, deployment Wazuh Agent, dan pengaturan dashboard per-tenant.
Komponen Utama
- Web Provisioning Portal (Flask) — UI tenant untuk register, deploy, dan kelola agent
- Wazuh Manager — pusat ingestion log, rule engine, dan analisis
- Wazuh Indexer (OpenSearch) — penyimpanan + query alert
- Wazuh Dashboard — visualisasi data dan analisis interaktif
- Telegram Bot — notifikasi alert real-time per tenant
Apa itu Wazuh Agent
Wazuh Agent adalah program kecil yang dipasang pada endpoint (server, workstation) untuk mengumpulkan data telemetri keamanan. Agent berjalan sebagai background service dan mengirim data ke Wazuh Manager via TCP port 1514 (encrypted).
Mengumpulkan log sistem, aplikasi, dan keamanan secara real-time.
Memantau perubahan file kritikal (cron, web root, /etc).
Brute force, malware, defacement, web attack, IoC matching.
PCI DSS, NIST 800-53, GDPR, HIPAA mapping otomatis pada alert.
Agent sangat ringan: CPU rata-rata <1%, memori 30–50MB. Hanya membuka koneksi outbound ke Manager — tidak meng-expose port di server target.
Alur Penggunaan
Daftar Akun
Buat akun di portal. Sistem otomatis membuat tenant Wazuh khusus untuk Anda (username, password, dan grup agent).
Hubungkan Telegram (Opsional)
Di halaman Pengaturan, hubungkan akun Telegram untuk menerima notifikasi alert keamanan real-time.
Deploy Agent ke Server
Klik "Deploy Agent", isi form (hostname, IP, kredensial), pilih mode (Ansible / Script), konfirmasi.
Monitor via Wazuh Dashboard
Login ke Wazuh Dashboard menggunakan kredensial dari Pengaturan. Lihat dashboard "Tenant Overview" dengan data terisolasi.
Ansible vs Script Install
Portal menyediakan dua cara instalasi Wazuh Agent. Pilih sesuai kondisi jaringan server target Anda.
Ansible (Otomatis)
- Sepenuhnya otomatis dari portal
- Dukung banyak server sekaligus
- Log deployment real-time
- Butuh SSH/WinRM accessible dari portal
Script Install (Manual)
- Tidak butuh SSH dari portal
- Cocok server di belakang firewall
- Tidak perlu kasih password ke portal
- Run script manual di server (root)
Cara pakai Script Install:
- Pilih mode "Script Install" di form Deploy Agent
- Sistem generate URL + token unik
- Login ke server target (SSH manual / KVM / dll)
- Jalankan:
curl -sk [URL] | sudo bash - Status di portal auto-update saat selesai
Setup SSH Key
Autentikasi SSH Key lebih aman dibanding password. Portal otomatis membuat keypair Ed25519 per user — private key tersimpan di portal, public key perlu dipasang di server target.
Langkah Setup
- 1.Buka halaman Deploy Agent. Salin public key di bagian atas.
- 2.Login ke server target, tambahkan public key:
mkdir -p ~/.ssh && chmod 700 ~/.ssh echo "ssh-ed25519 AAAA..." >> ~/.ssh/authorized_keys chmod 600 ~/.ssh/authorized_keys
- 3.Saat deploy, pilih metode "SSH Key" — tidak perlu password.
Pastikan public key terpasang sebelum deploy. Jika tidak, error Permission denied (publickey).
Sumber Log yang Dipantau
Sistem ini mengumpulkan log dari sumber-sumber berikut secara otomatis pada setiap agent yang dideploy. Konfigurasi default sudah di-push ke setiap tenant group lewat agent.conf sentral.
| Kategori | Path / Sumber | Format | Deteksi |
|---|---|---|---|
| FIM | /etc, /tmp, /home, /var/www/html | syscheck | Persistence, defacement, malware drop |
| Web | /var/log/apache2/*, /var/log/nginx/access.log | apache | SQL injection, XSS, webshell, scanning |
| Auth | /var/log/auth.log | syslog | SSH brute force, sudo escalation, PAM |
| System | /var/log/syslog, /var/log/kern.log | syslog | Service crash, kernel events |
| Firewall | /var/log/ufw.log | syslog | Packet drop dari IP malicious (OTX) |
| Threat Intel | /var/log/wazuh-otx.log | syslog | Match hash file dengan IoC AlienVault |
Daftar log mengikuti dokumentasi resmi Wazuh: Log Data Collection.
File Integrity Monitoring (FIM)
FIM (modul syscheck) memonitor perubahan pada file dan direktori penting. Sistem ini memakai mode realtime sehingga perubahan terdeteksi seketika via inotify (Linux).
Direktori yang Dipantau
/etc— perubahan konfigurasi sistem (cron, systemd, init.d)/tmp— file mencurigakan dropped oleh attacker/home— modifikasi user data/var/www/html— web defacement detection (denganreport_changes)
Atribut yang Dipakai
realtime="yes"— monitor instan (vs scheduled scan)check_md5="yes"— hash MD5 untuk OTX threat intel matching (rule 100103)check_sha256="yes"— hash SHA256 untuk OTX (rule 100104)report_changes="yes"— diff isi file (untuk web root)
Referensi: Wazuh File Integrity Monitoring
Web Server Logs
Apache dan Nginx menulis log akses dan error yang dipakai Wazuh untuk mendeteksi serangan web.
Path & Konfigurasi
Apa yang Dideteksi
- SQL Injection (rule 100040) — payload
UNION SELECT,OR 1=1 - XSS (rule 100041) — tag
<script>di URL - Webshell execution (rule 100044) — perintah shell via web
- Buffer overflow (rule 100043) — URL abnormally long
- Scanning (rule 100045) — multiple HTTP 400 dari same IP
Nginx ditangani dengan parser apache karena format log compatible.
Authentication Logs
/var/log/auth.log mencatat aktivitas autentikasi: SSH login, sudo, PAM session.
Apa yang Dideteksi
- SSH brute force (rules 100020–100027) — multiple gagal login dari IP sama
- Successful brute force (rule 100027) — gagal banyak kali lalu sukses
- Sudo escalation — eskalasi privilege monitoring
- Authentication failure pattern — Wazuh built-in rule 5710, 5712, 5760
Contoh Trigger
System Logs
Log sistem menyediakan konteks operasional umum.
/var/log/syslog— service events, daemon messages, cron jobs/var/log/kern.log— kernel events, hardware errors, OOM kill
Log ini mendukung deteksi anomali sistem dan dipakai sebagai konteks korelasi alert.
Firewall (UFW)
/var/log/ufw.log mencatat paket yang di-drop oleh UFW (Uncomplicated Firewall).
Integrasi dengan OTX Threat Intel
Setiap entry dengan source/destination IP dicocokkan dengan list otx_malicious_ip dari AlienVault OTX.
- Rule 100100 — koneksi DARI IP malicious (level 14)
- Rule 100101 — koneksi KE IP malicious (level 14)
Cara Aktifkan UFW Logging
Threat Intel — AlienVault OTX
Sistem terintegrasi dengan OTX (Open Threat Exchange) AlienVault. List IoC (Indicators of Compromise) diperbarui berkala dan disimpan di:
/var/ossec/etc/lists/otx_malicious_ip/var/ossec/etc/lists/otx_malicious_domains_all/var/ossec/etc/lists/otx_malicious_hash_md5/var/ossec/etc/lists/otx_malicious_hash_sha256
Realtime Hash Lookup
Saat FIM mendeteksi file baru, hash MD5/SHA256 dicocokkan langsung. Jika match, custom decoder menulis ke /var/log/wazuh-otx.log dan trigger rule 100060 (level 14).
Struktur Konfigurasi Wazuh Agent
Wazuh Agent membaca konfigurasi dari dua sumber yang di-merge saat startup:
1. Lokal — ossec.conf
Path: /var/ossec/etc/ossec.conf
Berisi koneksi ke Manager (IP, port). Di-edit sekali saat install, jarang berubah.
2. Sentral — agent.conf
Path di Manager: /var/ossec/etc/shared/<group>/agent.conf
Manager push ke semua agent di group. Berisi syscheck, localfile, labels. Di-update via portal.
Saat Manager update agent.conf, agent akan pull config baru di periodic check (default ~60 detik) atau langsung saat systemctl restart wazuh-agent.
ossec.conf (Konfigurasi Lokal)
File ini di-generate saat instalasi. Bagian terpenting adalah blok <client> yang menentukan koneksi ke Manager.
Parameter Penting
<address>— IP/hostname Wazuh Manager<port>— port komunikasi (default 1514)<protocol>— TCP (recommended) atau UDP<notify_time>— interval keepalive (detik)<time-reconnect>— delay reconnect saat lost connection
Konfigurasi FIM (syscheck)
Modul <syscheck> mendefinisikan direktori yang dipantau untuk perubahan integritas.
Default Konfigurasi Sistem
Atribut yang Dapat Disesuaikan
realtime="yes"— pakai inotify (Linux) untuk deteksi instancheck_all="yes"— semua atribut (size, owner, group, mtime, hash)check_sha256/md5— aktif untuk threat intel hash matchingreport_changes— simpan diff isi file (untuk file teks)recursion_level="N"— kedalaman subdirectory (default 256)
Exclude Pattern
Referensi: Wazuh Syscheck Configuration
Log Collection (localfile)
Blok <localfile> mendefinisikan file log yang akan dibaca dan dikirim ke Manager.
Format Dasar
Tipe Log Format
syslog— format standar Unix syslog (auth, syslog, kern, ufw)apache— Apache & Nginx access/error logiis— Windows IISjson— JSON line per eventmulti-line— log multi-baris (stack trace dll)command— output dari shell command (polling)full_command— output full untuk diffeventchannel— Windows Event Channel
Wildcard Path
Referensi: Wazuh Log Data Collection
Labels (Multi-Tenant Isolation)
Sistem ini menggunakan <labels> untuk menandai setiap alert dengan tenant pemilik. Field tersimpan di alert sebagai agent.labels.tenant.
Konfigurasi di agent.conf
Manfaat
- Setiap alert otomatis tagged — tidak perlu set di kode aplikasi
- OpenSearch DLS (Document Level Security) filter berdasarkan field ini
- Tenant hanya lihat data mereka sendiri di Wazuh Dashboard
Referensi: Wazuh Labels Configuration
Restart & Verifikasi Agent
Cek Status Agent
Restart Agent
Cek Log Runtime
Verifikasi Koneksi ke Manager
Cari di log baris "Connected to the server". Jika ada "Lost connection", cek firewall / connectivity port 1514.
Lihat Konfigurasi Aktif
Wazuh Dashboard
Wazuh Dashboard adalah antarmuka web (berbasis OpenSearch Dashboards) untuk mem-visualisasi alert dan menjelajahi data telemetri.
Cara Akses
- Klik tombol SIEM di navbar (atau buka URL di Pengaturan)
- Login dengan username + password dari halaman Pengaturan
- Buka tab Dashboards di sidebar kiri
- Klik dashboard "Tenant Overview"
Visualisasi Default (Tenant Overview)
- Total Alerts (24 jam terakhir)
- Critical Alerts (level ≥ 13)
- Alert Trend 7 hari (line chart)
- Alerts by Category (donut chart)
- Top 10 Rules (data table)
Data Anda terisolasi via DLS — tenant lain tidak dapat melihat alert milik Anda, dan sebaliknya. Filter ini diberlakukan di backend, tidak dapat di-bypass dari UI.
Troubleshooting
- Pastikan IP Address server benar
- Periksa apakah port SSH (22) atau WinRM (5986) terbuka
- Coba ping server dari jaringan yang sama
- Jika di belakang firewall/NAT, gunakan mode Script Install
- Pastikan SSH service aktif:
systemctl status sshd
- Periksa username dan password
- Pastikan user memiliki akses SSH ke server
- SSH Key: pastikan public key di
~/.ssh/authorized_keys PasswordAuthentication yesdi/etc/ssh/sshd_config- Gunakan fitur Retry dengan password yang benar
- Pastikan server bisa terhubung ke Manager port 1514
systemctl status wazuh-agenttail -f /var/ossec/logs/ossec.log- Cek firewall outbound tidak block ke Manager
- Tenant dibuat di background. Tunggu beberapa menit.
- Refresh halaman Pengaturan
- Gunakan tombol "Coba Buat Tenant" jika belum ada
- Mungkin Wazuh API sedang down — admin akan tangani
FAQ
Apakah Wazuh Agent aman untuk server produksi?
Sangat aman. Agent hanya membaca log, tidak mengubah/menghapus apapun. Hak akses terbatas, tidak meng-expose port apapun.
Apakah password server saya disimpan dengan aman?
Password dienkripsi AES-128 (Fernet) sebelum disimpan di database. Password otomatis dihapus setelah deployment berhasil.
Bisa deploy ke berapa server sekaligus?
Tidak ada batasan. Gunakan tombol "Tambah Server" — semua di-deploy paralel dalam satu batch.
OS apa yang didukung?
Ansible: Linux (Ubuntu/Debian) & Windows (WinRM). Script Install: Linux saja. CentOS/RHEL menyusul.
Apa yang terjadi jika deployment gagal?
Lihat log error di Detail Agent. Tombol "Retry dengan Edit Data" untuk perbaiki & coba ulang tanpa buat agent baru.
Bagaimana cara hapus Wazuh Agent?
Linux: apt-get remove wazuh-agent. Lalu hapus record di portal lewat tombol "Hapus Agent".