Elastic Windows Event Log Beats-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Elastic Windows Event Log Beats-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
Winlogbeat ist der Windows-spezifische Event-Log-Versand-Agent von Elastic, der Windows-Ereignisprotokolle erfasst und an verschiedene Ziele weiterleitet. Er wird als Windows-Dienst auf Windows-Systemen ausgeführt und kann Ereignisse aus den Windows-Ereignisprotokollkanälen „Anwendung“, „Sicherheit“, „System“ und anderen Kanälen erfassen.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Windows Server 2016 oder höher oder ein Linux-Host mit
systemdzum Ausführen des BindPlane-Agents - Netzwerkverbindung zwischen dem Bindplane-Agent und dem Logstash-Server
- Netzwerkverbindung zwischen Logstash und dem Bindplane-Agent
- Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
- Windows-Systeme, auf denen Winlogbeat installiert wird, um Ereignisprotokolle zu erfassen
- Administratorzugriff auf Windows-Systeme für die Winlogbeat-Installation
- Logstash-Server (Version 7.x oder 8.x) für die Zwischenverarbeitung
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
Laden Sie die Authentifizierungsdatei für die Aufnahme herunter. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.
Google SecOps-Kundennummer abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > Profile auf.
Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.
BindPlane-Agent installieren
Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.
Fenstereinbau
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
Führen Sie dazu diesen Befehl aus:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quietWarten Sie, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sc query observiq-otel-collectorDer Dienststatus sollte RUNNING lauten.
Linux-Installation
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
Führen Sie dazu diesen Befehl aus:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.shWarten Sie, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sudo systemctl status observiq-otel-collectorDer Dienststatus sollte active (running) lauten.
Zusätzliche Installationsressourcen
Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Konfigurationsdatei suchen
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Konfigurationsdatei bearbeiten
Ersetzen Sie den gesamten Inhalt von
config.yamldurch die folgende Konfiguration:receivers: tcplog: listen_address: "0.0.0.0:1514" exporters: chronicle/winlogbeat: compression: gzip creds_file_path: '<CREDS_FILE_PATH>' customer_id: '<CUSTOMER_ID>' endpoint: <REGION_ENDPOINT> log_type: ELASTIC_WINLOGBEAT raw_log_field: body ingestion_labels: env: production source: winlogbeat service: pipelines: logs/winlogbeat_to_chronicle: receivers: - tcplog exporters: - chronicle/winlogbeatErsetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
listen_address: Auf0.0.0.0:1514gesetzt, um an allen Schnittstellen auf Port 1514 (TCP) zu lauschen. Sie können die Portnummer bei Bedarf ändern. Sie muss jedoch mit der Logstash-Syslog-Ausgabekonfiguration übereinstimmen.
Exporter-Konfiguration:
<CREDS_FILE_PATH>: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
<CUSTOMER_ID>: Kunden-ID aus dem vorherigen Schritt<REGION_ENDPOINT>: Regionale Endpunkt-URL:- USA:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asien:
asia-southeast1-malachiteingestion-pa.googleapis.com - Eine vollständige Liste finden Sie unter Regionale Endpunkte.
- USA:
Konfigurationsbeispiel:
receivers: tcplog: listen_address: "0.0.0.0:1514" exporters: chronicle/winlogbeat: compression: gzip creds_file_path: '/etc/bindplane-agent/ingestion-auth.json' customer_id: 'a1b2c3d4-e5f6-g7h8-i9j0-k1l2m3n4o5p6' endpoint: malachiteingestion-pa.googleapis.com log_type: ELASTIC_WINLOGBEAT raw_log_field: body ingestion_labels: env: production source: winlogbeat service: pipelines: logs/winlogbeat_to_chronicle: receivers: - tcplog exporters: - chronicle/winlogbeat
Konfigurationsdatei speichern
Speichern Sie die Datei nach der Bearbeitung:
- Linux: Drücken Sie
Ctrl+O, dannEnterund dannCtrl+X. - Windows: Klicken Sie auf Datei > Speichern.
Bindplane-Agent neu starten, um die Änderungen zu übernehmen
So starten Sie den Bindplane-Agent unter Linux neu:
Führen Sie dazu diesen Befehl aus:
sudo systemctl restart observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
So starten Sie den Bindplane-Agent unter Windows neu:
Wählen Sie eine der folgenden Optionen aus:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorServices-Konsole:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
- Drücken Sie
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Logstash installieren und konfigurieren
Logstash ist als Vermittler erforderlich, um Ereignisse von Winlogbeat zu empfangen und über Syslog an den Bindplane-Agent weiterzuleiten. Winlogbeat bietet keine native Syslog-Ausgabefunktion.
Logstash installieren
- Laden Sie Logstash von der Elastic-Downloadseite herunter.
- Logstash auf einem Windows- oder Linux-Server installieren:
Linux (Debian/Ubuntu):
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add - sudo apt-get install apt-transport-https echo "deb https://artifacts.elastic.co/packages/8.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-8.x.list sudo apt-get update && sudo apt-get install logstashLinux (RHEL/CentOS):
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch sudo tee /etc/yum.repos.d/logstash.repo <<EOF [logstash-8.x] name=Elastic repository for 8.x packages baseurl=https://artifacts.elastic.co/packages/8.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF sudo yum install logstashWindows:
- Laden Sie die ZIP-Datei von der Elastic-Downloadseite herunter.
- Extrahieren nach
C:\logstash.
Logstash-Pipeline konfigurieren
Neue Pipeline-Konfigurationsdatei erstellen:
Linux:
sudo nano /etc/logstash/conf.d/winlogbeat-to-syslog.confWindows:
notepad "C:\logstash\config\winlogbeat-to-syslog.conf"
Fügen Sie die folgende Konfiguration hinzu:
input { beats { port => 5044 } } output { syslog { host => "<BINDPLANE_AGENT_IP>" port => 1514 protocol => "tcp" rfc => "rfc5424" appname => "winlogbeat" facility => "user-level" severity => "informational" } }Ersetzen Sie
<BINDPLANE_AGENT_IP>durch die IP-Adresse des Servers, auf dem der Bindplane-Agent ausgeführt wird.
Beispiel für die Logstash-Konfiguration
input { beats { port => 5044 } } output { syslog { host => "192.168.1.100" port => 1514 protocol => "tcp" rfc => "rfc5424" appname => "winlogbeat" facility => "user-level" severity => "informational" } }
Logstash starten
Linux:
Starten Sie Logstash:
sudo systemctl start logstash sudo systemctl enable logstashPrüfen Sie, ob Logstash ausgeführt wird:
sudo systemctl status logstashLogstash-Logs prüfen:
sudo tail -f /var/log/logstash/logstash-plain.log
Windows:
cd C:\logstash\bin logstash.bat -f C:\logstash\config\winlogbeat-to-syslog.confFür die Produktion sollten Sie Logstash als Windows-Dienst mit NSSM oder ähnlichen Tools installieren.
Winlogbeat auf Windows-Systemen installieren
Winlogbeat herunterladen
- Laden Sie Winlogbeat von der Elastic-Downloadseite herunter.
- Wählen Sie das ZIP- oder MSI-Installationsprogramm für Windows aus.
Winlogbeat installieren
MSI-Installationsprogramm verwenden:
- Führen Sie das MSI-Installationsprogramm aus.
- Folgen Sie dem Installationsassistenten.
- Am Standardspeicherort installieren:
C:\Program Files\Winlogbeat.
ZIP-Datei verwenden:
- Extrahieren Sie die ZIP-Datei nach
C:\Program Files\Winlogbeat. - Öffnen Sie PowerShell als Administrator.
Rufen Sie das Winlogbeat-Verzeichnis auf:
cd 'C:\Program Files\Winlogbeat'Führen Sie das Installationsskript aus:
.\install-service-winlogbeat.ps1
- Extrahieren Sie die ZIP-Datei nach
Winlogbeat so konfigurieren, dass Logs an Logstash gesendet werden
Öffnen Sie die Winlogbeat-Konfigurationsdatei:
notepad "C:\Program Files\Winlogbeat\winlogbeat.yml"Konfigurieren Sie die zu erfassenden Ereignisprotokolle. Suchen Sie den Abschnitt
winlogbeat.event_logsund konfigurieren Sie ihn so:winlogbeat.event_logs: - name: Application ignore_older: 72h - name: System - name: Security - name: Microsoft-Windows-Sysmon/Operational ignore_older: 72h - name: Windows PowerShell event_id: 400, 403, 600, 800 - name: Microsoft-Windows-PowerShell/Operational event_id: 4103, 4104, 4105, 4106 - name: ForwardedEvents tags: [forwarded]Kommentieren Sie den Elasticsearch-Ausgabeabschnitt aus, indem Sie am Anfang jeder Zeile
#hinzufügen:#output.elasticsearch: # hosts: ["localhost:9200"]Heben Sie die Auskommentierung des Logstash-Ausgabeabschnitts auf und konfigurieren Sie ihn:
output.logstash: hosts: ["<LOGSTASH_SERVER_IP>:5044"]Ersetzen Sie
<LOGSTASH_SERVER_IP>durch die IP-Adresse Ihres Logstash-Servers.
Beispiel für die Winlogbeat-Konfiguration
winlogbeat.event_logs: - name: Application ignore_older: 72h - name: System - name: Security - name: Microsoft-Windows-Sysmon/Operational ignore_older: 72h output.logstash: hosts: ["192.168.1.50:5044"]
Konfigurationsdatei speichern
Speichern und schließen Sie die Datei.
Winlogbeat-Dienst starten
- Öffnen Sie PowerShell als Administrator.
Starten Sie den Winlogbeat-Dienst:
Start-Service winlogbeatPrüfen Sie, ob der Dienst ausgeführt wird:
Get-Service winlogbeatDer Status sollte Wird ausgeführt lauten.
Winlogbeat-Logs auf Fehler prüfen:
Get-Content "C:\ProgramData\winlogbeat\Logs\winlogbeat" -Tail 50
Logfluss prüfen
Winlogbeat-zu-Logstash-Verbindung prüfen
Prüfen Sie auf dem Logstash-Server die Logstash-Logs:
Linux:
sudo tail -f /var/log/logstash/logstash-plain.logWindows:
type C:\logstash\logs\logstash-plain.log
Suchen Sie nach Nachrichten, die auf Beats-Verbindungen hinweisen:
[INFO ][logstash.inputs.beats] Beats inputs: Starting input listener {:address=>"0.0.0.0:5044"}
Verbindung zwischen Logstash und Bindplane-Agent prüfen
Prüfen Sie auf dem BindPlane-Agent-Server die Agent-Logs:
Linux:
sudo journalctl -u observiq-otel-collector -fWindows:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
Suchen Sie nach Meldungen, die auf eine erfolgreiche Aufnahme von Logs hinweisen.
Logs in Google SecOps prüfen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die Suche auf.
Führen Sie eine Suchanfrage aus, um zu prüfen, ob Winlogbeat-Logs aufgenommen werden:
metadata.log_type = "ELASTIC_WINLOGBEAT"Prüfen Sie, ob Windows-Ereignisprotokolle in den Suchergebnissen angezeigt werden.
Fehlerbehebung
Winlogbeat stellt keine Verbindung zu Logstash her
Prüfen Sie die Netzwerkverbindung zwischen Winlogbeat und Logstash:
Test-NetConnection -ComputerName <LOGSTASH_IP> -Port 5044Prüfen Sie, ob die Windows-Firewallregeln ausgehende Verbindungen an Port 5044 zulassen.
Prüfen Sie, ob Logstash Port 5044 überwacht:
Linux:
sudo netstat -tulpn | grep 5044Windows:
netstat -an | findstr 5044
Logstash leitet nicht an den Bindplane-Agent weiter
Netzwerkverbindung zwischen Logstash und Bindplane-Agent prüfen:
Linux:
telnet <BINDPLANE_IP> 1514Windows:
Test-NetConnection -ComputerName <BINDPLANE_IP> -Port 1514
Prüfen Sie, ob Firewallregeln TCP-Verbindungen über Port 1514 zulassen.
Prüfen Sie, ob der Bindplane-Agent den Port 1514 überwacht:
Linux:
sudo netstat -tulpn | grep 1514Windows:
netstat -an | findstr 1514
Logs werden nicht in Google SecOps angezeigt
- Prüfen Sie, ob die Kundennummer und die Datei für die Authentifizierung der Aufnahme korrekt sind.
- Prüfen Sie die Bindplane-Agent-Logs auf Authentifizierungsfehler.
- Prüfen Sie, ob der regionale Endpunkt mit der Region Ihrer Google SecOps-Instanz übereinstimmt.
- Achten Sie darauf, dass
log_typegenau wie dargestellt aufELASTIC_WINLOGBEATeingestellt ist.
UDM-Zuordnungstabelle
Für diesen Parser sind keine Informationen zur Feldzuordnung verfügbar.
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten