Wazuh bringt bereits tausende vordefinierte Regeln mit. Doch für einen effektiven Schutz braucht es angepasste Detection Rules - zugeschnitten auf Ihre Umgebung und die relevantesten Bedrohungen.
Warum eigene Detection Rules?
Die Standard-Regeln von Wazuh sind ein guter Ausgangspunkt. Sie decken viele gängige Szenarien ab. Aber: Jede Umgebung ist anders, und Angreifer entwickeln ständig neue Methoden.
Mit eigenen Rules können Sie:
- Spezifische Bedrohungen für Ihre Branche erkennen
- False Positives reduzieren durch praezisere Definitionen
- Die Alert-Schwere an Ihre Risikobewertung anpassen
- Compliance-Anforderungen wie NIS2 erfüllen
Hinweis: Alle Rules in diesem Artikel verwenden IDs ab 100001. Wazuh reserviert IDs unter 100000 für eingebaute Regeln. Passen Sie die IDs an, falls Sie bereits eigene Rules nutzen.
Rule 1: SSH Brute-Force Erkennung
<!-- SSH Brute-Force Detection --> <group name="ssh,authentication_failures"> <rule id="100001" level="10" frequency="10" timeframe="120"> <if_matched_sid>5710</if_matched_sid> <same_source_ip /> <description>SSH Brute-Force-Angriff erkannt: $(srcip)</description> <mitre> <id>T1110</id> </mitre> <group>authentication_failures,pci_dss_10.2.4,pci_dss_10.2.5</group> </rule> <!-- Erfolgreicher Login nach Brute-Force (besonders verdaechtig) --> <rule id="100002" level="12"> <if_sid>5715</if_sid> <if_matched_sid>100001</if_matched_sid> <same_source_ip /> <description>Erfolgreicher SSH-Login nach Brute-Force: $(srcip)</description> <mitre> <id>T1110</id> </mitre> </rule> </group>
Warum diese Rule wichtig ist: SSH ist der primäre Remote-Zugang zu Linux-Servern. Brute-Force-Angriffe gehören zu den häufigsten Attacken - und sind mit dieser Rule zuverlässig erkennbar.
Rule 2: Privilege Escalation Detection
<!-- Privilege Escalation Detection --> <group name="privilege_escalation,sudo"> <!-- Wiederholte fehlgeschlagene Sudo-Versuche --> <rule id="100010" level="12" frequency="5" timeframe="300"> <if_matched_sid>5401</if_matched_sid> <same_user /> <description>Privilege Escalation Versuch: User $(dstuser) - wiederholte sudo Fehler</description> <mitre> <id>T1548</id> </mitre> <group>privilege_escalation,pci_dss_10.2.5</group> </rule> <!-- Erster Sudo eines Users (Baseline-Abweichung) --> <rule id="100011" level="8"> <if_sid>5402</if_sid> <user negate="yes">admin|deploy|ansible</user> <description>Ungewöhnlicher Sudo-Zugriff: $(dstuser) ist kein Admin</description> <mitre> <id>T1548</id> </mitre> </rule> <!-- Kritische Befehle mit sudo --> <rule id="100012" level="10"> <if_sid>5402</if_sid> <match>passwd|shadow|sudoers|useradd|usermod|visudo</match> <description>Kritischer Befehl mit sudo: $(data)</description> <mitre> <id>T1098</id> </mitre> </rule> </group>
Anpassung erforderlich: Die Liste der Admin-User (admin|deploy|ansible) muss an Ihre Umgebung angepasst werden. Fügen Sie alle legitimen Administratoren hinzu.
Rule 3: File Integrity Monitoring
<!-- Critical File Changes Detection --> <group name="syscheck,file_integrity"> <!-- Änderung an /etc/passwd --> <rule id="100020" level="12"> <if_sid>550</if_sid> <match>/etc/passwd</match> <description>KRITISCH: /etc/passwd wurde geändert</description> <mitre> <id>T1136</id> </mitre> <group>file_integrity,pci_dss_11.5</group> </rule> <!-- Änderung an /etc/shadow --> <rule id="100021" level="12"> <if_sid>550</if_sid> <match>/etc/shadow</match> <description>KRITISCH: /etc/shadow wurde geändert</description> <mitre> <id>T1003</id> </mitre> </rule> <!-- SSH-Konfiguration geändert --> <rule id="100022" level="10"> <if_sid>550</if_sid> <match>/etc/ssh/sshd_config</match> <description>SSH-Konfiguration wurde geändert</description> <mitre> <id>T1098</id> </mitre> </rule> <!-- Neue Datei in cron.d --> <rule id="100023" level="10"> <if_sid>554</if_sid> <match>/etc/cron</match> <description>Neue Cron-Job Datei erstellt: $(file)</description> <mitre> <id>T1053</id> </mitre> </rule> </group>
Diese Rules erfordern, dass File Integrity Monitoring (FIM) in der Wazuh-Agent-Konfiguration aktiviert ist:
<!-- ossec.conf auf dem Agent --> <syscheck> <directories check_all="yes" realtime="yes">/etc</directories> <directories check_all="yes" realtime="yes">/bin,/sbin,/usr/bin,/usr/sbin</directories> <directories check_all="yes">/home</directories> </syscheck>
Rule 4: Web Application Attacks
<!-- Web Application Attack Detection --> <group name="web,attacks"> <!-- SQL Injection Versuch --> <rule id="100030" level="12"> <if_sid>31100</if_sid> <match>select.*from|union.*select|insert.*into|delete.*from|drop.*table</match> <description>SQL Injection Versuch erkannt: $(srcip)</description> <mitre> <id>T1190</id> </mitre> <group>web_attacks,sql_injection,pci_dss_6.5.1</group> </rule> <!-- XSS (Cross-Site Scripting) Versuch --> <rule id="100031" level="10"> <if_sid>31100</if_sid> <match><script|javascript:|onerror=|onload=|onclick=</match> <description>XSS-Versuch erkannt: $(srcip)</description> <mitre> <id>T1189</id> </mitre> <group>web_attacks,xss,pci_dss_6.5.7</group> </rule> <!-- Path Traversal Versuch --> <rule id="100032" level="10"> <if_sid>31100</if_sid> <match>../|..%2f|%2e%2e/|/etc/passwd|/etc/shadow</match> <description>Path Traversal Versuch erkannt: $(srcip)</description> <mitre> <id>T1083</id> </mitre> <group>web_attacks,path_traversal</group> </rule> <!-- Mehrere Web-Angriffe von gleicher IP --> <rule id="100033" level="14" frequency="5" timeframe="60"> <if_matched_group>web_attacks</if_matched_group> <same_source_ip /> <description>Koordinierter Web-Angriff von $(srcip)</description> <mitre> <id>T1190</id> </mitre> </rule> </group>
Rule 5: Ransomware Indicators
<!-- Ransomware Early Warning Detection --> <group name="ransomware,malware"> <!-- Massenhaftes Umbenennen (verschlüsselte Dateien) --> <rule id="100040" level="14" frequency="20" timeframe="60"> <if_sid>550</if_sid> <match>.encrypted|.locked|.crypto|.crypt|.enc</match> <description>RANSOMWARE WARNUNG: Massenhaftes Verschlüsseln erkannt!</description> <mitre> <id>T1486</id> </mitre> <group>ransomware,critical</group> </rule> <!-- VSS/Schattenkopien Löschung (Windows) --> <rule id="100041" level="15"> <if_sid>60000</if_sid> <match>vssadmin.*delete|wmic.*shadowcopy.*delete</match> <description>KRITISCH: Schattenkopien werden geloescht - Ransomware-Indikator!</description> <mitre> <id>T1490</id> </mitre> <group>ransomware,critical</group> </rule> <!-- Verdächtige Batch/Script-Ausführung --> <rule id="100042" level="12"> <if_sid>60000</if_sid> <match>powershell.*-enc|powershell.*downloadstring|certutil.*-urlcache</match> <description>Verdächtiger Download-/Ausführungsbefehl erkannt</description> <mitre> <id>T1059</id> </mitre> <group>ransomware,execution</group> </rule> <!-- Ransom Note Erstellung --> <rule id="100043" level="14"> <if_sid>554</if_sid> <match>readme.*txt|decrypt.*txt|how.*recover|ransom</match> <description>RANSOMWARE: Erpresser-Nachricht wurde erstellt</description> <mitre> <id>T1486</id> </mitre> <group>ransomware,critical</group> </rule> </group>
Wichtig bei Ransomware-Alerts: Bei Level 14+ sollten Sie automatische Aktionen konfigurieren - zum Beispiel das Isolieren des betroffenen Systems vom Netzwerk oder das Senden von SMS-Alerts.
Installation der Rules
Schritt 1: Rules-Datei erstellen
Kopieren Sie alle Rules in eine Datei unter /var/ossec/etc/rules/local_rules.xml:
# Auf dem Wazuh-Manager: sudo nano /var/ossec/etc/rules/local_rules.xml # Alle Rules einfügen, dann speichern
Schritt 2: Syntax prüfen
# Rules-Syntax validieren sudo /var/ossec/bin/wazuh-logtest # Test-Logs eingeben und Erkennung prüfen
Schritt 3: Wazuh-Manager neustarten
# Wazuh-Manager neustarten sudo systemctl restart wazuh-manager # Status prüfen sudo systemctl status wazuh-manager
Best Practices für Detection Rules
Fazit: Proaktive Erkennung ist der Schlüssel
Diese fünf Detection Rules decken die häufigsten Angriffsszenarien ab und sind sofort einsetzbar. Sie bilden eine solide Basis für Ihr Security Monitoring.
Denken Sie daran: Rules sind nur so gut wie ihre Pflege. Überprüfen Sie regelmäßig False Positives, passen Sie Schwellenwerte an und erweitern Sie Ihre Rule-Sammlung basierend auf neuen Bedrohungen und den Erkenntnissen aus Ihrem SOC.
Für eine umfassende NIS2-Compliance und professionelles Security Monitoring unterstützen wir Sie gerne bei der Konfiguration und dem Betrieb Ihrer Wazuh-Installation.
Wazuh Implementierung
Wir richten Ihr Wazuh-SIEM ein und konfigurieren massgeschneiderte Detection Rules für Ihre Umgebung.
Beratung anfragen