Zum Hauptinhalt springen

Erste Schritte

Wirespeed unterstützt die Erfassung von Windows-Protokollen und -Telemetrie mit einer kostenlosen, agentenlosen Architektur:
  1. WEF (Windows Event Forwarding) auf Endgeräten mit den gewünschten Protokollen
  2. WEC (Windows Event Collector) auf einem einzelnen Server
  3. Winlogbeat: zum Lesen der WEC-Protokolle (z. B. aus dem Protokoll ForwardedEvents) und zum Senden an Logstash
  4. Logstash: zum Weiterleiten der Protokolle von Winlogbeat an Wirespeed über HTTPS
WEF (viele Hosts) sendet Protokolle → WEC (ein einzelner Server) sammelt und leitet Protokolle weiter → Logstash → Wirespeed Bevor Sie Logstash konfigurieren, folgen Sie der gemeinsamen Anleitung Log-Forwarder, um Windows Event Logs hinzuzufügen und die Forwarder-Details zu öffnen. Verwenden Sie den dort angezeigten HTTPS-Listener als Ziel für Logstash.
Weitere Informationen zu WEF/WEC finden Sie in diesem Microsoft-Artikel.

WEF (Windows Event Forwarding)

WEF ist die native Methode von Microsoft (kein Agent erforderlich), um Windows-Protokolle und -Telemetrie zu sammeln und an einen zentralen Ort zu senden. In der Regel stammen diese von Windows-Servern vor Ort oder in einer Private Cloud, es können aber auch hochwertige Windows-Endgeräte einbezogen werden. Im Kontext dieser Dokumentation bezeichnen wir diese Systeme als Quellsysteme.

WEC (Windows Event Collection)

WEC ist die native Methode von Microsoft (kein Agent erforderlich), um Protokolle von Quellsystemen zentral zu sammeln. In einer einfachen Architektur gibt es einen einzelnen Server in der lokalen oder Private-Cloud-Umgebung, der als WEC-Server dient. Dieser sollte kein Domänencontroller sein (Domänencontroller sind stattdessen WEF-Quellsysteme).

Winlogbeat

Winlogbeat ist einer von vielen Beats, die Elastic für den Datenversand bereitstellt. Winlogbeat sendet Windows-Ereignisprotokolle an Elasticsearch oder Logstash und kann als Windows-Dienst installiert werden.

Logstash

Logstash ist eine serverseitige Open-Source-Datenverarbeitungspipeline, die Daten aus einer Vielzahl von Quellen erfassen, transformieren und anschließend an einen „Stash“ senden kann.

Windows Event Forwarder konfigurieren

Es gibt mehrere Möglichkeiten, WEF + WEC bereitzustellen. Unsere Empfehlung nutzt Group Policy, um Windows-Hosts anzuweisen, Telemetrie an den WEC-Server zu senden (Push), anstatt sie abzurufen (Pull). Sie können gerne die Pull-Methode verwenden, diese wird in dieser Dokumentation jedoch nicht behandelt.
  1. Group Policy Management öffnen
    1. Führen Sie auf einem Domänencontroller oder einer Administrator-Workstation gpmc.msc aus.
  2. Ein neues GPO (Group Policy Object) erstellen
    1. Klicken Sie mit der rechten Maustaste auf die OU, in der sich Ihre Server befinden (z. B. Servers OU) → Create a GPO in this domain, and Link it here.
    2. Name: Windows Event Forwarding.
    3. Klicken Sie mit der rechten Maustaste auf das GPO > Edit.
  3. WinRM-Dienst aktivieren (ohne Remote Management)
    1. Computer Configuration > Policies > Windows Settings > Security Settings > System Services.
      1. Setzen Sie Windows Remote Management (WS-Management) auf Automatic.
      2. **[OPTIONAL] **Wirespeed empfiehlt, eingehenden WinRM-Netzwerkverkehr auf allen Windows-Endgeräten zu blockieren, auf denen er nicht benötigt wird, da er Angreifern einen Weg für laterale Bewegung eröffnet. Auf dem WEC-Server muss er jedoch aktiviert sein. Wenn Sie diese Änderung vornehmen, verschieben Sie Ihren WEC-Server daher in eine separate OU, auf die sich diese Group-Policy-Einstellung nicht auswirkt.
        1. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows Remote Management (WinRM) > WinRM Service.
        2. Auf Disabled setzen
  4. Adresse des WEC-Servers festlegen
    1. Computer Configuration > Policies > Administrative Templates > Windows Components > Event Forwarding.
    2. Aktivieren Sie die Einstellung und tragen Sie Folgendes in das Feld Option ein: Server=http://WEC-Server01.domain.local:5985/wsman/SubscriptionManager/WEC,Refresh=60
    3. Ersetzen Sie WEC-Server01.domain.local durch den FQDN Ihres WEC-Servers. Port 5985 ist der Standard für WinRM über HTTP. Port 5986 ist der Standard für WinRM über HTTPS. Dafür ist jedoch eine ordnungsgemäß intern bereitgestellte TLS-Zertifizierungsstelle in Ihrer Active-Directory-Umgebung erforderlich, damit alle Endgeräte den HTTPS-Zertifikaten vertrauen können. Ohne eine ordnungsgemäße PKI belassen Sie den Wert bei 5985 über HTTP.
  5. PowerShell-Protokollierung und -Transkription aktivieren
    1. Computer Configuration > Policies > Administrative Templates > Windows Components > Windows PowerShell
    2. Aktivieren Sie Turn on PowerShell Script Block Logging
      1. Aktivieren Sie Log script block invocation start/stop events (4105/4106)
    3. Aktivieren Sie Turn on Module Logging
      1. Setzen Sie Module Names auf *
    4. Aktivieren Sie Turn on PowerShell Transcription
      1. Transcription Output Directory: Leer lassen (Standard ist %UserProfile%\Documents\PowerShell_transcripts)
      2. Aktivieren Sie Include invocation headers.
    5. Aktivieren Sie Turn on PowerShell Remoting Transcription (falls verfügbar)
      1. Transcription Output Directory: Leer lassen (Standard ist %UserProfile%\Documents\PowerShell_transcripts)
      2. Aktivieren Sie Include invocation headers.
  6. Befehlszeilenprotokollierung aktivieren
    1. Computer Configuration > Policies > Administrative Templates > System > Audit Process Creation
    2. Aktivieren Sie „Include command line in process creation events“
      1. Dadurch wird das Feld CommandLine in Security Event ID 4688 für alle Prozesserstellungen befüllt
  7. Mindestprotokollierung festlegen
    1. Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Detailed Tracking
      1. Aktivieren Sie Audit Process Creation
        1. Auf Success setzen (Event ID 4688 für PowerShell-Aufrufe)
    2. Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Account Logon
      1. Aktivieren Sie Audit Kerberos Authentication Service
        1. Auf Success und Failure setzen (Event IDs 4768, 4771)
      2. Aktivieren Sie Audit Kerberos Service Ticket Operations
        1. Auf Success und Failure setzen (Event ID 4769)
      3. Aktivieren Sie Audit Other Account Logon Events
        1. Auf Success und Failure setzen (Event ID 4776)
    3. Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies > Logon/Logoff
      1. Aktivieren Sie Audit Logoff
        1. Auf Success setzen (Event ID 4634 für das Beenden von Sitzungen)
      2. Aktivieren Sie Audit Other Logon/Logoff Events
        1. Auf Success und Failure setzen (Event IDs 4648, 4778, 4779, 4800, 4801)
    4. Computer Configuration > Policies > Windows Settings > Security Settings > Advanced Audit Policy Configuration > System Audit Policies
      1. Audit Logon: Aktivieren Sie Success und Failure, um lokale, interaktive und Remote-Anmeldetypen (z. B. RDP, Netzwerk) abzudecken.
      2. Audit Account Lockout: Aktivieren Sie Success und Failure
      3. Audit Special Logon: Aktivieren Sie Success (privilegierte Anmeldungen, z. B. Administratorrechte)
      4. Audit User Account Management: Aktivieren Sie Success und Failure (Erstellung und Änderung von Benutzern)
      5. Audit Security Group Management: Aktivieren Sie Success und Failure (Erstellung und Änderung von Gruppen)
      6. Audit Audit Policy Change: Aktivieren Sie Success und Failure (Änderungen an Überwachungsrichtlinien)
      7. Audit Security System Extension: Aktivieren Sie Success und Failure (Änderungen an Protokolleinstellungen)
      8. Privilege Use: [Empfehlung] Deaktiviert oder nur Failure (Event IDs 4673, 4674)
      9. Process Creation: [Empfehlung] Success aktiviert (Schritt 6, Event ID 4688)
      10. File and Registry Access (Object Access): [Empfehlung] Disabled oder nur Failure (Event IDs 4656, 4663)
        1. [Optional] Bei Bedarf selektiv über SACLs für bestimmte Objekte aktivieren (nicht Gegenstand dieser Anleitung)
  8. Task-Scheduler-Protokollierung aktivieren
    1. Computer Configuration > Policies > Administrative Templates > Windows Components > Task Scheduler
    2. Aktivieren Sie „Turn On logging for task registration“
      1. Dadurch werden Ereignisse für das Erstellen, Ändern und Ausführen geplanter Aufgaben erzeugt (Event IDs 106, 200, 201)

Windows Event Collector konfigurieren

  1. Bestimmen Sie einen Server (er sollte dem oben in der Group Policy festgelegten Server entsprechen), auf dem eine unterstützte Windows-Server-Version laufen muss (Server 2016 oder neuer).
    Wenn Sie unseren obigen Empfehlungen folgen und eingehenden WinRM-Verkehr auf den überwachten Windows-Hosts deaktivieren, stellen Sie sicher, dass diese Einstellung NICHT für den WEC-Server gilt, da WEC sonst nicht funktioniert.
  2. Laden Sie WEC-Setup.ps1 aus dem GitHub-Repository von Wirespeed herunter: https://github.com/WirespeedSecurity/utils/
  3. Erstellen Sie das Verzeichnis C:/Program Files/Wirespeed und verschieben Sie das Skript dorthin. Öffnen Sie in diesem Verzeichnis ein PowerShell-Terminal als Administrator und führen Sie das Skript mit ./WEC-Setup.ps1 aus. Dieses Skript:
    1. Aktiviert und konfiguriert den Dienst Windows Remote Management (WinRM), eine Voraussetzung für WEC.
    2. Setzt den Dienst Windows Event Collector (wecsvc) auf automatischen Start und startet ihn sofort mit wecutil qc.
    3. Fügt das Konto NT AUTHORITY\Network Service der lokalen Gruppe Event Log Readers hinzu, um die erforderlichen Berechtigungen für die Ereigniserfassung sicherzustellen.
    4. Erstellt Firewall-Regeln, die eingehenden Verkehr auf den Ports 5985 (WinRM über HTTP) und 5986 (WinRM über HTTPS) für die WEF-Kommunikation zulassen.
    5. Konfiguriert den WEC-Server so, dass er seine eigenen Windows-Ereignisse über HTTP auf Port 5985 an sich selbst (localhost) weiterleitet, und ermöglicht so die Selbstüberwachung, indem der Registrierungsschlüssel HKLM:\SOFTWARE\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager gesetzt wird.
    6. Erstellt ein quellinitiiertes WEC-Abonnement namens „Security and PowerShell Events“, das Ereignisse aus den Protokollen Security, Microsoft-Windows-PowerShell/Operational, Windows PowerShell, System und Application über HTTP sammelt und im Protokoll ForwardedEvents speichert.
  4. So überprüfen Sie die Konfiguration:
    1. Prüfen Sie das Protokoll ForwardedEvents in der Ereignisanzeige (eventvwr.msc) auf dem WEC-Server, um zu bestätigen, dass Ereignisse von den Quellsystemen (und vom WEC-Server selbst) gesammelt werden.
    2. Prüfen Sie das Setup-Protokoll unter C:\Program Files\Wirespeed\collector.log auf Fehler oder Bestätigungen erfolgreicher Konfigurationsschritte.
    3. Erzeugen Sie auf einem Quellsystem ein Testereignis (z. B. eventcreate /Id 500 /D "Test event" /T ERROR /L System) und prüfen Sie, ob es im Protokoll ForwardedEvents des WEC-Servers erscheint.
      Alle Aktionen und Fehler des Skripts werden in einer Protokolldatei unter C:\Program Files\Wirespeed\collector.log aufgezeichnet, falls eine weitere Überprüfung oder Fehlersuche erforderlich ist.

Protokollweiterleitung konfigurieren

Weitere Informationen finden Sie in der offiziellen Dokumentation zu Winlogbeat und Logstash.

Winlogbeat installieren und konfigurieren

Die Installation basiert auf der offiziellen Winlogbeat-Installationsanleitung von Elastic.
  1. Winlogbeat herunterladen und installieren
    1. Laden Sie die ZIP-Datei von der Download-Seite herunter
    2. Entpacken Sie den Inhalt nach C:\Program Files
    3. Benennen Sie das Verzeichnis winlogbeat-<version> in Winlogbeat um
    4. Öffnen Sie eine PowerShell-Eingabeaufforderung als Administrator (Rechtsklick auf das PowerShell-Symbol und Run As Administrator auswählen)
    5. Führen Sie in der PowerShell-Eingabeaufforderung die folgenden Befehle aus, um den Dienst zu installieren
      1. cd 'C:\Program Files\Winlogbeat'
      2. .\install-service-winlogbeat.ps1
Wenn die Skriptausführung auf Ihrem System deaktiviert ist, müssen Sie die Ausführungsrichtlinie für die aktuelle Sitzung so festlegen, dass das Skript ausgeführt werden darf. Zum Beispiel: PowerShell.exe -ExecutionPolicy UnRestricted -File .\install-service-winlogbeat.ps1.
  1. Winlogbeat konfigurieren
    1. Ersetzen Sie in winlogbeat.yml den vorhandenen Inhalt durch die folgende Konfiguration:
Dies ist eine sehr einfache Konfiguration. Wir empfehlen, sich mit den Konfigurationsoptionen von Winlogbeat vertraut zu machen und die obige Konfiguration an Ihre spezifischen Anforderungen anzupassen. Alle verfügbaren Konfigurationsoptionen finden Sie in der offiziellen Dokumentation von Elastic.

Logstash installieren und konfigurieren

Logstash erfordert eine der folgenden Versionen:
  • Java 17
  • Java 21
  1. Logstash herunterladen und installieren
    1. Laden Sie die ZIP-Datei von der Download-Seite herunter
    2. Entpacken Sie den Inhalt nach C:\Program Files
    3. Benennen Sie das Verzeichnis logstash-<version> in Logstash um
    4. Wechseln Sie in das Verzeichnis C:\Program Files\Logstash\config\
  2. Logstash konfigurieren
    1. Öffnen Sie die Forwarder-Details Ihrer Windows-Event-Logs-Integration und kopieren Sie die HTTPS-Domain und den Listener-Port
    2. Bearbeiten Sie logstash.conf, damit Ereignisse von Winlogbeat gesammelt und an Wirespeed gesendet werden:
      1. Ersetzen Sie den Inhalt der vorhandenen logstash.conf durch den folgenden Inhalt (oder erstellen Sie die Datei, falls sie nicht existiert):
      2. Ersetzen Sie <WIRESPEED_DOMAIN> und <WIRESPEED_PORT> durch die Werte aus den Forwarder-Details
    3. Bearbeiten Sie logstash.yml, damit die neue Konfiguration standardmäßig verwendet wird
      1. Hängen Sie die folgenden Zeilen an die Datei an, speichern Sie sie und schließen Sie sie:
        Dies ist eine sehr einfache Konfiguration. Wir empfehlen, sich mit den Konfigurationsoptionen von Logstash vertraut zu machen und die obige Konfiguration an Ihre spezifischen Anforderungen anzupassen. Alle verfügbaren Konfigurationsoptionen finden Sie in der offiziellen Dokumentation von Elastic.
    4. Logstash als Dienst installieren
      Wir empfehlen, Logstash zunächst manuell auszuführen, um sicherzustellen, dass die Konfiguration gültig ist, bevor Sie es als Dienst betreiben. Weitere Informationen finden Sie hier: Running Logstash Manually
      Empfohlen: Weitere Informationen zu dieser Einrichtung finden Sie hier: Running Logstash as a service with NSSM
      1. NSSM herunterladen und installieren
        1. https://nssm.cc/download und nssm.exe aus nssm-<version.number>\win64\nssm.exe nach Logstash\bin\ extrahieren
      2. Logstash-Dienst mit NSSM erstellen
        1. Öffnen Sie ein PowerShell-Terminal als Administrator und führen Sie die folgenden Befehle aus, um Logstash als Dienst zu installieren:
          1. cd "C:\Program Files\Logstash\bin"
          2. .\nssm.exe install logstash
        2. Sobald das Fenster NSSM service installer erscheint, geben Sie auf der Registerkarte Application die folgenden Parameter an:
          1. Path: C:\Program Files\Logstash\bin\logstash.bat
          2. Startup Directory: C:\Program Files\Logstash\bin
        3. Klicken Sie auf Install Service und dann auf Ok
    5. Logstash und Winlogbeat starten:
      1. Start-Service logstash
      2. Start-Service winlogbeat
      3. Prüfen Sie mit den folgenden Befehlen, ob die Dienste laufen
        1. Get-Service Logstash
        2. Get-Service winlogbeat
    6. Wenden Sie sich über den Chat in der Plattform oder per E-Mail an support@wirespeed.co an einen Wirespeed-Techniker, um sicherzustellen, dass die Protokolle wie erwartet übertragen werden