Sophos Endpoint-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Sophos Endpoint-Logs (früher Sophos AV/Intercept X) mit dem Bindplane-Agent erfassen. Der Parser wandelt JSON-Logs in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Es werden Felder aus verschachtelten JSON-Strukturen extrahiert, UDM-Feldern zugeordnet und Ereignisse anhand des Typfelds kategorisiert. Die Daten werden mit spezifischen Details und Aktionen für verschiedene Sophos AV-Ereignistypen angereichert.

Hinweis

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Ein zusätzlicher Windows- oder Linux-Computer, auf dem Python kontinuierlich ausgeführt werden kann
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Privilegierter Zugriff auf die Sophos Central Admin-Konsole

Authentifizierungsdatei für die Google SecOps-Datenaufnahme abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Datenaufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem BindPlane installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile auf.
  3. 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.

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. Führen Sie dazu diesen Befehl aus:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux-Installation

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. 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.sh
    

Zusätzliche Installationsressourcen

Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

  1. Greifen Sie auf die Konfigurationsdatei zu:
    • Suchen Sie die Datei config.yaml. Normalerweise befindet sie sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
      udplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Adjust the path to the credentials file you downloaded in Step 1
        creds_file_path: '/path/to/ingestion-authentication-file.json'
        # Replace with your actual customer ID from Step 2
        customer_id: <customer_id>
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'SOPHOS_AV'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Dateipfad, in dem die Authentifizierungsdatei in Schritt 1 gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen zu übernehmen

  1. Führen Sie den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  2. Um den Bindplane-Agent unter Windows neu zu starten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Sophos Central API-Zugriff konfigurieren

  1. Melden Sie sich in Sophos Central Admin an.
  2. Wählen Sie Globale Einstellungen > API-Token-Verwaltung aus.
  3. Klicken Sie auf Token hinzufügen, um ein neues Token zu erstellen.
  4. Geben Sie einen Tokennamen ein und klicken Sie auf Speichern. Die API-Token-Zusammenfassung für das angegebene Token wird angezeigt.
  5. Klicken Sie im Abschnitt API Token Summary (Zusammenfassung des API-Tokens) auf Copy (Kopieren), um die API-Zugriffs-URL und die Header zu kopieren.

Python auf dem zusätzlichen Computer installieren

  1. Öffnen Sie den Webbrowser und rufen Sie die Python-Website auf.
  2. Klicken Sie auf Python herunterladen für Ihr Betriebssystem (Windows oder Mac).
  3. Installieren Sie Python.

    • Unter Windows:
      1. Führen Sie das Installationsprogramm aus.
      2. Klicken Sie das Kästchen neben Python zu PATH hinzufügen an.
      3. Klicken Sie auf Jetzt installieren.
    • Auf dem Mac:

      1. Python ist möglicherweise bereits installiert. Andernfalls können Sie die neueste Version über das Terminal installieren.
      2. Öffnen Sie Terminal und geben Sie den folgenden Befehl ein:
      python --version
      

Sophos-Integrationsskript herunterladen

  1. Rufen Sie die GitHub-Seite für das GitHub-Repository für die Sophos Central SIEM-Integration auf.
  2. Klicken Sie auf die grüne Schaltfläche Code > Download ZIP.
  3. Extrahieren Sie die ZIP-Datei.

Scriptkonfiguration einrichten

  1. Suchen Sie die Datei config.ini und öffnen Sie sie in einem Texteditor.
  2. Bearbeiten Sie die Konfigurationsdatei:
    • API-Token: Geben Sie den API-Schlüssel ein, den Sie zuvor aus Sophos Central kopiert haben.
    • Syslog-Serverdetails: Geben Sie die Details Ihres Syslog-Servers ein.
    • Host: Geben Sie die Bindplane-IP-Adresse ein.
    • Port: Geben Sie die Bindplane-Portnummer ein.
    • Protokoll: Geben Sie UDP ein. Je nach Konfiguration können Sie auch TCP oder TLS verwenden.
  3. Speichern Sie die Datei.

Skript ausführen

  1. Wechseln Sie zum Skriptordner.

    • Unter Windows:

      1. Drücken Sie die Windows-Taste und geben Sie cmd ein.
      2. Klicken Sie auf Eingabeaufforderung.
      3. Wechseln Sie zum Skriptordner:
      cd C:UsersYourNameDownloadsSophos-Central-SIEM-Integration
      
    • Unter macOS:

      1. Rufen Sie Anwendungen > Dienstprogramme auf.
      2. Öffnen Sie das Terminal.
      3. Wechseln Sie zum Skriptordner:
      cd /Users/YourName/Downloads/Sophos-Central-SIEM-Integration
      
  2. Skript ausführen:

    • Geben Sie den folgenden Befehl ein, um das Skript zu starten:

      python siem.py
      

Skript für die kontinuierliche Ausführung unter Windows automatisieren (mit dem Aufgabenplaner):

  1. Öffnen Sie den Taskplaner, indem Sie im Startmenü Taskplaner eingeben.
  2. Klicken Sie auf Aufgabe erstellen.
  3. Auf dem Tab Allgemein:
    • Geben Sie einen Namen für die Aufgabe ein, z. B. Sophos AV Log Export.
  4. Auf dem Tab Trigger:
    • Klicken Sie auf Neu und legen Sie fest, dass die Aufgabe Täglich oder Beim Start ausgeführt werden soll (je nach Bedarf).
  5. Auf dem Tab Aktionen:
    • Klicken Sie auf Neu und wählen Sie Programm starten aus.
    • Suchen Sie nach der ausführbaren Datei python.exe (normalerweise unter C:PythonXXpython.exe).
    • Geben Sie im Feld Argumente hinzufügen den Pfad zum Skript ein, z. B. C:UsersYourNameDownloadsSophos-Central-SIEM-Integrationsiem.py.
  6. Klicken Sie auf OK, um die Aufgabe zu speichern.

Skript so automatisieren, dass es auf einem Mac kontinuierlich ausgeführt wird (mit Cron-Jobs):

  1. Öffnen Sie das Terminal.
  2. Geben Sie crontab -e ein und drücken Sie Enter.
  3. Fügen Sie am Ende der Datei eine neue Zeile hinzu:

    * * * * * /usr/bin/python /Users/YourName/Downloads/Sophos-Central-SIEM-Integration/siem.py
    
  4. Speichern Sie die Datei und schließen Sie den Editor.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
s_ip intermediary.ip Zusammengeführt
description metadata.description Direkt zugeordnet
name metadata.description Direkt zugeordnet
security_result.description metadata.description Umbenannt/zugeordnet
end metadata.event_timestamp Geparst als RFC 3339
ts metadata.event_timestamp Geparst als RFC 3339
action metadata.event_type Zugeordnet: unknown → NETWORK_CONNECTION, allowed → SCAN_PROCESS, blocked → `SCAN_PROC...
e_type metadata.event_type Zugeordnete Werte (insgesamt 11, z.B. NonCompliant → SCAN_HOST, SavDisabled → `SETTING_MODIFIC...
type metadata.event_type Zugeordnete Werte (insgesamt 13, z.B. Event::Endpoint::NonCompliant → SCAN_HOST, „Event::Endpoin...
e_type metadata.product_event_type Direkt zugeordnet
type metadata.product_event_type Direkt zugeordnet
action network.direction Zugeordnet: warned → OUTBOUND, unknown → OUTBOUND
e_type network.direction Zugeordnet: WindowsFirewall::Blocked → OUTBOUND
type network.direction Zugeordnet: Event::Endpoint::WindowsFirewall::Blocked → OUTBOUND
action network.ip_protocol Zugeordnet: warned → TCP, unknown → TCP
appSha256 principal.file.sha256 Direkt zugeordnet
dhost principal.hostname Direkt zugeordnet
host principal.hostname Direkt zugeordnet
source_info.ip principal.ip Zusammengeführt
src_ip principal.ip Zusammengeführt
id principal.resource.id Direkt zugeordnet
suser principal.user.user_display_name Direkt zugeordnet
suser principal.user.userid Direkt zugeordnet
user principal.user.userid Direkt zugeordnet
user_id principal.user.userid Direkt zugeordnet
endpoint_id_label security_result.about.labels Zusammengeführt
endpoint_type_label security_result.about.labels Zusammengeführt
action security_result.action Zugeordnete Werte (insgesamt 5, z.B. allow → sec_action, unknown → sec_action, allowed → `...
sec_action security_result.action Zusammengeführt
group security_result.category_details Zusammengeführt
sub_cat security_result.category_details Zusammengeführt
desc security_result.description Direkt zugeordnet
e_type security_result.description Zugeordnet: (UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) → `security_result...
type security_result.description Zugeordnet: Event::Endpoint::(UpdateRebootRequired/ServiceNotRunning/NonCompliant/OutOfDate) →…
rule security_result.rule_name Direkt zugeordnet
rules security_result.rule_name Direkt zugeordnet
severity security_result.severity Zugeordnete Werte (insgesamt 6, z.B. low → LOW, low → MEDIUM, low → HIGH)
security_result.description security_result.summary Umbenannt/zugeordnet
application target.application Direkt zugeordnet
endpoint_id target.asset_id Direkt zugeordnet
f_path target.file.full_path Direkt zugeordnet
f_size target.file.size Umbenannt/zugeordnet
dhost target.hostname Direkt zugeordnet
host target.hostname Direkt zugeordnet
application target.process.file.full_path Direkt zugeordnet
customer_id target.resource.id Direkt zugeordnet
e_type target.resource.name Zugeordnet: SavDisabled → Real time protection, OutOfDate → Device Registration, `Regist...
p_device target.resource.name Direkt zugeordnet
scan_name target.resource.name Direkt zugeordnet
type target.resource.name Zugeordnet: Event::Endpoint::SavDisabled → Real time protection, `Event::Endpoint::OutOfDate...
action target.resource.type Zugeordnet: blocked → Device, restricted to read-only → Device
e_type target.resource.type Zugeordnete Werte (insgesamt 5, z.B. SavDisabled → SETTING, OutOfDate → SETTING, „Registered...
type target.resource.type Zugeordnete Werte (insgesamt 5, z.B. Event::Endpoint::SavDisabled → SETTING, `Event::Endpoint::O...
url target.url Direkt zugeordnet
duid target.user.userid Direkt zugeordnet
suser target.user.userid Direkt zugeordnet
user target.user.userid Direkt zugeordnet
metadata.event_type Konstante: GENERIC_EVENT
metadata.product_name Konstante: Sophos Anti-Virus
metadata.vendor_name Konstante: Sophos
network.direction Konstante: OUTBOUND
network.ip_protocol Konstante: TCP
security_result.description Konstante: security_result.summary
security_result.severity Konstante: LOW
target.resource.name Konstante: Real time protection
target.resource.type Konstante: SETTING

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten