Symantec EDR-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Symantec EDR-Logs mit dem Bindplane-Agenten in Google Security Operations aufnehmen.

Symantec Endpoint Detection and Response (EDR) ist eine Lösung zur Bedrohungserkennung, die Syslog-Nachrichten für Endpunktaktivitäten, Prozessausführungen, Netzwerkverbindungen, Dateioperationen, Registry-Änderungen und Sicherheitsvorfälle generiert. Der Parser extrahiert Felder aus JSON- und CEF-formatierten Logs und ordnet sie dem Unified Data Model (UDM) zu.

Hinweis

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

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agenten und der Symantec EDR-Appliance
  • Wenn der Agent hinter einem Proxy ausgeführt wird, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Administratorzugriff auf die Symantec EDR-Web-UI

Google SecOps-Anmeldedaten für den Bindplane-Agenten abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agenten bei Google SecOps zu authentifizieren:

  • Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
  • Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Datenaufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud -Konsole an und wählen Sie das Google Cloud -Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein (z. B. bindplane-ingest).
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein (z. B. Bindplane agent log ingestion).
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle Editor aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das von Ihnen erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml, sodass der Pfad mit dem Pfad übereinstimmt, unter dem Sie die Datei speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporter-Konfiguration.

Option 2: Authentifizierungsdatei für die Datenaufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie Einstellungen > Datenverwaltung > Erfassungs-Agents auf. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Erfassungs-Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Datenaufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert werden soll.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Gehen Sie zu Einstellungen > Verwaltung > Profil. Wenn Sie eine reine SIEM-Plattform verwenden, rufen Sie die Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

Bindplane-Agent installieren

Installieren Sie den Bindplane-Agenten gemäß der folgenden Anleitung auf Ihrem Windows- oder Linux-Betriebssystem.

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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING angezeigt werden.

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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als active (running) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agenten.

Bindplane-Agenten so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

Konfigurationsdatei suchen

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/symantec_edr:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: SYMANTEC_EDR
        raw_log_field: body
    
    service:
      pipelines:
        logs/symantec_edr_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/symantec_edr
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf dem gelauscht werden soll:
      • 0.0.0.0, um auf allen Schnittstellen zu lauschen (empfohlen)
      • Port 514 ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie 1514 für Nicht-Root).
  • Exporter-Konfiguration:

    • creds_file_path: Vollständiger Pfad zur JSON-Schlüsseldatei des Dienstkontos (Option 1):
      • Linux: /opt/observiq-otel-collector/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Kundennummer, die aus der Google SecOps-Konsole kopiert wurde
    • location: Ersetzen Sie <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporter stellt diesem Wert chronicle.googleapis.com voran. Eine vollständige Liste finden Sie unter Regionale Endpunkte.
    • project: Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer aus IAM & Verwaltung > Einstellungen.
    • endpoint: Behalten Sie die Einstellung chronicle.googleapis.com bei.

Legacy-Ingestion-API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Datenaufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie für creds_file_path den Pfad zur Authentifizierungsdatei für die Datenaufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    exporters:
      chronicle/symantec_edr:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: SYMANTEC_EDR
        raw_log_field: body
    

Konfigurationsdatei speichern

  • Speichern Sie die Datei nach der Bearbeitung:
    • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
    • Windows: Klicken Sie auf Datei > Speichern.

Starten Sie den Bindplane-Agent neu, um die Änderungen zu übernehmen.

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

    sudo systemctl restart observiq-otel-collector
    
    1. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    2. Prüfen Sie die Logs auf Fehler:

      sudo journalctl -u observiq-otel-collector -f
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agenten unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Dienstkonsole:

      1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
      2. Suchen Sie nach observIQ OpenTelemetry Collector.
      3. Rechtsklicken Sie und wählen Sie Neu starten aus.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Prüfen Sie die Logs auf Fehler:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Syslog in Symantec EDR konfigurieren

  1. Melden Sie sich in der Web-UI von Symantec EDR an.
  2. Rufen Sie in der EDR-Cloud-Konsole Umgebung > Einstellungen auf.
  3. Wählen Sie eine Appliance aus und klicken Sie dann auf Appliances.
  4. Klicken Sie in der EDR-Appliance-Konsole auf Einstellungen > Appliances.
  5. Klicken Sie auf Standard-Appliance bearbeiten.
  6. Doppelklicken Sie in der Liste Appliances auf das Gerät.
  7. Entfernen Sie im Abschnitt „Syslog“ das Häkchen bei Standard verwenden (falls markiert).
  8. Klicken Sie auf + Syslog-Server hinzufügen.
  9. Geben Sie die folgenden Konfigurationsdetails an:
    • Host: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Protokoll: Wählen Sie das konfigurierte Protokoll aus (z. B. UDP).
    • Port: Geben Sie die Portnummer des BindPlane-Agenten ein (z. B. 514).
  10. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
actor.cmd_line principal.process.command_line Die vom Akteursprozess ausgeführte Befehlszeile.
actor.file.md5 principal.process.file.md5 Der MD5-Hash der ausführbaren Datei des Akteurs.
actor.file.path principal.process.file.full_path Der vollständige Pfad zur ausführbaren Datei des Akteurs.
actor.file.sha2 principal.process.file.sha256 Der SHA256-Hash der ausführbaren Datei des Akteurs.
actor.pid principal.process.pid Die Prozess-ID des Akteurs.
actor.uid principal.resource.id Eindeutige Kennung für den Akteur.
actor.user.name principal.user.userid Der Nutzername des Akteurs.
actor.user.sid principal.user.windows_sid Die Windows-SID des Akteurs.
attack.technique_name security_result.threat_name Der Name der MITRE ATT&CK-Technik.
attack.technique_uid security_result.description Wird mit attack.technique_name verwendet, um security_result.description im Format: . zu füllen.
collector_device_ip intermediary.ip Die IP-Adresse des Collector-Geräts.
collector_device_name intermediary.hostname Der Hostname des Collector-Geräts.
collector_name intermediary.resource.name Der Name des Collectors.
collector_uid intermediary.resource.id Die eindeutige Kennung des Collectors.
connection.bytes_download network.received_bytes Die Anzahl der in der Verbindung heruntergeladenen Byte.
connection.bytes_upload network.sent_bytes Die Anzahl der in der Verbindung hochgeladenen Byte.
connection.direction_id network.direction Die Richtung der Netzwerkverbindung (1 für INBOUND, 2 für OUTBOUND).
connection.dst_ip target.ip Die Ziel-IP-Adresse der Verbindung.
connection.dst_port target.port Der Zielport der Verbindung.
connection.src_ip principal.ip Die Quell-IP-Adresse der Verbindung.
connection.src_name principal.hostname Der Hostname der Quelle der Verbindung.
connection.src_port principal.port Der Quellport der Verbindung.
connection.url.host target.hostname Der Hostname in der Verbindungs-URL.
connection.url.scheme network.application_protocol Das Schema der Verbindungs-URL (z.B. HTTP, HTTPS).
connection.url.text target.url Die vollständige Verbindungs-URL.
data_source_url_domain target.url Die Domain der Datenquellen-URL.
device_domain principal.administrative_domain/target.administrative_domain Die Domain des Geräts. Wird basierend auf der Logik im Zusammenhang mit „connection.direction_id“ dem Hauptkonto oder dem Ziel zugeordnet.
device_ip principal.ip/target.ip Die IP-Adresse des Geräts. Wird basierend auf der Logik im Zusammenhang mit „connection.direction_id“ dem Hauptkonto oder dem Ziel zugeordnet.
device_name principal.hostname/target.hostname Der Name des Geräts Wird basierend auf der Logik im Zusammenhang mit „connection.direction_id“ dem Hauptkonto oder dem Ziel zugeordnet.
device_os_name principal.platform_version/target.platform_version Das Betriebssystem des Geräts. Wird basierend auf der Logik im Zusammenhang mit „connection.direction_id“ dem Hauptkonto oder dem Ziel zugeordnet.
device_uid target.asset_id Die eindeutige Kennung des Geräts, der „Device ID:“ vorangestellt ist.
directory.path target.file.full_path Der Pfad des Verzeichnisses.
domain_name target.administrative_domain Der Name der Domain.
event_actor.file.path target.process.file.full_path Der Pfad zur ausführbaren Datei des Ereignis-Actors.
event_actor.pid target.process.pid Die Prozess-ID des Ereignisakteurs.
event_desc metadata.description Beschreibung des Ereignisses.
externalIP target.ip Die externe IP-Adresse.
file.md5 target.file.md5 Der MD5-Hash der Datei
file.path target.file.full_path Der Pfad zur Datei.
file.rep_prevalence_band additional.fields.value.number_value Das Verbreitungsband der Bewertung der Datei, zugeordnet mit keyprevalence_score.
file.rep_score_band additional.fields.value.number_value Die Reputationsbewertung der Datei, zugeordnet mit dem Schlüssel reputation_score.
file.sha2 target.file.sha256 Der SHA256-Hash der Datei.
file.size target.file.size Die Größe der Datei.
internalHost principal.hostname Der interne Hostname.
internalIP principal.ip Die interne IP-Adresse.
internal_port principal.port Der interne Port.
kernel.name target.resource.name Der Name des Kernel-Objekts. Der target.resource.type ist auf MUTEX festgelegt.
message metadata.description Der Logeintrag.
module.md5 target.process.file.md5 Der MD5-Hash des Moduls.
module.path target.process.file.full_path Der Pfad zum Modul.
module.sha2 target.process.file.sha256 Der SHA256-Hash des Moduls.
module.size target.process.file.size Die Größe des Moduls.
process.cmd_line target.process.command_line Die Befehlszeile des Prozesses.
process.file.md5 target.process.file.md5 Der MD5-Hash der ausführbaren Datei des Prozesses.
process.file.path target.process.file.full_path Der Pfad zur ausführbaren Datei des Prozesses.
process.file.sha2 target.process.file.sha256 Der SHA256-Hash der ausführbaren Datei des Prozesses.
process.pid target.process.pid Die Prozess-ID.
process.uid target.resource.id Die eindeutige Kennung des Prozesses.
process.user.name target.user.userid Der mit dem Prozess verknüpfte Nutzername.
process.user.sid target.user.windows_sid Die Windows-SID des Prozessnutzers.
product_name metadata.product_name Der Name des Produkts, das das Log generiert.
product_ver metadata.product_version Die Version des Produkts, das das Log generiert.
reg_key.path target.registry.registry_key Der Pfad des Registrierungsschlüssels.
reg_value.data target.registry.registry_value_data Die Daten des Registrierungswerts.
reg_value.name target.registry.registry_value_name Der Name des Registrierungswerts.
reg_value.path target.registry.registry_key Der Pfad des Registrierungsschlüssels für den Wert.
security_result.severity security_result.severity Der Schweregrad des Sicherheitsergebnisses. Übersetzt von einem numerischen Wert in ein UDM-Enum (z.B. 1 in LOW, 5 in MEDIUM, 10 in LOW, 15 in LOW).
session.id network.session_id Die Sitzungs-ID.
session.user.name target.user.userid Der mit der Sitzung verknüpfte Nutzername.
sid principal.user.userid Die Sicherheits-ID (SID).
status_detail security_result.summary Weitere Informationen zum Status.
type_id metadata.product_event_type Die Ereignistyp-ID.
user_agent_ip target.ip Die IP-Adresse des User-Agents.
user_name principal.user.userid/target.user.user_display_name Der Nutzername. Wird basierend auf der Logik für das CEF- oder JSON-Parsing dem Hauptkonto oder Ziel zugeordnet.
user_uid target.user.userid Die eindeutige Kennung des Nutzers.
uuid metadata.product_log_id Die UUID des Ereignisses.
event.idm.read_only_udm.metadata.event_timestamp event.idm.read_only_udm.metadata.event_timestamp Der Zeitstempel des Ereignisses. Abgeleitet von log_time oder CEF device_time.
event.idm.read_only_udm.metadata.log_type event.idm.read_only_udm.metadata.log_type Der Logtyp. Hartcodiert auf SYMANTEC_EDR.
event.idm.read_only_udm.metadata.vendor_name event.idm.read_only_udm.metadata.vendor_name Der Name des Anbieters. Hartcodiert auf Symantec.
event.idm.read_only_udm.extensions.auth.type event.idm.read_only_udm.extensions.auth.type Der Authentifizierungstyp. Legen Sie MACHINE für Anmelde- und Abmeldeereignisse fest.
security_result.action security_result.action Die Maßnahme, die aufgrund des Sicherheitsereignisses ergriffen wurde. Legen Sie ALLOW für erfolgreiche An- und Abmeldungen fest.
log_time event.idm.read_only_udm.metadata.collected_timestamp Aus Änderungsprotokoll zugeordnet
user_name event.idm.read_only_udm.target.user.user_display_name Aus Änderungsprotokoll zugeordnet
severity_id event.idm.read_only_udm.security_result.severity_details Aus Änderungsprotokoll zugeordnet
risk_ref_value event.idm.read_only_udm.security_result.risk_score Aus Änderungsprotokoll zugeordnet
attacks.technique_uid event.idm.read_only_udm.security_result.attack_details.techniques Aus Änderungsprotokoll zugeordnet
attacks.technique_uid event.idm.read_only_udm.security_result.attack_details.tactics Aus Änderungsprotokoll zugeordnet
event_actor.file.normalized_path event.idm.read_only_udm.principal.file.full_path Aus Änderungsprotokoll zugeordnet
event_actor.file.name event.idm.read_only_udm.principal.process.file.names Aus Änderungsprotokoll zugeordnet
user_sid event.idm.read_only_udm.target.user.windows_sid Aus Änderungsprotokoll zugeordnet
event_actor.file.signature_company_name event.idm.read_only_udm.principal.group.group_display_name Aus Änderungsprotokoll zugeordnet
event_actor.app_name event.idm.read_only_udm.principal.application Aus Änderungsprotokoll zugeordnet
event_actor.integrity_id event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor_integrity_id event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor.signature_level_id event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor_signature_level_id event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor.start_time event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor_start_time event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor.file.modified event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor_file_modified event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
operation event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
event_actor.file.signature_value_ids event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
signature_value_id_0 event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
signature_value_id_1 event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
analysis event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
amsi_data event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
log_name event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
scan_uid event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
enriched_data.category_id event.idm.read_only_udm.security_result.detection_fields Aus Änderungsprotokoll zugeordnet
category_id event.idm.read_only_udm.security_result.detection_fields Aus Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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