Wenn Auditd plötzlich dich selbst überwacht
Wie wir /var/log überwachen wollten – und Wazuh zum Noise-Generator wurde
Wer Auditd produktiv einsetzen will, lernt relativ schnell eine harte Wahrheit:
Auditd ist gnadenlos ehrlich. Es loggt nicht nur Angriffe – sondern auch dich selbst.
In diesem Beitrag zeige ich, wie wir auf Debian ein sauberes Auditd-Setup für Wazuh aufgebaut haben, warum plötzlich der Wazuh-Logcollector selbst im Audit-Log landete, und wie man das kernel-seitig korrekt löst – ohne die eigentliche Sicherheitsidee zu zerstören.
Ausgangspunkt: Auditd + Neo23x0 + Wazuh
Unser Setup:
- Debian
auditdmit Neo23x0 Ruleset- Wazuh Agent + zentraler Manager
- Ziel:
Root-Kommandos nachvollziehbar machen
- Log-Manipulation erkennen
- kein Log-Spam
Wir hatten bereits gelernt:
- Wazuh nutzt Keys als Kategorien (
audit-wazuh-w/x/c/...) - Audit-Regeln sind reihenfolgeabhängig
- Noise muss vor den eigentlichen Regeln rausgefiltert werden
Also gingen wir den nächsten logischen Schritt.
Der Plan: /var/log überwachen – aber nur echte Benutzer
Was wir wollten:
Alarm, wenn jemand Logfiles löscht oder verändert – aber nicht, wenn systemd, cron oder Logrotate arbeiten.
Die klassische Audit-Regel dafür:
-w /var/log -p wa -F auid>=1000 -F auid!=4294967295 -k audit-wazuh-w
Klingt perfekt:
-p wa→ write + attribute (löschen, umbenennen, chmod)auid>=1000→ echte Benutzeraudit-wazuh-w→ Wazuh-Standard-Key
Und ja: User-Aktionen wurden sauber geloggt.
Das Problem: Auditd loggt plötzlich Wazuh selbst
Kurz darauf tauchte im audit.log regelmäßig folgendes auf:
comm="wazuh-logcollec"
exe="/var/ossec/bin/wazuh-logcollector"
syscall=openat
exit=13
auid=unset
key="audit-wazuh-w"
Alle paar Sekunden.
Was passiert hier?
wazuh-logcollectorliest Logfiles- dafür nutzt er
openat() - einige Dateien darf er nicht lesen →
EACCES (13) - Auditd loggt jeden Versuch, nicht nur Erfolge
Auditd tut also genau das, was wir ihm gesagt haben:
„Überwache Zugriffe auf /var/log“
Das Problem:
Jetzt überwacht Wazuh sich selbst.
Warum der auid-Filter nicht geholfen hat
Wir hatten extra:
-F auid>=1000
-F auid!=4294967295
Aber trotzdem kam der Event.
Der Grund ist ein Detail, das in vielen Anleitungen fehlt:
Watch-Regeln (-w) erzeugen Events, bevor User-Filter greifen.
Der Kernel:
- sieht Zugriff auf
/var/log - erzeugt Event
- danach werden Filter angewendet
👉 Für Daemons reicht auid nicht als Ausschluss.
Die richtige Lösung: syscall-Exclude VOR der Watch-Rule
Die Lösung ist nicht, /var/log weniger streng zu überwachen.
Die Lösung ist:
Den verursachenden Prozess auf Syscall-Ebene ausschließen – früh.
Korrekte Exclude-Regel
Datei:
/etc/audit/rules.d/05-noise.rules
# Ignore wazuh logcollector access to /var/log
-a never,exit -F arch=b64 -S openat -F exe=/var/ossec/bin/wazuh-logcollector
-a never,exit -F arch=b32 -S openat -F exe=/var/ossec/bin/wazuh-logcollector
Warum das funktioniert:
- gleiche Regelklasse (
exit) - gleicher Syscall (
openat) - identischer Prozess (
exe=) - wird vor der Watch-Rule geladen
Ergebnis:
- der Kernel erzeugt das Event gar nicht erst
- kein Audit-Log
- kein Wazuh-Noise
- User-Manipulationen bleiben sichtbar
Die entscheidende Lektion aus dem Debugging
Diese Situation hat ein wichtiges Auditd-Prinzip bestätigt:
Auditd ist kein „Filter nachträglich“-System. Es ist ein „Entscheide früh oder lebe mit dem Event“-System.
Merksätze aus der Praxis:
- Watch-Regeln sind mächtig – aber gnadenlos
auidhilft gegen Systemdienste, nicht gegen Watch-Noise- Excludes müssen:
gleiche Regelklasse
- gleichen Syscall
- früher geladen
Wazuh sollte niemals sich selbst auditieren
Unser finales, sauberes Setup (Kurzfassung)
05-noise.rules
- zabbix_agentd (socket)
- wazuh-logcollector (openat)
40-var-log.rules
-w /var/log -p wa -F auid>=1000 -k audit-wazuh-w
60-neo.rules
Neo23x0 Baseline
70-rootcmd.rules
execve als root
Ergebnis:
- 🔍 echte Log-Manipulation sichtbar
- 🧠 kein Self-Noise
- 📉 kontrolliertes Log-Volumen
- 🔐 forensisch brauchbar
Fazit
Auditd ist kein Plug-and-Play-Tool. Aber wenn man einmal verstanden hat:
- Regelreihenfolge
- Regelklassen
- Watch vs. Syscall
- Kernel-seitiges Filtern
…dann bekommt man genau das, was man will:
Signale statt Rauschen.
Und genau darum geht es bei Security-Logging.
Weitere Informationen zu auditd findet man hier!
Quelle
Dieser Artikel stammt aus dem Wazuh-Blog von m.a.x. it (veröffentlicht am 2. Januar 2026).
Unterstützung von m.a.x. it
Bei Einführung, Betrieb und Feintuning von Wazuh (SIEM) unterstützt Sie m.a.x. it mit SIEM-Services auf Open-Source-Basis.
Über m.a.x. it Die m.a.x. Informationstechnologie AG ist seit über 30 Jahren IT-Partner mittelständischer und großer Unternehmen in München und bietet maßgeschneiderte Lösungen und Services in den Bereichen Cloud, Cybersecurity, Netzwerk, Windows, Linux und Softwareentwicklung. Sie haben eine Frage zu diesem Artikel oder brauchen Unterstützung?
