Sophos Central-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Sophos Central-Logs mit Bindplane 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 Felds type kategorisiert. Die Daten werden mit spezifischen Details und Aktionen für verschiedene Sophos Central-Ereignistypen angereichert.

Hinweise

  • Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Sie benötigen einen zusätzlichen Windows- oder Linux-Computer, auf dem Python kontinuierlich ausgeführt werden kann.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Sie benötigen privilegierten Zugriff auf die Sophos XG Firewall.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

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

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Fenstereinbau

  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

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

  1. Greifen Sie auf die Konfigurationsdatei zu:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    2. Ö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: '/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
            ingestion_labels:
                log_type: SYSLOG
                namespace: sophos_central
                raw_log_field: body
    
    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 Kunden-ID.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Google SecOps-Aufnahmeauthentifizierungsdatei abrufen gespeichert wurde.

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

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

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, 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. Setzen Sie ein Häkchen bei Python zu PATH hinzufügen.
      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.

Skriptkonfiguration einrichten

  1. Suchen Sie die Datei config.ini und öffnen Sie sie mit 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 Einrichtung 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:\Users\YourName\Downloads\Sophos-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 Central 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:\PythonXX\python.exe).
    • Geben Sie im Feld Argumente hinzufügen den Pfad zum Skript ein, z. B. C:\Users\YourName\Downloads\Sophos-Central-SIEM-Integration\siem.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 die Eingabetaste.
  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 beenden Sie den Editor.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
customer_id target.resource.id Direkt aus dem Feld customer_id zugeordnet.
data.core_remedy_items.items.0.descriptor target.process.file.full_path Direkt aus dem Feld data.core_remedy_items.items.0.descriptor zugeordnet.
data.source_info.ip principal.ip
principal.asset.ip
Direkt aus dem Feld data.source_info.ip zugeordnet.
description metadata.description Direkt aus dem Feld description zugeordnet, wenn metadata.event_type gleich GENERIC_EVENT ist.
dhost hauptkonto.hostname
hauptkonto.asset.hostname
Direkt aus dem Feld dhost zugeordnet.
duid security_result.detection_fields.value Direkt aus dem Feld duid zugeordnet.
Ende metadata.event_timestamp Im RFC 3339-Format geparst und dem Feld event_timestamp zugeordnet.
Endpunkt-ID target.asset_id Als Device endpoint Id: {endpoint_id} zugeordnet.
endpoint_type security_result.about.labels.value Direkt aus dem Feld endpoint_type zugeordnet.
Gruppe security_result.category_details Direkt aus dem Feld group zugeordnet.
Name security_result.description
security_result.summary
Direkt aus dem Feld name zugeordnet.
metadata.event_type Wird basierend auf dem Feld type und zusätzlicher Logik im Parser bestimmt. Mögliche Werte: FILE_OPEN, SCAN_HOST, SETTING_MODIFICATION, STATUS_HEARTBEAT, SETTING_CREATION, NETWORK_CONNECTION, SCAN_PROCESS, SCAN_UNCATEGORIZED, USER_CREATION, USER_UNCATEGORIZED, STATUS_UPDATE.
metadata.log_type Legen Sie SOPHOS_CENTRAL fest.
metadata.product_event_type Direkt aus dem Feld type zugeordnet.
metadata.product_name Legen Sie Sophos Central fest.
metadata.vendor_name Legen Sie Sophos fest.
network.direction Auf OUTBOUND für bestimmte type-Werte festlegen, die ausgehende Netzwerkverbindungen angeben.
network.ip_protocol Auf TCP für bestimmte type-Werte festlegen, die TCP-Netzwerkverbindungen angeben.
security_result.action Wird anhand des Felds action bestimmt, das mit Grok-Mustern aus dem Feld name extrahiert wird. Mögliche Werte: ALLOW, BLOCK, ALLOW_WITH_MODIFICATION, UNKNOWN_ACTION.
security_result.detection_fields.key Wird auf duid gesetzt, wenn das Feld duid vorhanden ist.
security_result.rule_name Aus dem Feld name extrahiert, indem Grok-Muster für bestimmte type-Werte verwendet werden.
security_result.severity Wird aus dem Feld severity mit der folgenden Zuordnung abgeleitet: „low“ –> „LOW“, „medium“ –> „MEDIUM“, „high“/„critical“ –> „HIGH“.
target.application Aus dem Feld name extrahiert, indem Grok-Muster für bestimmte type-Werte verwendet werden.
target.asset.hostname Wird aus dem Feld dhost für bestimmte type-Werte zugeordnet.
target.file.full_path Wird aus dem Feld name mit Grok-Mustern für bestimmte type-Werte extrahiert oder direkt aus data.core_remedy_items.items.0.descriptor oder core_remedy_items.items.0.descriptor zugeordnet.
target.file.size Aus dem Feld name extrahiert, indem Grok-Muster verwendet und für bestimmte type-Werte in uinteger konvertiert wurden.
target.hostname Wird aus dem Feld dhost für bestimmte type-Werte zugeordnet.
target.resource.name Auf bestimmte Werte basierend auf dem Feld type festgelegt oder aus dem Feld name mit Grok-Mustern extrahiert.
target.resource.type Wird basierend auf dem Feld type auf bestimmte Werte festgelegt.
target.user.userid Wird aus dem Feld suser zugeordnet, nachdem der Nutzername mit Grok-Mustern extrahiert wurde.
target.url Aus dem Feld name extrahiert, indem Grok-Muster für bestimmte type-Werte verwendet werden.
source_info.ip principal.ip
principal.asset.ip
Direkt aus dem Feld source_info.ip zugeordnet.
suser principal.user.userid
target.user.userid
Aus dem Feld suser extrahiert. Dabei werden Grok-Muster verwendet, um Hostnamenpräfixe zu entfernen.
Typ metadata.product_event_type Direkt aus dem Feld type zugeordnet.

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