82 lines
2.9 KiB
Plaintext
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}
|