Wazuh ist eine Open-Source-Plattform fuer Erkennung (XDR) und Log-Management (SIEM): Agenten auf Endpoints, Dateiintegritaet, Log-Sammlung, Schwachstellenerkennung und automatische Reaktion. Dieser Guide fuehrt Sie von der Installation bis zu eigenen Regeln und Integrationen.
Installation (all-in-one oder getrennte Komponenten)
Wazuh hat drei Komponenten: Manager (Analyse), Indexer (Speicher/Suche, auf OpenSearch-Basis) und Dashboard. Zum Start all-in-one:
curl -sO https://packages.wazuh.com/4.9/wazuh-install.sh
bash ./wazuh-install.sh -a # Manager + Indexer + Dashboard
# zeigt das 'admin'-Passwort fuer https://server (Dashboard)
tar -xf wazuh-install-files.tar # generierte Zertifikate
systemctl status wazuh-manager wazuh-indexer wazuh-dashboardFuer grosse Skalierung installieren Sie die Komponenten getrennt (mehrere Indexer-Knoten). Die offizielle Doku hat die Schritte -wi / -ws / -wd.
Agenten registrieren + Gruppen
Der Agent registriert sich beim Manager (authd) und erhaelt einen Key. Sie stecken ihn in eine Gruppe, um eine gemeinsame Konfiguration zu erben.
# Linux
WAZUH_MANAGER='wazuh.example.com' apt install wazuh-agent
systemctl enable --now wazuh-agent
# Windows
msiexec /i wazuh-agent-4.9.0.msi /q WAZUH_MANAGER='wazuh.example.com'
Net Start WazuhSvc
# auf dem Manager: Agenten auflisten + in Gruppe stecken
/var/ossec/bin/agent_control -l
/var/ossec/bin/agent_groups -a -i 003 -g web-server
FIM: Dateiintegritaet (Realtime + whodata)
Syscheck ueberwacht Verzeichnisse; mit whodata (Audit) erfahren Sie auch, wer die Aenderung gemacht hat, nicht nur dass sie passierte.
<!-- /var/ossec/etc/shared/web-server/agent.conf -->
<syscheck>
<disabled>no</disabled>
<directories check_all="yes" realtime="yes" whodata="yes">/var/www,/etc</directories>
<alert_new_files>yes</alert_new_files>
<frequency>43200</frequency>
</syscheck>
# neu starten und auf dem Agenten pruefen:
/var/ossec/bin/wazuh-control restart
Log-Sammlung + rootcheck
Sammeln Sie beliebige Logs (auth, nginx, Anwendung, Windows Event) und fuehren Sie Policy-/Rootkit-Pruefungen aus.
<!-- localfile in agent.conf -->
<localfile><log_format>syslog</log_format><location>/var/log/auth.log</location></localfile>
<localfile><log_format>json</log_format><location>/var/log/nginx/access.json</location></localfile>
<localfile><log_format>eventchannel</log_format><location>Security</location></localfile>
# rootcheck + SCA (Security Configuration Assessment) sind standardmaessig an
Eigene Regeln und Decoder
Wenn Sie Alarme fuer Ihre eigene App wollen, schreiben Sie einen Decoder (extrahiert Felder) und eine Regel (entscheidet die Schwere). Test mit wazuh-logtest.
<!-- /var/ossec/etc/rules/local_rules.xml -->
<group name="local,syslog,">
<rule id="100100" level="12">
<if_sid>5716</if_sid> <!-- SSH login failed -->
<srcip>!192.168.0.0/16</srcip>
<description>SSH-Fehlschlag von aussen</description>
</rule>
</group>
# schneller Test:
echo 'Failed password for root from 1.2.3.4' | /var/ossec/bin/wazuh-logtest
Active Response: automatisches Blockieren
Bei schweren Regeln weist der Manager den Agenten an zu reagieren — z.B. die IP fuer 10 Minuten in der Firewall blockieren.
<!-- ossec.conf auf dem Manager -->
<active-response>
<command>firewall-drop</command>
<location>local</location>
<rules_id>5710,5712,100100</rules_id>
<timeout>600</timeout>
</active-response>
# Aktionen in /var/ossec/logs/active-responses.log sehen
Schwachstellenerkennung + Integrationen
Wazuh korreliert das Paket-Inventar mit CVE-Feeds und integriert sich mit VirusTotal (FIM-Hashes) und Suricata (eve.json).
<!-- ossec.conf auf dem Manager -->
<vulnerability-detection><enabled>yes</enabled></vulnerability-detection>
<integration>
<name>virustotal</name>
<api_key>***</api_key>
<rule_id>100200,554</rule_id>
</integration>
# Suricata: /var/log/suricata/eve.json als json-localfile sammeln
Betrieb: Index-Wartung und Visualisierung
Der Indexer ist OpenSearch; Sie nutzen ISM (Index State Management), damit er nicht endlos waechst, und das Dashboard fuer Untersuchungen.
# Indexer-Status
curl -k -u admin:*** https://localhost:9200/_cat/indices?v
# ISM-Policy: Rollover bei 30 GB / Loeschen nach 90 Tagen (Dashboard: Index Management)
# Live-Alarme: Dashboard > Threat Hunting / Security events