Files
docker-wazuh/hosts.yml.example
T
2026-10-07 10:47:30 +02:00

82 lines
2.9 KiB
Plaintext

# Hosts, die per SSH ueberwacht werden.
# Nach Aenderungen: docker-compose up -d --force-recreate wazuh.manager sshpull.collector
#
# Pro Host gibt es drei Bausteine (alle optional, Defaults siehe unten):
# logs Logs werden dauerhaft per SSH gestreamt (journald und/oder Dateien)
# -> Wazuh-Regeln/Decoder laufen darauf wie bei einem Agent
# integrity Datei-Integritaet (FIM) per Agentless: Hashes/Rechte von Dateien,
# Alarm bei Aenderung
# commands Befehlsausgaben per Agentless, Alarm wenn sich die Ausgabe aendert
# (offene Ports, Benutzer, sudoers, Cronjobs, ...)
# agent_tunnel Optional: echter Wazuh-Agent auf dem Host, der sich ueber einen
# SSH-Reverse-Tunnel (-R 1514/1515) beim Manager meldet
ssh:
# yes = nur Hosts aus ssh/known_hosts (vorher: ./setup.sh keyscan)
# accept-new = Host-Key beim ersten Kontakt automatisch akzeptieren (TOFU)
host_key_checking: "yes"
connect_timeout: 15
server_alive_interval: 30
defaults:
user: wazuh-pull # SSH-Benutzer auf den Zielhosts
port: 22
identity_file: id_ed25519 # Datei in ./ssh/
sudo: false # true = Befehle mit "sudo -n" (NOPASSWD noetig)
logs:
- type: journal # komplettes Journal (Benutzer braucht Gruppe systemd-journal)
integrity:
enabled: true
interval: 3600 # Sekunden
paths: [/etc, /usr/bin, /usr/sbin, /bin, /sbin, /boot]
commands:
enabled: true
interval: 3600
run:
- ss -tulpn 2>/dev/null || netstat -tulpn
- cat /etc/passwd
- cat /etc/group
- find /etc/sudoers /etc/sudoers.d -type f -exec md5sum {} + 2>/dev/null
- crontab -l -u root 2>/dev/null; ls -la /etc/cron.d
- systemctl list-unit-files --state=enabled --no-pager 2>/dev/null
agent_tunnel: false
hosts:
- name: web01 # Anzeigename / SSH-Alias (A-Z a-z 0-9 . _ -)
address: 192.168.10.21
- name: web02
address: web02.example.lan
port: 2222
logs:
- type: journal
units: [ssh, nginx] # nur diese Units (optional)
- type: file
path: /var/log/nginx/access.log
format: apache # Wazuh log_format (syslog, apache, json, audit, ...)
- type: file
path: /var/log/nginx/error.log
- name: db01
address: 10.0.0.5
sudo: true # z.B. fuer /etc/shadow im Integritaetscheck
integrity:
paths: [/etc, /usr/bin, /usr/sbin, /var/lib/postgresql/16/main/pg_hba.conf]
commands:
enabled: false
- name: legacy01 # Alter Host ohne journald
address: 10.0.0.9
logs:
- type: file
path: /var/log/auth.log
- type: file
path: /var/log/syslog
# - name: app01 # Voller Wazuh-Agent ueber SSH-Tunnel
# address: 10.0.0.30
# agent_tunnel: true
# logs: [] # Logs liefert dann der Agent selbst
# integrity: {enabled: false}
# commands: {enabled: false}