<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Wenn_Auditd_pl%C3%B6tzlich_dich_selbst_%C3%BCberwacht</id>
	<title>Wenn Auditd plötzlich dich selbst überwacht - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Wenn_Auditd_pl%C3%B6tzlich_dich_selbst_%C3%BCberwacht"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Wenn_Auditd_pl%C3%B6tzlich_dich_selbst_%C3%BCberwacht&amp;action=history"/>
	<updated>2026-09-17T08:08:54Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=Wenn_Auditd_pl%C3%B6tzlich_dich_selbst_%C3%BCberwacht&amp;diff=2977&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Import aus Wazuh-Blog (m.a.x. it, eigenes Copyright)</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Wenn_Auditd_pl%C3%B6tzlich_dich_selbst_%C3%BCberwacht&amp;diff=2977&amp;oldid=prev"/>
		<updated>2026-09-15T00:00:00Z</updated>

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