Problem:
Auf einem Windows Server (z. B. Domain Controller/Active Directory) laufen die Windows User Logoff-Events heiß und erzeugen in Wazuh eine Log-Flut – ohne echten Mehrwert. Ziel ist: Nur relevante Login-Events behalten (z. B. interaktive Logins), den Rest möglichst früh abstellen.
Warum das passiert
Auf Windows-Systemen entstehen Login/Logout-Events sehr häufig – nicht nur durch „echte“ Benutzer, sondern auch durch:
- Services, Scheduled Tasks, Systemprozesse
- Netzwerk-Authentifizierung / Session-Management
- RDP/Remote Sessions
- Hintergrund-Mechanismen von AD/Windows
Typische Security Event IDs im Kontext:
- 4624 (Logon)
- 4634 (Logoff)
- 4647 (User initiated logoff)
Das ist normal – aber in vielen Umgebungen für das SOC-Dashboard eher Rauschen.
Zwei Wege: „Stumm schalten“ vs. „an der Quelle filtern“
Option A: Auf dem Wazuh Manager per Rule „stumm schalten“
Du kannst Events über Regeln (Rule Level, Gruppen, Ignore/Drop-Mechanismen) so behandeln, dass sie nicht als Alert auftauchen.
Nachteil:
Das stoppt nicht die Flut selbst. Die Agenten lesen und senden die Events weiterhin – Bandbreite, Queue, Storage und Performance leiden trotzdem.
Option B (empfohlen): Bereits am Agent filtern (Eventchannel Query)
Der saubere Ansatz ist: Der Agent sammelt diese Events gar nicht erst.
Das erreichst du über eine Query im localfile-Block auf dem Windows Agent.
Beispiel (wie im Community-Thread vorgeschlagen) – Filter auf Event ID 4624 und Ausschluss eines LogonTypes:
<localfile>
<location>Security</location>
<log_format>eventchannel</log_format>
<query>Event[System/EventID = 4624 and EventData/Data[@Name='LogonType'] != 10]</query>
</localfile>
Was macht das?
- Es sammelt weiterhin 4624 (Logon),
- aber nicht, wenn
LogonType = 10ist (typisch RDP/RemoteInteractive).
Damit reduzierst du Noise drastisch – ohne komplett auf Login-Telemetrie zu verzichten.
So gehst du praktisch vor
- Identifiziere die Flood-Events
- Schau dir ein Beispiel in Wazuh an, z. B. aus:
/var/ossec/logs/alerts/alerts.json(Manager)
- Schau dir ein Beispiel in Wazuh an, z. B. aus:
- Bestimme, was “echter Login” für dich bedeutet
- Interaktiv an Konsole?
- Nur bestimmte LogonTypes?
- Nur bestimmte Accounts/Groups?
- Baue eine Query, die nur das sammelt, was du brauchst
- Startpunkt: Event ID 4624
- Optional: explizit nur „echte User“ (z. B. excluding Machine Accounts, Service Accounts)
- Deploye die Änderung auf dem Agent
- In der Agent-Konfiguration (ossec.conf / agent.conf je nach Setup)
- Validiere das Ergebnis
- Sinkt das Event-Volumen?
- Kommen die gewünschten Logins weiterhin an?
Wichtig: Ohne Sample-Logs ist „perfektes Filtering“ schwer
Der Community-Responder hat es gut auf den Punkt gebracht:
Um die Query wirklich sauber zu machen, braucht man ein paar Beispiele der Events, die dich fluten (inkl. EventData-Felder), damit man genau diese Fälle ausschließt – und keine relevanten Logins aus Versehen wegfiltert.
Fazit
Wenn Windows-Logoff/Login-Events dein Wazuh fluten, ist Filtering am Agent der beste Hebel:
- ✅ Weniger Noise
- ✅ Weniger Storage/Indexer-Last
- ✅ Weniger Agent/Manager-Overhead
- ✅ Fokus auf wirklich relevante Logins