ArcSight-CEF-Logs erfassen

Parserversion: 34.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie ArcSight-CEF-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

ArcSight (jetzt Teil von OpenText) verwendet das Common Event Format (CEF) zur Normalisierung von Sicherheitsereignissen aus mehreren Quellen. Der ArcSight SmartConnector erfasst Ereignisse und leitet sie im CEF-Format über syslog an nachgelagerte Nutzer weiter, einschließlich SIEM-Plattformen.

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-Agent und dem ArcSight SmartConnector-Host
  • Wenn der Agent hinter einem Proxy ausgeführt wird, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Zugriff auf das OpenText-Supportportal zum Herunterladen von SmartConnector
  • Administratorzugriff auf den SmartConnector-Server

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-Agent für die Aufnahme von Syslog und das Senden an Google SecOps konfigurieren

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/arcsight_cef:
        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: ARCSIGHT_CEF
        raw_log_field: body
    
    service:
      pipelines:
        logs/arcsight_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/arcsight_cef
    

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/arcsight_cef:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ARCSIGHT_CEF
        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"
        

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. Beispiel für einen Dateinamen: 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 beim SmartConnector-Server an und führen Sie folgenden Befehl 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 dem interaktiven Installationsprogramm:

    • Wählen Sie das Installationsverzeichnis aus (z. B. /opt/arcsight/connectors/current).
    • Akzeptieren Sie die Lizenz.
    • Wählen Sie Connector installieren aus, wenn Sie dazu aufgefordert werden.

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:

    • Wählen Sie Ziel hinzufügen aus.
    • 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-Agenten ein (z. B. 514).
    • 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 der Konnektivität durch (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 Wird direkt aus dem Feld act zugeordnet.
agt principal.ip Wird direkt aus dem Feld agt zugeordnet.
agt principal.asset.ip Wird direkt aus dem Feld agt zugeordnet.
App network.application_protocol Wird direkt aus dem Feld app zugeordnet.
art metadata.event_timestamp.seconds Wird direkt aus dem Feld art zugeordnet.
cs2 additional.fields.value.string_value Wird direkt aus dem Feld cs2 zugeordnet, wenn cs2Label den Wert EventlogCategory hat.
cs2Label additional.fields.key Wird direkt aus dem Feld cs2Label zugeordnet, wenn der Wert EventlogCategory ist.
cs3 additional.fields.value.string_value Wird direkt aus dem Feld cs3 zugeordnet, wenn cs3Label den Wert Process ID hat.
cs3Label additional.fields.key Wird direkt aus dem Feld cs3Label zugeordnet, wenn der Wert Process ID ist.
cs5 additional.fields.value.string_value Wird direkt aus dem Feld cs5 zugeordnet, wenn cs5Label den Wert Authentication Package Name hat.
cs5Label additional.fields.key Wird direkt aus dem Feld cs5Label zugeordnet, wenn der Wert Authentication Package Name ist.
cs6 additional.fields.value.string_value Wird direkt aus dem Feld cs6 zugeordnet, wenn cs6Label den Wert Logon GUID hat.
cs6Label additional.fields.key Wird direkt aus dem Feld cs6Label zugeordnet, wenn der Wert Logon GUID ist.
dhost about.hostname Wird direkt aus dem Feld dhost zugeordnet.
dhost target.hostname Wird direkt aus dem Feld dhost zugeordnet.
dntdom about.administrative_domain Wird direkt aus dem Feld dntdom zugeordnet.
dntdom target.administrative_domain Wird direkt aus dem Feld dntdom zugeordnet.
dproc about.process.command_line Wird direkt aus dem Feld dproc zugeordnet.
dproc target.process.command_line Wird direkt aus dem Feld dproc zugeordnet.
dst principal.ip Wird direkt aus dem Feld dst zugeordnet.
dst principal.asset.ip Wird direkt aus dem Feld dst zugeordnet.
dst target.ip Wird direkt aus dem Feld dst zugeordnet.
duid target.user.userid Wird direkt aus dem Feld duid zugeordnet.
duser target.user.user_display_name Wird direkt aus dem Feld duser zugeordnet.
dvc about.ip Wird direkt aus dem Feld dvc zugeordnet.
dvchost about.hostname Wird direkt aus dem Feld dvchost zugeordnet.
eventId additional.fields.value.string_value Wird direkt aus dem Feld eventId zugeordnet.
externalId metadata.product_log_id Wird direkt aus dem Feld externalId zugeordnet.
fname additional.fields.value.string_value Wird direkt aus dem Feld fname zugeordnet.
msg metadata.description Wird direkt aus dem Feld msg zugeordnet.
Proto network.ip_protocol Wird direkt aus dem Feld proto zugeordnet. Übersetzt Protokollnamen in die entsprechenden Konstanten (z.B. tcp in TCP).
rt metadata.event_timestamp.seconds Wird direkt aus dem Feld rt zugeordnet.
shost about.hostname Wird direkt aus dem Feld shost zugeordnet.
shost principal.hostname Wird direkt aus dem Feld shost zugeordnet.
src principal.ip Wird direkt aus dem Feld src zugeordnet.
src principal.asset.ip Wird direkt aus dem Feld src zugeordnet.
src target.ip Wird direkt aus dem Feld src zugeordnet.
sproc principal.process.command_line Wird direkt aus dem Feld sproc zugeordnet.
spt principal.port Wird direkt aus dem Feld spt zugeordnet.
spt target.port Wird direkt aus dem Feld spt zugeordnet.
additional.EventRecordID additional.fields.value.string_value Wird direkt aus dem Feld ad.EventRecordID zugeordnet.
additional.ThreadID additional.fields.value.string_value Wird direkt aus dem Feld ad.ThreadID zugeordnet.
additional.Opcode additional.fields.value.string_value Wird direkt aus dem Feld ad.Opcode zugeordnet.
additional.ProcessID additional.fields.value.string_value Wird direkt aus dem Feld ad.ProcessID zugeordnet.
additional.TargetDomainName additional.fields.value.string_value Wird direkt aus dem Feld ad.TargetDomainName zugeordnet.
additional.Version additional.fields.value.string_value Wird direkt aus dem Feld ad.Version zugeordnet.
deviceExternalId about.asset.hardware.serial_number Wird direkt aus dem Feld deviceExternalId zugeordnet.
deviceInboundInterface additional.fields.value.string_value Wird direkt aus dem Feld deviceInboundInterface zugeordnet.
deviceOutboundInterface additional.fields.value.string_value Wird direkt aus dem Feld deviceOutboundInterface zugeordnet.
PanOSConfigVersion security_result.detection_fields.value Wird direkt aus dem Feld PanOSConfigVersion zugeordnet.
PanOSContentVersion security_result.detection_fields.value Wird direkt aus dem Feld PanOSContentVersion zugeordnet.
PanOSDGHierarchyLevel1 security_result.detection_fields.value Wird direkt aus dem Feld PanOSDGHierarchyLevel1 zugeordnet.
PanOSDestinationLocation target.location.country_or_region Wird direkt aus dem Feld PanOSDestinationLocation zugeordnet.
PanOSRuleUUID metadata.product_log_id Wird direkt aus dem Feld PanOSRuleUUID zugeordnet.
PanOSThreatCategory security_result.category_details Wird direkt aus dem Feld PanOSThreatCategory zugeordnet.
PanOSThreatID security_result.threat_id Wird direkt aus dem Feld PanOSThreatID zugeordnet.
about.asset.asset_id Wird durch Verketten von Palo Alto Networks., dem Namen des Anbieters (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 in verschiedenen Feldern 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 auf BLOCK.
security_result.severity Wird auf HIGH gesetzt, wenn das Feld sev größer oder gleich 7 ist, andernfalls auf LOW.
PanOSFileType event.idm.read_only_udm.target.file.mime_type Aus Änderungsprotokoll zugeordnet
PanOSEmailSubject event.idm.read_only_udm.network.email.subject Aus Änderungsprotokoll zugeordnet
PanOSNSSAINetworkSliceType event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
PanOSURLCounter event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
PanOSReportID event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
PanOSDGHierarchyLevel2 event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
PanOSVirtualSystemName event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
PanOSSigFlags event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
PanOSPartialHash event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
version event.idm.read_only_udm.additional.fields Aus Änderungsprotokoll zugeordnet
cn3 network.duration.seconds Aus Änderungsprotokoll zugeordnet
PanOSTenantID additional.fields Aus Änderungsprotokoll zugeordnet
cn3 additional.fields Aus Änderungsprotokoll zugeordnet
PanOSCortexDataLakeTenantID additional.fields Aus Änderungsprotokoll zugeordnet
target_user target.user.userid Aus Änderungsprotokoll zugeordnet
principal_ip principal.ip Aus Änderungsprotokoll zugeordnet
PanOSStage", "PanOSConnectionError", and "PanOSEventDetails additional.fields Aus Änderungsprotokoll zugeordnet
outcome security_result.action_details Aus Änderungsprotokoll zugeordnet
PanOSDescription metadata.description Aus Änderungsprotokoll zugeordnet
PanOSSourceUser principal.user.userid Aus Änderungsprotokoll zugeordnet
app target.application Aus Änderungsprotokoll zugeordnet
flexString2", "PanOSFileHash", and "filePath additional.fields Aus Änderungsprotokoll zugeordnet
threat_name security_result.threat_name Aus Änderungsprotokoll zugeordnet
principal_ip1 principal.ip Aus Änderungsprotokoll zugeordnet
metadata.event_type NETWORK_CONNECTION Aus Änderungsprotokoll zugeordnet
deviceOutboundInterface", "deviceInboundInterface additional.fields Aus Änderungsprotokoll zugeordnet
query additional 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