Winlogbeat: Windows-Ereignisprotokolle analysieren und verwalten

Funktionen und Vorteile von Winlogbeat
Winlogbeat ist ein leichtgewichtiger Datenerfassungsagent der Firma Elastic, der speziell für die Erfassung und Weiterleitung von Windows-Ereignisprotokollen entwickelt wurde. Winlogbeat bietet u.a. folgende Vorteile und Mehrwerte:
- Zentralisierte Protokollverwaltung
Winlogbeat ermöglicht es, Ereignisprotokolle von mehreren Windows-Systemen zentral zu sammeln und zu verwalten. Dies erleichtert die Überwachung und Analyse von Systemereignissen, da alle Protokolle an einem Ort konsolidiert werden. - Integration mit dem Elastic Stack
Winlogbeat ist nahtlos in den Elastic Stack (Elasticsearch, Logstash, Kibana) integriert. Dies ermöglicht leistungsstarke Such-, Analyse- und Visualisierungsfunktionen für Windows-Ereignisprotokolle. Mit Kibana können Anwender benutzerdefinierte Dashboards erstellen und Ereignisprotokolle in Echtzeit visualisieren. - Echtzeitüberwachung und -alarmierung
Durch die Integration mit Elasticsearch können Benutzer Echtzeit-Überwachungs- und Alarmierungsregeln konfigurieren. Dies ermöglicht eine sofortige Benachrichtigung bei bestimmten Ereignissen oder Anomalien, was besonders für die Sicherheitsüberwachung und die Reaktion auf Vorfälle wertvoll ist. - Flexibilität und Anpassbarkeit
Winlogbeat bietet viele Konfigurationsoptionen, um genau festzulegen, welche Ereignisprotokolle gesammelt und wie sie verarbeitet werden sollen. Benutzer können beispielsweise bestimmte Ereignistypen oder -quellen filtern und auswählen, welche Daten weitergeleitet werden sollen. - Sicherheit
Winlogbeat unterstützt die Verschlüsselung und Authentifizierung für die Datenübertragung. Damit wird sichergestellt, dass die gesammelten Protokolldaten sicher an Elasticsearch oder Logstash übertragen werden. - Unterstützung verschiedener Windows-Versionen
Winlogbeat unterstützt eine Vielzahl von Windows-Versionen und ist damit flexibel und vielseitig einsetzbar, unabhängig davon, welche Windows-Versionen in der Infrastruktur eingesetzt werden. - Open Source und Community Unterstützung
Als Teil des Elastic Stack ist Winlogbeat Open Source, das bedeutet es ist frei verfügbar und wird von einer großen Community unterstützt. Anwender profitieren von regelmäßigen Updates, Verbesserungen und einer Vielzahl von Community-Ressourcen. - Vereinfachte Compliance
Durch die Zentralisierung und Analyse von Windows-Ereignisprotokollen kann Winlogbeat Organisationen helfen, Compliance-Anforderungen zu erfüllen, indem es eine umfassende Protokollierung und Überwachung sicherstellt.
Zusammenfassend bietet Winlogbeat eine effiziente, flexible und sichere Möglichkeit, Windows-Ereignisprotokolle zu sammeln und zu analysieren. Es verbessert die Transparenz und Kontrolle von Windows-Umgebungen und ist ein wertvolles Werkzeug für Systemadministratoren, Sicherheitsanalysten und Compliance-Teams.
Integration von Windows Security Events in Elasticsearch Winlogbeat und Logstash
Immer mehr Unternehmen sichern und überwachen ihre Server und Anwendungen mit einer SIEM-Lösung (Securit-Information Event Management). Die von den Betriebssystemen generierten Events in Form von Logdateien sollen möglichst zentral überwacht werden. Auf dem Markt gibt es verschiedene kommerzielle Anbieter deren Lösungen entsprechend teuer sind. Hier soll anhand eines einfachen Beispiels gezeigt werden, wie Windows Server (Domain Controller) Security Events mit Hilfe der Produkte von Elastic in einer produktiven Umgebung installiert und konfiguriert werden können.
In diesem Beispiel werden die folgenden Produkte in der freien Version von Elastic verwendet:
- Elasticsearch als Datenbank
- Logstash als Forwarder (empfängt die Events und leitet sie an Elasticsearch weiter)
- Winlogbeat zum Auslesen und Weiterleiten der Windows-Events (Security-, Applikation-, System-Events)
- Kibana für die Visualisierung (Dashboards) und das Monitoring
Eine Architektur sieht beispielsweise wie folgt aus:

Zwischen dem Windows Domain Controller und dem Logstash Server befindet sich in der Regel eine Firewall. Der Domain Controller hat keinen direkten Zugriff auf den Elasticsearch Server (Datenbank). Der Kibana Service ist auf dem Application Layer installiert. Somit befindet sich zwischen allen Komponenten eine Firewall.
Download
Virtuelle Umgebung und Betriebssysteme
Das Beispiel kann mit den folgenden Downloads werden:
- Download der Virtualisierungssoftware Oracle VirtualBox
https://www.virtualbox.org/wiki/Downloads - Download des Linux-Betriebssystems
https://www.centos.org/download/ - Download des Betriebssystems Windows Server 2022 Enterprise Edition
https://www.microsoft.com/de-de/evalcenter/download-windows-server-2022
Hinweis: Die Installationseinstellungen müssen in den meisten Fällen in Englisch (US) sein, denn häufig funktioniert amerikanische Software nur, wenn Region, Zeichensatz, Zahlenformate und Sprache auf Englisch (US) eingestellt sind. Erst bei der Installation wird die deutsche Tastatur ausgewählt. Mit dem folgenden Powershell-Befehl können die aktuellen NLS-Parameter angezeigt werden.
- Get-ItemProperty
HKLM:\SYSTEM\CurrentControlSet\Control\Nls\CodePage | Select-Object OEMCP, ACP
OEMCP ACP
—– —
437 1252
Bei einem deutschen Betriebssystem ist es OEMCP=850.
Download Elastic Stack
Installation und Konfiguration von Winlogbeat
Zur Installation von Winlogbeat wird die ZIP-Datei einfach in ein Verzeichnis entpackt.
Danach sind folgende Schritte notwendig:
- Konfiguration in der winlogbeat.yml Datei anpassen.
- Konfiguration testen.
- Laden der Indexe bzw. Indextemplates, Lifecycle-Policy und Dashboards (Grafiken) in Kibana. Dieser Schritt erfordert eine direkte Verbindung von Winlogbeat zu Elasticsearch und Kibana. Das ist in der Regel in einer produktiven Umgebung meistens nicht gegeben.
- Winlogbeat als Service einrichten.
- Falls das Ausführen von Skripten auf dem Windows-System verhindert wird, muss folgender Powershell-Befehl zwingend mit “-ExecutionPolicy UnRestricted“ ausgeführt werden:
PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1.
Danach ist Winlogbeat als Service in der Computerverwaltung > Services (Dienste) sichtbar.

Die beiden Dateien
- winlogbeat.yml und
- winlogbeat.reference.yml
sind hier wichtig. Die aktive Konfiguration ist in winlogbeat.yml gespeichert. Die möglichen bzw. alle Konfigurationsoptionen befinden sich in der Datei winlogbeat.reference.yml.
Die Datei winlogbeat.yml wird zuerst verwendet, um die Dashboards, Indexe etc. initial zu laden. Danach wird sie umkonfiguriert, um die Events via Logstash in Elasticsearch zu speichern.
Die Winlogbeat Konfiguration kann mit folgendem Kommando überprüft werden.
- .\winlogbeat.exe test config -c .\winlogbeat.yml -e
Der folgende Screenshot zeigt den erfolgreichen Output:

Für die initiale Einrichtung der vom Hersteller bereitgestellten Dashboard, Indextemplates, Index usw. wird nur einmal das folgende Kommando verwendet:
- \winlogbeat.exe setup -e
Zuvor müssen in der Datei winlogbeat.yml die Abschnitte setup.kibana und output.elasticsearch wie in dem folgenden Screenshot konfiguriert werden. Der Benutzer „elastic“ ist der initiale Benutzer mit allen Berechtigungen. Es kann aber auch vorher ein anderer Benutzer mit entsprechenden Berechtigungen angelegt werden, der dann für die Konfiguration verwendet wird.

Wenn die Dashboards und der Index erfolgreich angelegt wurden, müssen die beiden Abschnitte setup.kibana und output.logstash komplett auskommentiert werden und im Abschnitt für den Logstash die IP (oder Host) und der Port eingetragen werden:

Die Applikation Logs sind für eine SIEM-Lösung in der Regel uninteressant und wurden daher auskommentiert:

Hat etwas nicht geklappt? Die vollständige Installationsanleitung des Herstellers finden Sie hier:
https://www.elastic.co/guide/en/beats/winlogbeat/current/winlogbeat-installation-configuration.html
Screenshots für diesen Text
Winlogbeat legt folgende Dashboards in Kibana an.

Es wird entsprechend der Winlogbeat Version folgender Index angelegt.

Die initialen „Failed Logins“.

„Failed Login“ in Echtzeit.

Alle konfigurierten Aktivitäten werden in Echtzeit angezeigt.





Kibana bietet auch die Suche in den Events (Discover). Hier ein Beispiel.


Der Logstash Output zu einem „Failed Login“ auf der Konsole. Für Logstash können mehrere Outputs gleichzeitig konfiguriert werden.


Die Integration von Windows-Sicherheitsereignissen in Elasticsearch mit Winlogbeat ist ein leistungsfähiger Ansatz, um Sicherheitsprotokolle zentral zu sammeln, zu analysieren und zu visualisieren.
Wenn keine direkte Verbindung von Winlogbeat auf Elasticsearch möglich ist, können die relevanten Objekte (Dashboard, Indexe u.s.w.) exportiert und wieder importiert werden (siehe Stack Management->Saved Objects). Für den automatisierten Export und Import kann die REST API von Kibana genutzt werden.
Beispiel: Export Import Saved Objects
Im Stackmanagement -> Saved Objects können alle notwendigen Objekte für WinlogBeat exportiert werden.
Hier wird das Objekt winlogbeat* (mit allen Abhängigkeiten) exportiert von Server mit IP 192.168.56.20

Der folgende Screenshot zeigt den fertigen Import auf einem anderen Server mit der IP 192.168.56.117. Der Export/Import kann ebenfalls über die REST API gemacht werden. Der automatisierte Export und Import ist damit möglich.

Beispiel: Failed Login Windows und Elastic
Der folgende Screenshot zeigt einen „Failed Login“ im Windows Server Security Event.

Das gleiche Event wird in nahezu Echtzeit via Logstash in zwei verschiedene Elasticsearch Server gespeichert. Die nachfolgenden Screenshots zeigen die gezielte Suche nach diesem Event mit Hilfe von Kibana für 2 verschiedene Elasticsearch Instanzen (unterschiedliche IP).
Das Event von der Elasticsearch Instanz auf dem Host mit der IP 192.168.56.117.

Das Event von der Elasticsearch Instanz auf dem Host mit der IP 192.168.56.20

Die Logstash Konfiguration sieht wie folgt aus.
Die Events werden vom Windows Server an einen Logstash Server weitergeleitet, der sie an zwei verschiedene Elasticsearch Instanzen weiterleitet. Eine Instanz wurde verwendet, um die initiale Konfiguration von Winlogbeat in Kibana und Elasticsearch zu speichern, was wiederum die Development Umgebung simuliert. Die zweite Instanz auf einem anderen Server wurde für den Import der Winlogbeat Objekte benötigt. Der anschließende Test zeigt, dass beide Instanzen die Daten empfangen und speichern. Logstash kann gleichzeitig mehrere Outputs zu verschiedenen Systemen wie Elasticsearch, Kafka, Dateisystem usw. enthalten.

Kontakt
Sie suchen einen erfahrenen und zuverlässigen IT-Partner?
Wir bieten Ihnen individuelle Lösungen für Ihre Anliegen – von Beratung, über Entwicklung, Integration, bis hin zum Betrieb.
