CEF-Logs für ArcSight erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie ArcSight-CEF-Logs (Common Event Format) mit Bindplane in Google Security Operations aufnehmen. Der Parser transformiert Rohdaten in ein strukturiertes UDM-Format (Unified Data Model). Sie extrahiert Felder aus dem CEF-Header und den Erweiterungen, ordnet sie UDM-Feldern zu und führt eine bestimmte Logik aus, um Ereignisse wie Nutzeranmeldungen, Netzwerkverbindungen und Ressourcenzugriffe anhand der extrahierten Informationen zu kategorisieren.

Hinweise

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

  • Google SecOps-Instanz
  • Ein Windows-Host mit Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, sind die Firewallports geöffnet.
  • ArcSight SmartConnector 8.4 (oder höher) auf einem Host installiert, der Netzwerkzugriff auf den Bindplane-Agent hat
  • Privilegierter Zugriff auf das OpenText-Portal

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

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

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

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

  1. Rufen Sie die Konfigurationsdatei auf:
    • 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: 'ARCSIGHT_CEF'
            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 Authentifizierungsdatei für die Google SecOps-Aufnahme 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
    

ArcSight SmartConnector herunterladen

  1. Melden Sie sich im OpenText-Supportportal an.
  2. Suchen Sie den neuesten ArcSight SmartConnector für Linux und laden Sie ihn herunter.
  3. Beispieldateiname: ArcSight-Connector-Linux64-8.4.0.8499.0.bin.

ArcSight SmartConnector installieren

  1. Laden Sie die Datei .bin auf den SmartConnector-Server hoch:

    scp ArcSight-Connector-Linux64-8.4.0.8499.0.bin user@your-smartconnector-host:/tmp
    
  2. Melden Sie sich über SSH auf dem SmartConnector-Server an und führen Sie Folgendes aus:

    cd /tmp
    chmod +x ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    ./ArcSight-Connector-Linux64-8.4.0.8499.0.bin
    
  3. Folgen Sie der interaktiven Installationsanleitung:

    • Wählen Sie das Installationsverzeichnis aus (z. B. /opt/arcsight/connectors/current).
    • Akzeptieren Sie die Lizenz.
    • Wählen Sie bei Aufforderung Connector installieren aus.

ArcSight SmartConnector so konfigurieren, dass CEF an Syslog gesendet wird

  1. Starten Sie auf dem SmartConnector-Host den Zielassistenten:

    cd /opt/arcsight/connectors/current/bin
    ./arcsight connectors
    
  2. Gehen Sie im Assistenten so vor:

    • Klicken Sie auf Ziel hinzufügen.
    • Wählen Sie CEF Syslog aus.
  3. Geben Sie die folgenden Konfigurationsdetails an:

    • Host/IP: Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Port: Geben Sie die Portnummer des Bindplane-Agents ein.
    • Protokoll: Wählen Sie UDP aus.
  4. Schließen Sie die Einrichtung ab und starten Sie den Connector neu:

    ./arcsight agents
    
  5. Führen Sie eine Prüfung auf Konnektivität durch (z. B. suchen Sie nach: Successfully connected to syslog: X.X.X.X:514).

    tail -f /opt/arcsight/connectors/current/logs/agent.log
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
handeln security_result.action_details Direkt aus dem Feld act zugeordnet.
agt principal.ip Direkt aus dem Feld agt zugeordnet.
agt principal.asset.ip Direkt aus dem Feld agt zugeordnet.
App network.application_protocol Direkt aus dem Feld app zugeordnet.
art metadata.event_timestamp.seconds Direkt aus dem Feld art zugeordnet.
cs2 additional.fields.value.string_value Direkt aus dem Feld cs2 zugeordnet, wenn cs2Label gleich EventlogCategory ist.
cs2Label additional.fields.key Direkt aus dem Feld cs2Label zugeordnet, wenn der Wert EventlogCategory ist.
cs3 additional.fields.value.string_value Direkt aus dem Feld cs3 zugeordnet, wenn cs3Label gleich Process ID ist.
cs3Label additional.fields.key Direkt aus dem Feld cs3Label zugeordnet, wenn der Wert Process ID ist.
cs5 additional.fields.value.string_value Direkt aus dem Feld cs5 zugeordnet, wenn cs5Label gleich Authentication Package Name ist.
cs5Label additional.fields.key Direkt aus dem Feld cs5Label zugeordnet, wenn der Wert Authentication Package Name ist.
cs6 additional.fields.value.string_value Direkt aus dem Feld cs6 zugeordnet, wenn cs6Label gleich Logon GUID ist.
cs6Label additional.fields.key Direkt aus dem Feld cs6Label zugeordnet, wenn der Wert Logon GUID ist.
dhost about.hostname Direkt aus dem Feld dhost zugeordnet.
dhost target.hostname Direkt aus dem Feld dhost zugeordnet.
dntdom about.administrative_domain Direkt aus dem Feld dntdom zugeordnet.
dntdom target.administrative_domain Direkt aus dem Feld dntdom zugeordnet.
dproc about.process.command_line Direkt aus dem Feld dproc zugeordnet.
dproc target.process.command_line Direkt aus dem Feld dproc zugeordnet.
dst principal.ip Direkt aus dem Feld dst zugeordnet.
dst principal.asset.ip Direkt aus dem Feld dst zugeordnet.
dst target.ip Direkt aus dem Feld dst zugeordnet.
duid target.user.userid Direkt aus dem Feld duid zugeordnet.
duser target.user.user_display_name Direkt aus dem Feld duser zugeordnet.
dvc about.ip Direkt aus dem Feld dvc zugeordnet.
dvchost about.hostname Direkt aus dem Feld dvchost zugeordnet.
eventId additional.fields.value.string_value Direkt aus dem Feld eventId zugeordnet.
externalId metadata.product_log_id Direkt aus dem Feld externalId zugeordnet.
fname additional.fields.value.string_value Direkt aus dem Feld fname zugeordnet.
msg metadata.description Direkt aus dem Feld msg zugeordnet.
Proto network.ip_protocol Direkt aus dem Feld proto zugeordnet. Übersetzt Protokollnamen in die entsprechenden Konstanten (z.B. tcp bis TCP).
rt metadata.event_timestamp.seconds Direkt aus dem Feld rt zugeordnet.
shost about.hostname Direkt aus dem Feld shost zugeordnet.
shost principal.hostname Direkt aus dem Feld shost zugeordnet.
src principal.ip Direkt aus dem Feld src zugeordnet.
src principal.asset.ip Direkt aus dem Feld src zugeordnet.
src target.ip Direkt aus dem Feld src zugeordnet.
sproc principal.process.command_line Direkt aus dem Feld sproc zugeordnet.
spt principal.port Direkt aus dem Feld spt zugeordnet.
spt target.port Direkt aus dem Feld spt zugeordnet.
additional.EventRecordID additional.fields.value.string_value Direkt aus dem Feld ad.EventRecordID zugeordnet.
additional.ThreadID additional.fields.value.string_value Direkt aus dem Feld ad.ThreadID zugeordnet.
additional.Opcode additional.fields.value.string_value Direkt aus dem Feld ad.Opcode zugeordnet.
additional.ProcessID additional.fields.value.string_value Direkt aus dem Feld ad.ProcessID zugeordnet.
additional.TargetDomainName additional.fields.value.string_value Direkt aus dem Feld ad.TargetDomainName zugeordnet.
additional.Version additional.fields.value.string_value Direkt aus dem Feld ad.Version zugeordnet.
deviceExternalId about.asset.hardware.serial_number Direkt aus dem Feld deviceExternalId zugeordnet.
deviceInboundInterface additional.fields.value.string_value Direkt aus dem Feld deviceInboundInterface zugeordnet.
deviceOutboundInterface additional.fields.value.string_value Direkt aus dem Feld deviceOutboundInterface zugeordnet.
PanOSConfigVersion security_result.detection_fields.value Direkt aus dem Feld PanOSConfigVersion zugeordnet.
PanOSContentVersion security_result.detection_fields.value Direkt aus dem Feld PanOSContentVersion zugeordnet.
PanOSDGHierarchyLevel1 security_result.detection_fields.value Direkt aus dem Feld PanOSDGHierarchyLevel1 zugeordnet.
PanOSDestinationLocation target.location.country_or_region Direkt aus dem Feld PanOSDestinationLocation zugeordnet.
PanOSRuleUUID metadata.product_log_id Direkt aus dem Feld PanOSRuleUUID zugeordnet.
PanOSThreatCategory security_result.category_details Direkt aus dem Feld PanOSThreatCategory zugeordnet.
PanOSThreatID security_result.threat_id Direkt aus dem Feld PanOSThreatID zugeordnet.
about.asset.asset_id Wird durch Verkettung von Palo Alto Networks., dem Anbieternamen (LF) und dem Feld deviceExternalId generiert.
extensions.auth.type Wird auf AUTHTYPE_UNSPECIFIED gesetzt, wenn das Feld event_name den Wert logged on enthält.
metadata.description Wenn das Feld description den Wert by gefolgt von einer IP-Adresse enthält, wird die IP-Adresse extrahiert und principal.ip und principal.asset.ip zugeordnet.
metadata.event_type Wird anhand einer Reihe von bedingten Prüfungen verschiedener Felder ermittelt, darunter event_name, principal_*, target_* und device_event_class_id. Die Logik bestimmt anhand der verfügbaren Informationen den am besten geeigneten Ereignistyp.
metadata.log_type Legen Sie ARCSIGHT_CEF fest.
metadata.product_event_type Wird durch Verketten von \[, the device_event_class_id field, \] - und dem Feld name generiert.
metadata.product_name Wird auf NGFW gesetzt, wenn das Feld product_name gleich LF ist.
principal.asset.ip Wenn das Feld description den Wert by gefolgt von einer IP-Adresse enthält, wird die IP-Adresse extrahiert und principal.ip und principal.asset.ip zugeordnet.
principal.ip Wenn das Feld description den Wert by gefolgt von einer IP-Adresse enthält, wird die IP-Adresse extrahiert und principal.ip und principal.asset.ip zugeordnet.
security_result.action Wird auf ALLOW gesetzt, wenn das Feld act gleich alert ist. Andernfalls wird es auf BLOCK gesetzt.
security_result.severity Wird auf HIGH gesetzt, wenn das Feld sev größer oder gleich 7 ist, andernfalls auf LOW.

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