Sophos Capsule8-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Sophos Linux Sensor-Logs (früher Capsule8) mit Bindplane erfassen. Sophos Capsule8 bietet Laufzeitschutz für Linux-Arbeitslasten, Container und Kubernetes-Umgebungen, indem es Bedrohungen auf Kernelebene mithilfe der eBPF-Technologie erkennt und darauf reagiert. Der Parser extrahiert und strukturiert zuerst JSON-formatierte Logdaten. Anschließend werden die extrahierten Felder den entsprechenden Attributen im Unified Data Model (UDM) von Chronicle zugeordnet, wobei der Schwerpunkt auf Metadaten, Sicherheitsergebnissen und Prinzipalinformationen liegt.

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
  • Der Sophos Linux Sensor (früher Capsule8) ist auf Ihren Linux-Systemen bereitgestellt.

Sophos Linux Sensor so konfigurieren, dass Warnungen nach Sophos Central exportiert werden

Bevor Sie die Integration konfigurieren, müssen Sie zuerst Sophos Linux Sensor so konfigurieren, dass er Warnungsdaten an Sophos Central sendet.

Voraussetzungen für die Sophos Central-Integration

  1. Sophos Linux Sensor Version 5.5.2.22 oder höher.
  2. Eine der folgenden Lizenzen:
    • Intercept X Advanced for Server mit XDR
    • Central Managed Detection and Response Essential Server
    • Central Managed Detection and Response Complete Server
  3. Ihre Sophos Central MCS-URL und Mandanten-ID.
  4. Ein gültiges API-Token für das SLS-Paket-Repository.

MCS-URL finden

  1. Melden Sie sich in Sophos Central an.
  2. Klicken Sie auf Ihren Kontonamen> Supporteinstellungen.
  3. Suchen Sie nach der Zeile, die mit This account is located beginnt, um herauszufinden, in welcher geografischen Region sich Ihr Sophos Central-Konto befindet.
  4. In der folgenden Tabelle finden Sie die MCS-URL für Ihre Region:

    Region MCS-URL
    USA (Oregon) mcs2-cloudstation-us-west-2.prod.hydra.sophos.com
    USA (Ohio) mcs2-cloudstation-us-east-2.prod.hydra.sophos.com
    Irland mcs2-cloudstation-eu-west-1.prod.hydra.sophos.com
    Deutschland mcs2-cloudstation-eu-central-1.prod.hydra.sophos.com
    Kanada mcs2.stn100yul.ctr.sophos.com
    Australien mcs2.stn100syd.ctr.sophos.com
    Asiatisch-pazifischer Raum (Tokio) mcs2.stn100hnd.ctr.sophos.com
    Südamerika (São Paulo) mcs2.stn100gru.ctr.sophos.com

Wenn Ihre Region nicht in der Tabelle aufgeführt ist, verwenden Sie mcs2.stn100bom.ctr.sophos.com als MCS-URL.

Ausgabe von Sophos Linux Sensor-Benachrichtigungen konfigurieren

  1. Öffnen Sie /etc/sophos/runtimedetections.yaml in einem Texteditor.
  2. Fügen Sie die folgenden Zeilen hinzu und ersetzen Sie die Platzhalterwerte durch Ihre tatsächlichen Sophos Central-Details:

    send_labs_telemetry: true
    endpoint_telemetry_enabled: true
    cloud_meta: auto
    
    # Set your customer id:
    customer_id: "{tenant-id}"
    
    mcs:
      token: "{LINUX_REPO_API_KEY}"
      url: "{MCS_URL}"
      enabled: true
    
  3. Speichern Sie die Änderungen und beenden Sie den Editor.

  4. Sensor neu starten:

    systemctl restart sophoslinuxsensor
    

Optional: Sophos Linux Sensor so konfigurieren, dass Meta-Ereignisse an Data Lake gesendet werden

Ab Version 5.11.0 unterstützt SLS das Senden von Ereignisdaten an den Sophos Data Lake.

  1. Öffnen Sie /etc/sophos/runtimedetections.yaml in einem Texteditor.
  2. Fügen Sie die folgende Konfiguration hinzu:

    investigations:
      reporting_interval: 5s
      zeromq:
        topics:
        - process_events: running_processes_linux_events
          audit_user_msg: user_events_linux
      sinks:
      - backend: mcs
        name: "mcs"
        type: mcs
      flight_recorder:
        enabled: true
        tables:
        - name: "process_events"
          enabled: true
          rows: 1000
          filter:
          - match eventType == "PROCESS_EVENT_TYPE_EXEC"
          - match eventType == "BASELINE_TASK"
          - default ignore
        - name: "audit_user_msg"
          enabled: true
          rows: 1000
          filter:
          - ignore programName == "cron"
          - ignore processPid == 1
          - default match
    
  3. Speichern Sie die Änderungen und beenden Sie den Editor.

  4. Sensor neu starten:

    systemctl restart sophoslinuxsensor
    

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

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_CAPSULE8'
        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
Kategorien read_only_udm.security_result.category_details Jedes Element im Array „categories“ wird als separates „category_details“ hinzugefügt.
Kommentare read_only_udm.security_result.description Direkt aus dem Feld „Kommentare“ zugeordnet.
Konfidenz read_only_udm.security_result.severity_details Direkt aus dem Feld „Konfidenz“ abgeleitet.
description read_only_udm.security_result.summary Direkt aus dem Beschreibungsfeld zugeordnet.
incident_id read_only_udm.security_result.rule_id Direkt aus dem Feld „incident_id“ zugeordnet.
Herkunft principal.process.parent_process... Mit dem Lineage-Array wird eine Kette von übergeordneten Prozessen mit bis zu 15 Ebenen gefüllt. Jedes Element im Lineage-Array stellt einen Prozess in der Kette dar. Der Index 0 steht für das unmittelbare übergeordnete Element und höhere Indizes für weitere übergeordnete Elemente. Die Felder „pid“ und „name“ der einzelnen Lineage-Elemente werden den entsprechenden Feldern im UDM zugeordnet.
location.container_id principal.labels.value Direkt aus dem Feld „location.container_id“ zugeordnet. Der entsprechende Schlüssel ist auf „container_id“ festgelegt.
location.container_labels.maintainer principal.labels.value Direkt aus dem Feld „location.container_labels.maintainer“ zugeordnet. Der entsprechende Schlüssel ist auf „maintainer“ gesetzt.
location.container_name principal.labels.value Direkt aus dem Feld „location.container_name“ zugeordnet. Der entsprechende Schlüssel ist auf „container_name“ festgelegt.
location.image_id principal.labels.value Direkt aus dem Feld „location.image_id“ zugeordnet. Der entsprechende Schlüssel ist auf „image_id“ festgelegt.
location.image_name principal.labels.value Direkt aus dem Feld „location.image_name“ zugeordnet. Der entsprechende Schlüssel ist auf „image_name“ festgelegt.
location.kubernetes_namespace principal.labels.value Direkt aus dem Feld „location.kubernetes_namespace“ zugeordnet. Der entsprechende Schlüssel ist auf „kubernetes_namespace“ festgelegt.
location.kubernetes_pod principal.labels.value Direkt aus dem Feld „location.kubernetes_pod“ zugeordnet. Der entsprechende Schlüssel ist auf „kubernetes_pod“ gesetzt.
matched_rule read_only_udm.security_result.rule_name Direkt aus dem Feld „matched_rule“ zugeordnet.
metadata.gcp_instance_hostname principal.hostname Direkt aus dem Feld „metadata.gcp_instance_hostname“ zugeordnet.
metadata.gcp_instance_zone principal.cloud.availability_zone Die Verfügbarkeitszone wird mithilfe eines regulären Ausdrucks aus dem Feld „metadata.gcp_instance_zone“ extrahiert.
metadata.gcp_project_id principal.cloud.project.name Direkt aus dem Feld „metadata.gcp_project_id“ zugeordnet.
metadata.gcp_project_numeric_id principal.cloud.project.id Direkt aus dem Feld „metadata.gcp_project_numeric_id“ zugeordnet.
metadata.network_interface_eth0_addr_0 principal.ip Die IP-Adresse wird aus dem Feld „metadata.network_interface_eth0_addr_0“ mithilfe eines regulären Ausdrucks extrahiert.
metadata.network_interface_eth0_hardware_addr principal.mac Direkt aus dem Feld „metadata.network_interface_eth0_hardware_addr“ zugeordnet.
policy_type read_only_udm.metadata.product_event_type Direkt aus dem Feld „policy_type“ zugeordnet.
process_info.args principal.labels.value Jedes Element im Array „process_info.args“ wird als separates Label hinzugefügt. Der Schlüssel wird auf „process_info.arg[index]“ gesetzt, wobei „index“ die Position des Arguments im Array ist.
process_info.name principal.process.file.full_path Direkt aus dem Feld „process_info.name“ zugeordnet.
process_info.pid principal.process.pid Direkt aus dem Feld „process_info.pid“ zugeordnet.
process_info.ppid principal.process.parent_process.pid Direkt aus dem Feld „process_info.ppid“ zugeordnet.
Priorität read_only_udm.security_result.severity Direkt aus dem Feld „priority“ (Priorität) zugeordnet und in Großbuchstaben konvertiert.
timestamp read_only_udm.metadata.event_timestamp Direkt aus dem Zeitstempelfeld zugeordnet.
uuid read_only_udm.metadata.product_log_id Direkt aus dem Feld „uuid“ zugeordnet.
read_only_udm.metadata.log_type Auf den konstanten Wert „SOPHOS_CAPSULE8“ festlegen.
read_only_udm.metadata.event_type Auf den konstanten Wert „SCAN_HOST“ festgelegt.
read_only_udm.metadata.vendor_name Auf den konstanten Wert „Sophos“ festgelegt.
read_only_udm.metadata.product_name Auf den konstanten Wert „Capsule8“ festgelegt.

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