Sophos Intercept EDR-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Sophos Intercept EDR-Logs mit Bindplane erfassen. Der Parser extrahiert Felder aus Sophos EDR-JSON-Logs und transformiert sie in das einheitliche Datenmodell (Unified Data Model, UDM). Das Skript parst das Feld message, ordnet Sophos-Felder UDM-Feldern zu (z. B. suser zu principal.user.userid), führt bedingte Zusammenführungen basierend auf dem Vorhandensein von Feldern durch und kategorisiert Ereignisse basierend auf dem Feld type. Dabei werden die entsprechenden UDM-Ereignistypen und Sicherheitsergebnisaktionen festgelegt.

Hinweise

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 Aufnahme in Google SecOps 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 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 > 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.

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. Konfigurationsdatei aufrufen:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet sie 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_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_EDR'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.
    • 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 Namen für das Token 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 einem 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.
  3. Python installieren:

    • 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. Öffnen Sie die Datei config.ini in dem Verzeichnis, in dem Sie das ZIP-Archiv extrahiert haben.
  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 IP-Adresse des BindPlane-Agents ein.
    • Port: Geben Sie die Portnummer des BindPlane-Agents 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:/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 der Aufgabe einen Namen, 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 Ihren Anforderungen).
  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:/Python/XX/python.exe).
    • Geben Sie im Feld Argumente hinzufügen den Pfad zum Skript ein, z. B. C:/Users/YourName/Downloads/Sophos-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 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. Klicken Sie auf Speichern und beenden Sie den Editor.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
appSha256 principal.process.file.sha256 Der Wert von appSha256 aus dem Rohlog wird diesem UDM-Feld zugewiesen.
core_remedy_items.items[].descriptor principal.process.file.names Der Wert jedes descriptor im items-Array in core_remedy_items aus dem Rohlog wird als separater names-Eintrag im UDM hinzugefügt.
customer_id target.resource.id Der Wert von customer_id aus dem Rohlog wird diesem UDM-Feld zugewiesen.
detection_identity_name security_result.threat_feed_name Der Wert von detection_identity_name aus dem Rohlog wird diesem UDM-Feld zugewiesen.
dhost target.hostname Der Wert von dhost aus dem Rohlog wird diesem UDM-Feld zugewiesen.
endpoint_id target.resource.attribute.labels[].value Der Wert von endpoint_id aus dem Rohlog wird als Wert eines Labels in target.resource.attribute.labels zugewiesen. Der Schlüssel für dieses Label ist „endpoint_id“.
endpoint_type target.resource.attribute.labels[].value Der Wert von endpoint_type aus dem Rohlog wird als Wert eines Labels in target.resource.attribute.labels zugewiesen. Der Schlüssel für dieses Label ist „endpoint_type“.
filePath target.file.full_path Der Wert von filePath aus dem Rohlog wird diesem UDM-Feld zugewiesen.
group principal.group.group_display_name Der Wert von group aus dem Rohlog wird diesem UDM-Feld zugewiesen.
id target.process.pid Der Wert von id aus dem Rohlog wird diesem UDM-Feld zugewiesen.
name metadata.description Der Wert von name aus dem Rohlog wird diesem UDM-Feld zugewiesen. Der Wert wird aus dem Feld type im Rohlog abgeleitet. Dazu wird im Parser eine bedingte Logik verwendet. Der Standardwert ist NETWORK_UNCATEGORIZED. Bestimmte type-Werte werden verschiedenen UDM-Ereignistypen zugeordnet (z.B. „UpdateSuccess“ wird STATUS_UPDATE zugeordnet, „ServiceNotRunning“ wird SERVICE_STOP zugeordnet usw. Fest codiert auf „SOPHOS_EDR“. Der Wert von type aus dem Rohlog wird diesem UDM-Feld zugewiesen. Fest codiert auf „Sophos EDR“. Fest codiert auf „SOPHOS“.
rt metadata.event_timestamp, timestamp Der Wert von rt aus dem Rohlog, der die Ereigniszeit darstellt, wird geparst und verwendet, um sowohl das Feld metadata.event_timestamp als auch das Feld timestamp auf oberster Ebene im UDM auszufüllen.
security_result.severity security_result.severity Der Wert von severity aus dem Rohlog wird in Großbuchstaben umgewandelt und diesem UDM-Feld zugewiesen.
source_info.ip principal.ip Der Wert von ip innerhalb von source_info aus dem Rohlog wird diesem UDM-Feld zugewiesen.
suser principal.user.userid Der Wert von suser aus dem Rohlog wird diesem UDM-Feld zugewiesen.
threat security_result.threat_name Der Wert von threat aus dem Rohlog wird diesem UDM-Feld zugewiesen.
security_result.action Der Wert wird aus dem Feld type im Rohlog abgeleitet. Wenn type „Blocked“ oder „Warn“ (Groß-/Kleinschreibung wird nicht berücksichtigt) enthält, wird der Wert auf „BLOCK“ gesetzt. Wenn type „Allow“ (Groß-/Kleinschreibung wird nicht beachtet) enthält, wird der Wert auf „ALLOW“ gesetzt. Der Wert wird auf „TASK“ gesetzt, wenn das Feld type im Rohlog „ScheduledDataUploadResumed“ oder „ScheduledDailyLimitExceeded“ ist.

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