CEF-Logs für ArcSight erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- 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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- 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
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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
- 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).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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
- Melden Sie sich im OpenText-Supportportal an.
- Suchen Sie den neuesten ArcSight SmartConnector für Linux und laden Sie ihn herunter.
- Beispieldateiname:
ArcSight-Connector-Linux64-8.4.0.8499.0.bin
.
ArcSight SmartConnector installieren
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
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
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.
- Wählen Sie das Installationsverzeichnis aus (z. B.
ArcSight SmartConnector so konfigurieren, dass CEF an Syslog gesendet wird
Starten Sie auf dem SmartConnector-Host den Zielassistenten:
cd /opt/arcsight/connectors/current/bin ./arcsight connectors
Gehen Sie im Assistenten so vor:
- Klicken Sie auf Ziel hinzufügen.
- Wählen Sie CEF Syslog aus.
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.
Schließen Sie die Einrichtung ab und starten Sie den Connector neu:
./arcsight agents
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