Difference between revisions of "Cyber Security: Ubuntu 26.04: Wazuh Install"

From OnnoWiki
Jump to navigation Jump to search
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
Instalasi Wazuh Server di Ubuntu 26.04==
+
Prompt:
  
'''Catatan penting:''' Ubuntu 26.04 LTS belum tercantum sebagai sistem operasi yang didukung resmi oleh instalasi native Wazuh. Dokumentasi Wazuh saat ini hanya mencantumkan Ubuntu 16.04 sampai 24.04. Untuk Ubuntu 26.04, metode yang paling aman adalah menjalankan **Wazuh single-node menggunakan Docker**. Untuk produksi yang membutuhkan dukungan resmi, gunakan Ubuntu Server 24.04. ([Dokumentasi Wazuh][1])
+
  install wazuh all-in-one docker di ubuntu 26.04.
 +
  pastikan bisa dengan mudah akses alerts.json dan archives.json
 +
  juga agar wazuh agents mudah report / connect
  
Instalasi ini memasang:
+
Berikut cara yang paling enak untuk '''Wazuh all-in-one / single-node Docker''' di '''Ubuntu 26.04''', dengan akses langsung ke:
  
* Wazuh Manager
+
/opt/wazuh-data/logs/alerts/alerts.json
* Wazuh Indexer
+
/opt/wazuh-data/logs/archives/archives.json
* Wazuh Dashboard
 
  
==1. Periksa kapasitas server==
+
Docker Engine resmi sudah mendukung '''Ubuntu 26.04 LTS''', dan Wazuh Docker single-node resmi berisi '''Wazuh manager, indexer, dan dashboard''' dalam container terpisah. Wazuh single-node minimal butuh kira-kira '''4 core CPU, 8 GB RAM, dan 50 GB storage'''. ([Docker Documentation][1])
  
Wazuh single-node berbasis Docker membutuhkan setidaknya '''4 core CPU, RAM 8 GB, dan disk 50 GB'''. ([Dokumentasi Wazuh][2])
+
== 1. Install Docker di Ubuntu 26.04==
 
 
nproc
 
free -h
 
df -h
 
uname -m
 
 
 
Arsitektur harus `x86_64` atau `aarch64`.
 
 
 
==2. Perbarui Ubuntu==
 
  
 
  sudo apt update
 
  sudo apt update
  sudo apt upgrade -y
+
  sudo apt -y install ca-certificates curl gnupg git jq netcat-openbsd
sudo reboot
+
 
 
Setelah server hidup kembali, login lagi melalui SSH.
 
 
 
==3. Instal Docker Engine==
 
 
 
Hapus paket Docker lama yang mungkin bentrok:
 
 
 
sudo apt remove -y \
 
  docker.io \
 
  docker-compose \
 
  docker-compose-v2 \
 
  docker-doc \
 
  podman-docker || true
 
 
 
Pasang kebutuhan dasar:
 
 
 
sudo apt update
 
sudo apt install -y ca-certificates curl git
 
 
 
Tambahkan kunci resmi Docker:
 
 
 
 
  sudo install -m 0755 -d /etc/apt/keyrings
 
  sudo install -m 0755 -d /etc/apt/keyrings
 +
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
 +
sudo chmod a+r /etc/apt/keyrings/docker.asc
 
   
 
   
sudo curl -fsSL \
+
  sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
  https://download.docker.com/linux/ubuntu/gpg \
 
  -o /etc/apt/keyrings/docker.asc
 
 
sudo chmod a+r /etc/apt/keyrings/docker.asc
 
 
 
Tambahkan repository Docker:
 
 
 
  sudo tee /etc/apt/sources.list.d/docker.sources > /dev/null <<EOF
 
 
  Types: deb
 
  Types: deb
 
  URIs: https://download.docker.com/linux/ubuntu
 
  URIs: https://download.docker.com/linux/ubuntu
Line 64: Line 29:
 
  Signed-By: /etc/apt/keyrings/docker.asc
 
  Signed-By: /etc/apt/keyrings/docker.asc
 
  EOF
 
  EOF
 
+
Instal Docker Engine dan Compose:
 
 
 
 
  sudo apt update
 
  sudo apt update
 +
sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
 
   
 
   
  sudo apt install -y \
+
  sudo systemctl enable --now docker
  docker-ce \
+
sudo usermod -aG docker $USER
  docker-ce-cli \
+
newgrp docker
  containerd.io \
+
  docker-buildx-plugin \
+
  docker --version
  docker-compose-plugin
+
  docker compose version
 
 
Periksa:
 
 
 
  sudo systemctl status docker --no-pager
 
sudo docker version
 
  sudo docker compose version
 
 
 
Metode repository dan paket tersebut merupakan metode instalasi yang direkomendasikan Docker untuk Ubuntu. ([Docker Documentation][3])
 
  
==4. Konfigurasi kernel untuk Wazuh Indexer==
+
Docker juga mengingatkan bahwa port container yang diekspos bisa bypass aturan `ufw`, jadi jangan expose Wazuh ke Internet langsung. Pakai LAN/lab saja. ([Docker Documentation][1])
  
Wazuh Indexer memerlukan `vm.max_map_count` minimal `262144`. Tanpa konfigurasi ini, indexer dapat gagal menyala. ([Dokumentasi Wazuh][2])
+
== 2. Set kernel parameter untuk Wazuh Indexer==
  
echo 'vm.max_map_count=262144' | \
+
Wazuh meminta `vm.max_map_count=262144`; kalau tidak, Wazuh indexer bisa gagal start. ([Wazuh][2])
sudo tee /etc/sysctl.d/99-wazuh.conf
 
 
 
Terapkan:
 
  
 +
echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-wazuh.conf
 
  sudo sysctl --system
 
  sudo sysctl --system
  
Periksa:
+
== 3. Clone Wazuh Docker stable==
 
 
sysctl vm.max_map_count
 
 
 
Hasil yang diharapkan:
 
 
 
vm.max_map_count = 262144
 
 
 
==5. Download Wazuh Docker==
 
  
Versi Wazuh yang tersedia saat ini adalah seri '''4.14''', dengan paket terbaru yang tercantum sebagai '''4.14.5'''. ([Dokumentasi Wazuh][4])
+
Saya sarankan pakai '''Wazuh 4.14.5 stable''', bukan branch `main` atau beta. Dokumentasi Wazuh saat ini juga memakai `v4.14.5` untuk Docker deployment. ([Wazuh][2])
  
 
  cd /opt
 
  cd /opt
+
  sudo git clone https://github.com/wazuh/wazuh-docker.git -b v4.14.5
  sudo git clone \
+
  sudo chown -R $USER:$USER /opt/wazuh-docker
  https://github.com/wazuh/wazuh-docker.git \
 
  -b v4.14.5
 
 
 
Berikan akses direktori kepada pengguna saat ini:
 
 
 
  sudo chown -R "$USER":"$USER" /opt/wazuh-docker
 
 
 
Masuk ke single-node:
 
 
 
 
  cd /opt/wazuh-docker/single-node
 
  cd /opt/wazuh-docker/single-node
  
 +
== 4. Buat folder host untuk log Wazuh==
  
==6. Buat sertifikat Wazuh==
+
sudo mkdir -p /opt/wazuh-data/logs
 +
sudo chown -R 1000:1000 /opt/wazuh-data
 +
sudo chmod -R 750 /opt/wazuh-data
  
sudo docker compose \
+
Sekarang ubah volume Wazuh manager supaya `/var/ossec/logs` di container langsung muncul di host:
  -f generate-indexer-certs.yml \
 
  run --rm generator
 
  
Periksa apakah sertifikat sudah terbentuk:
+
cp docker-compose.yml docker-compose.yml.bak
 +
sed -i 's=- wazuh_logs:/var/ossec/logs=- /opt/wazuh-data/logs:/var/ossec/logs=' docker-compose.yml
  
sudo ls -lah config/wazuh_indexer_ssl_certs/
+
Cek hasilnya:
  
Direktori tersebut seharusnya berisi beberapa file `.pem`.
+
grep -n "/var/ossec/logs" docker-compose.yml
 +
 +
Harus terlihat kira-kira:
  
==7. Jalankan Wazuh==
+
- /opt/wazuh-data/logs:/var/ossec/logs
  
sudo docker compose up -d
+
== 5. Aktifkan `archives.json`==
  
Periksa container:
+
Default Wazuh archive biasanya '''disabled''' karena bisa makan storage besar. Untuk membuat `archives.json`, aktifkan `logall_json`. Wazuh menjelaskan bahwa `archives.json` dibuat di `/var/ossec/logs/archives/` jika JSON archiving aktif. ([Wazuh][3])
  
sudo docker compose ps
+
Edit config manager:
  
Periksa log:
+
nano config/wazuh_cluster/wazuh_manager.conf
  
sudo docker compose logs --tail=100
+
Pastikan bagian `<global>` seperti ini:
  
Anda seharusnya melihat container untuk:
+
<global>
 +
  <jsonout_output>yes</jsonout_output>
 +
  <alerts_log>yes</alerts_log>
 +
  <logall>no</logall>
 +
  <logall_json>yes</logall_json>
 +
</global>
  
* `wazuh.manager`
+
Untuk lab ML/SOC, saya sarankan:
* `wazuh.indexer`
 
* `wazuh.dashboard`
 
  
Pada awal startup, pesan seperti berikut masih normal sementara indexer melakukan inisialisasi:
+
<logall>no</logall>
 +
<logall_json>yes</logall_json>
  
Failed to connect to Wazuh indexer port 9200
+
Artinya hanya archive JSON yang aktif, bukan archive syslog text biasa. Ini lebih enak untuk Python, SIEM, ML, dan parsing.
Wazuh dashboard server is not ready yet
 
  
Dokumentasi Wazuh menyebutkan indexer memerlukan waktu untuk melakukan inisialisasi sebelum dashboard siap. ([Dokumentasi Wazuh][2])
+
== 6. Generate certificate Wazuh==
  
==8. Buka port firewall==
+
Wazuh Docker perlu certificate untuk komunikasi antar komponen. Perintah resminya adalah `generate-indexer-certs.yml`. ([Wazuh][2])
  
Cari IP server:
+
docker compose -f generate-indexer-certs.yml run --rm generator
  
hostname -I
+
== 7. Jalankan Wazuh all-in-one / single-node==
  
 +
docker compose pull
 +
docker compose up -d
  
Untuk penggunaan dalam jaringan lokal, misalnya jaringan `192.168.0.0/24`:
+
Cek status:
  
  sudo ufw allow OpenSSH
+
  docker compose ps
 
sudo ufw allow from 192.168.0.0/24 \
 
  to any port 443 proto tcp
 
 
sudo ufw allow from 192.168.0.0/24 \
 
  to any port 1514 proto tcp
 
 
sudo ufw allow from 192.168.0.0/24 \
 
  to any port 1515 proto tcp
 
 
sudo ufw enable
 
sudo ufw status numbered
 
  
Ganti `192.168.0.0/24` sesuai subnet jaringan Anda.
+
Lihat log kalau dashboard belum siap:
  
Untuk penggunaan dalam jaringan lokal, misalnya jaringan `192.168.1.0/24`:
+
docker compose logs -f wazuh.indexer
 +
docker compose logs -f wazuh.manager
 +
docker compose logs -f wazuh.dashboard
  
sudo ufw allow OpenSSH
+
Akses dashboard:
 
sudo ufw allow from 192.168.1.0/24 \
 
  to any port 443 proto tcp
 
 
sudo ufw allow from 192.168.1.0/24 \
 
  to any port 1514 proto tcp
 
 
sudo ufw allow from 192.168.1.0/24 \
 
  to any port 1515 proto tcp
 
 
sudo ufw enable
 
sudo ufw status numbered
 
  
Ganti `192.168.1.0/24` sesuai subnet jaringan Anda.
+
https://IP_SERVER_WAZUH/
  
Port utamanya:
+
Login default biasanya:
  
* `443/TCP`: dashboard
+
username: admin
* `1514/TCP`: komunikasi agent
+
password: SecretPassword
* `1515/TCP`: registrasi agent
 
* `55000/TCP`: Wazuh API
 
* `9200/TCP`: Wazuh Indexer API
 
  
Jangan membuka port `9200` dan `55000` ke internet publik kecuali dilindungi VPN, firewall, dan autentikasi yang benar. ([Dokumentasi Wazuh][5])
+
Untuk production, password default harus diganti; Wazuh juga merekomendasikan penggantian password default pada Docker environment. ([Wazuh][4])
  
==9. Akses dashboard==
+
== 8. Pastikan port agent terbuka==
  
Buka browser:
+
Wazuh single-node Docker mengekspos port utama berikut: `1514`, `1515`, `514/udp`, `55000`, `9200`, dan `443`. Untuk agent, yang paling penting adalah '''1514/TCP untuk komunikasi agent''', '''1515/TCP untuk enrollment''', dan '''55000/TCP untuk API enrollment/troubleshooting'''. ([Wazuh][2])
  
https://IP-SERVER
+
Kalau pakai UFW:
  
Contoh:
+
sudo ufw allow 443/tcp
 +
sudo ufw allow 1514/tcp
 +
sudo ufw allow 1515/tcp
 +
sudo ufw allow 55000/tcp
 +
sudo ufw allow 514/udp
 +
sudo ufw reload
 +
sudo ufw status
  
https://192.168.1.100
+
Tes dari mesin agent:
  
Login awal:
+
nc -zv IP_SERVER_WAZUH 1514 1515 55000
 +
 +
== 9. Cek file `alerts.json` dan `archives.json`==
  
Username: admin
+
Setelah Wazuh hidup:
Password: SecretPassword
 
  
Peringatan sertifikat dari browser normal karena instalasi awal menggunakan sertifikat *self-signed*. Kredensial tersebut adalah kredensial bawaan deployment Docker dan harus segera diganti. ([Dokumentasi Wazuh][2])
+
sudo ls -lah /opt/wazuh-data/logs
 +
sudo ls -lah /opt/wazuh-data/logs/alerts
 +
sudo ls -lah /opt/wazuh-data/logs/archives
  
==10. Perintah pengelolaan==
+
Tail alert:
  
Masuk ke direktori:
+
sudo tail -f /opt/wazuh-data/logs/alerts/alerts.json
  
cd /opt/wazuh-docker/single-node
+
Tail archive:
  
Melihat status:
+
sudo tail -f /opt/wazuh-data/logs/archives/archives.json
  
sudo docker compose ps
+
Kalau `archives.json` belum ada, generate event dulu dari agent, lalu restart manager:
  
Melihat log:
+
docker compose restart wazuh.manager
  
sudo docker compose logs -f
+
== 10. Install Wazuh agent Linux agar connect ke Docker Wazuh
  
Menghentikan sementara:
+
Di mesin agent Linux:
  
  sudo docker compose stop
+
  curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
 +
sudo chmod 644 /usr/share/keyrings/wazuh.gpg
  
Menjalankan kembali:
+
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list
 +
 +
sudo apt update
 +
sudo WAZUH_MANAGER="IP_SERVER_WAZUH" WAZUH_AGENT_NAME="$(hostname)" apt install -y wazuh-agent
 +
 +
sudo systemctl daemon-reload
 +
sudo systemctl enable --now wazuh-agent
 +
sudo systemctl status wazuh-agent
  
sudo docker compose start
+
Wazuh agent Linux memang bisa di-deploy dengan variable seperti `WAZUH_MANAGER`, dan service agent perlu di-enable/start via systemd. ([Wazuh][5])
  
Restart:
+
Cek log agent:
  
  sudo docker compose restart
+
  sudo tail -f /var/ossec/logs/ossec.log
  
Menghapus container tetapi mempertahankan volume data:
+
Cek dari Wazuh manager container:
  
  sudo docker compose down
+
  cd /opt/wazuh-docker/single-node
 
+
docker compose exec wazuh.manager /var/ossec/bin/agent_control -l
Jangan menggunakan opsi berikut kecuali benar-benar ingin menghapus data Wazuh:
 
  
sudo docker compose down -v
 
  
## Tidak ingin Wazuh otomatis hidup saat boot
+
== Ringkasan lokasi penting==
  
Container Wazuh biasanya memiliki kebijakan restart dan akan hidup ketika Docker hidup. Untuk server produksi, ini umumnya memang diinginkan.
+
Dashboard:
 +
https://IP_SERVER_WAZUH/
  
Untuk server lab yang ingin dijalankan manual:
+
Compose:
 +
/opt/wazuh-docker/single-node/docker-compose.yml
  
  cd /opt/wazuh-docker/single-node
+
Config Wazuh manager:
sudo docker compose stop
+
  /opt/wazuh-docker/single-node/config/wazuh_cluster/wazuh_manager.conf
  
Matikan autostart Docker:
+
Alert JSON di host:
 +
/opt/wazuh-data/logs/alerts/alerts.json
  
sudo systemctl disable docker.service docker.socket
+
Archive JSON di host:
  sudo systemctl stop docker.service docker.socket
+
  /opt/wazuh-data/logs/archives/archives.json
  
Untuk menjalankan Wazuh secara manual:
+
Port agent:
 +
1514/tcp  = agent kirim event
 +
1515/tcp  = enrollment
 +
55000/tcp = Wazuh API
  
sudo systemctl start docker
 
 
cd /opt/wazuh-docker/single-node
 
sudo docker compose up -d
 
  
'''Rekomendasi akhir:''' Ubuntu 26.04 + Docker cocok untuk lab dan eksperimen. Untuk deployment SOC produksi, gunakan '''Ubuntu Server 24.04 + instalasi native Wazuh''' atau deployment Docker yang telah diuji menyeluruh.
+
Ini setup yang paling enak untuk lab SOC/ML karena `alerts.json` dan `archives.json` bisa langsung dibaca Python dari host tanpa perlu `docker cp` atau masuk container.
  
* [1]: https://documentation.wazuh.com/current/installation-guide/wazuh-server/index.html "Wazuh server - Installation guide · Wazuh documentation"
+
[1]: https://docs.docker.com/engine/install/ubuntu/ "Install Docker Engine on Ubuntu | Docker Docs"
* [2]: https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html "Wazuh Docker deployment - Deployment on Docker · Wazuh documentation"
+
[2]: https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html "Wazuh Docker deployment - Deployment on Docker · Wazuh documentation"
* [3]: https://docs.docker.com/engine/install/ubuntu/?utm_source=chatgpt.com "Install Docker Engine on Ubuntu"
+
[3]: https://documentation.wazuh.com/current/user-manual/manager/event-logging.html "Event logging - Wazuh server · Wazuh documentation"
* [4]: https://documentation.wazuh.com/current/installation-guide/packages-list.html "Packages list - Installation guide · Wazuh documentation"
+
[4]: https://documentation.wazuh.com/current/deployment-options/docker/changing-default-password.html "Changing the default password of Wazuh users - Deployment on Docker"
* [5]: https://documentation.wazuh.com/current/getting-started/architecture.html?utm_source=chatgpt.com "Architecture - Getting started with Wazuh"
+
[5]: https://documentation.wazuh.com/current/installation-guide/wazuh-agent/wazuh-agent-package-linux.html?utm_source=chatgpt.com "Deploying Wazuh agents on Linux endpoints"

Latest revision as of 02:55, 23 June 2026

Prompt:

 install wazuh all-in-one docker di ubuntu 26.04.
 pastikan bisa dengan mudah akses alerts.json dan archives.json
 juga agar wazuh agents mudah report / connect

Berikut cara yang paling enak untuk Wazuh all-in-one / single-node Docker di Ubuntu 26.04, dengan akses langsung ke:

/opt/wazuh-data/logs/alerts/alerts.json
/opt/wazuh-data/logs/archives/archives.json

Docker Engine resmi sudah mendukung Ubuntu 26.04 LTS, dan Wazuh Docker single-node resmi berisi Wazuh manager, indexer, dan dashboard dalam container terpisah. Wazuh single-node minimal butuh kira-kira 4 core CPU, 8 GB RAM, dan 50 GB storage. ([Docker Documentation][1])

1. Install Docker di Ubuntu 26.04

sudo apt update
sudo apt -y install ca-certificates curl gnupg git jq netcat-openbsd

sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update
sudo apt -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

sudo systemctl enable --now docker
sudo usermod -aG docker $USER
newgrp docker

docker --version
docker compose version

Docker juga mengingatkan bahwa port container yang diekspos bisa bypass aturan `ufw`, jadi jangan expose Wazuh ke Internet langsung. Pakai LAN/lab saja. ([Docker Documentation][1])

2. Set kernel parameter untuk Wazuh Indexer

Wazuh meminta `vm.max_map_count=262144`; kalau tidak, Wazuh indexer bisa gagal start. ([Wazuh][2])

echo 'vm.max_map_count=262144' | sudo tee /etc/sysctl.d/99-wazuh.conf
sudo sysctl --system

3. Clone Wazuh Docker stable

Saya sarankan pakai Wazuh 4.14.5 stable, bukan branch `main` atau beta. Dokumentasi Wazuh saat ini juga memakai `v4.14.5` untuk Docker deployment. ([Wazuh][2])

cd /opt
sudo git clone https://github.com/wazuh/wazuh-docker.git -b v4.14.5
sudo chown -R $USER:$USER /opt/wazuh-docker
cd /opt/wazuh-docker/single-node

4. Buat folder host untuk log Wazuh

sudo mkdir -p /opt/wazuh-data/logs
sudo chown -R 1000:1000 /opt/wazuh-data
sudo chmod -R 750 /opt/wazuh-data

Sekarang ubah volume Wazuh manager supaya `/var/ossec/logs` di container langsung muncul di host:

cp docker-compose.yml docker-compose.yml.bak
sed -i 's=- wazuh_logs:/var/ossec/logs=- /opt/wazuh-data/logs:/var/ossec/logs=' docker-compose.yml

Cek hasilnya:

grep -n "/var/ossec/logs" docker-compose.yml

Harus terlihat kira-kira:

- /opt/wazuh-data/logs:/var/ossec/logs

5. Aktifkan `archives.json`

Default Wazuh archive biasanya disabled karena bisa makan storage besar. Untuk membuat `archives.json`, aktifkan `logall_json`. Wazuh menjelaskan bahwa `archives.json` dibuat di `/var/ossec/logs/archives/` jika JSON archiving aktif. ([Wazuh][3])

Edit config manager:

nano config/wazuh_cluster/wazuh_manager.conf

Pastikan bagian `<global>` seperti ini:

<global>
  <jsonout_output>yes</jsonout_output>
  <alerts_log>yes</alerts_log>
  <logall>no</logall>
  <logall_json>yes</logall_json>
</global>

Untuk lab ML/SOC, saya sarankan:

<logall>no</logall>
<logall_json>yes</logall_json>

Artinya hanya archive JSON yang aktif, bukan archive syslog text biasa. Ini lebih enak untuk Python, SIEM, ML, dan parsing.

6. Generate certificate Wazuh

Wazuh Docker perlu certificate untuk komunikasi antar komponen. Perintah resminya adalah `generate-indexer-certs.yml`. ([Wazuh][2])

docker compose -f generate-indexer-certs.yml run --rm generator

7. Jalankan Wazuh all-in-one / single-node

docker compose pull
docker compose up -d

Cek status:

docker compose ps

Lihat log kalau dashboard belum siap:

docker compose logs -f wazuh.indexer
docker compose logs -f wazuh.manager
docker compose logs -f wazuh.dashboard

Akses dashboard:

https://IP_SERVER_WAZUH/

Login default biasanya:

username: admin
password: SecretPassword

Untuk production, password default harus diganti; Wazuh juga merekomendasikan penggantian password default pada Docker environment. ([Wazuh][4])

8. Pastikan port agent terbuka

Wazuh single-node Docker mengekspos port utama berikut: `1514`, `1515`, `514/udp`, `55000`, `9200`, dan `443`. Untuk agent, yang paling penting adalah 1514/TCP untuk komunikasi agent, 1515/TCP untuk enrollment, dan 55000/TCP untuk API enrollment/troubleshooting. ([Wazuh][2])

Kalau pakai UFW:

sudo ufw allow 443/tcp
sudo ufw allow 1514/tcp
sudo ufw allow 1515/tcp
sudo ufw allow 55000/tcp
sudo ufw allow 514/udp
sudo ufw reload
sudo ufw status

Tes dari mesin agent:

nc -zv IP_SERVER_WAZUH 1514 1515 55000

9. Cek file `alerts.json` dan `archives.json`

Setelah Wazuh hidup:

sudo ls -lah /opt/wazuh-data/logs
sudo ls -lah /opt/wazuh-data/logs/alerts
sudo ls -lah /opt/wazuh-data/logs/archives

Tail alert:

sudo tail -f /opt/wazuh-data/logs/alerts/alerts.json

Tail archive:

sudo tail -f /opt/wazuh-data/logs/archives/archives.json

Kalau `archives.json` belum ada, generate event dulu dari agent, lalu restart manager:

docker compose restart wazuh.manager

== 10. Install Wazuh agent Linux agar connect ke Docker Wazuh

Di mesin agent Linux:

curl -s https://packages.wazuh.com/key/GPG-KEY-WAZUH | sudo gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/wazuh.gpg --import
sudo chmod 644 /usr/share/keyrings/wazuh.gpg
echo "deb [signed-by=/usr/share/keyrings/wazuh.gpg] https://packages.wazuh.com/4.x/apt/ stable main" | sudo tee /etc/apt/sources.list.d/wazuh.list

sudo apt update
sudo WAZUH_MANAGER="IP_SERVER_WAZUH" WAZUH_AGENT_NAME="$(hostname)" apt install -y wazuh-agent

sudo systemctl daemon-reload
sudo systemctl enable --now wazuh-agent
sudo systemctl status wazuh-agent

Wazuh agent Linux memang bisa di-deploy dengan variable seperti `WAZUH_MANAGER`, dan service agent perlu di-enable/start via systemd. ([Wazuh][5])

Cek log agent:

sudo tail -f /var/ossec/logs/ossec.log

Cek dari Wazuh manager container:

cd /opt/wazuh-docker/single-node
docker compose exec wazuh.manager /var/ossec/bin/agent_control -l


Ringkasan lokasi penting

Dashboard:

https://IP_SERVER_WAZUH/

Compose:

/opt/wazuh-docker/single-node/docker-compose.yml

Config Wazuh manager:

/opt/wazuh-docker/single-node/config/wazuh_cluster/wazuh_manager.conf

Alert JSON di host:

/opt/wazuh-data/logs/alerts/alerts.json

Archive JSON di host:

/opt/wazuh-data/logs/archives/archives.json

Port agent:

1514/tcp  = agent kirim event
1515/tcp  = enrollment
55000/tcp = Wazuh API


Ini setup yang paling enak untuk lab SOC/ML karena `alerts.json` dan `archives.json` bisa langsung dibaca Python dari host tanpa perlu `docker cp` atau masuk container.

[1]: https://docs.docker.com/engine/install/ubuntu/ "Install Docker Engine on Ubuntu | Docker Docs"
[2]: https://documentation.wazuh.com/current/deployment-options/docker/wazuh-container.html "Wazuh Docker  deployment - Deployment on Docker · Wazuh documentation"
[3]: https://documentation.wazuh.com/current/user-manual/manager/event-logging.html "Event logging - Wazuh server · Wazuh documentation"
[4]: https://documentation.wazuh.com/current/deployment-options/docker/changing-default-password.html "Changing the default password of Wazuh users - Deployment on Docker"
[5]: https://documentation.wazuh.com/current/installation-guide/wazuh-agent/wazuh-agent-package-linux.html?utm_source=chatgpt.com "Deploying Wazuh agents on Linux endpoints"