Cisco IronPort-Protokolle erfassen
In diesem Dokument wird beschrieben, wie Sie Cisco IronPort-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus den Syslog-Nachrichten, insbesondere aus Nachrichten zu AccessLogs_chron
-Ereignissen. Dabei werden Grok-Muster verwendet, um die Nachricht zu parsen, Datentypen zu konvertieren und die extrahierten Felder dem einheitlichen Datenmodell (Unified Data Model, UDM) zuzuordnen. Außerdem werden verschiedene Cisco Ironport-spezifische Felder wie Richtliniengruppen und Zugriffsentscheidungen verarbeitet. Außerdem werden grundlegende Fehlerbehandlungen durchgeführt und Metadatenfelder wie Anbieter- und Produktname festgelegt.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google SecOps-Instanz
- Windows 2016 oder höher oder ein Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
- Privilegierter Zugriff auf Cisco IronPort
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.
Bindpolane-Agent so konfigurieren, dass Syslog aufgenommen und an Google SecOps gesendet wird
- 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: 'CISCO_IRONPORT' 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
Syslog auf Cisco IronPort konfigurieren
- Melden Sie sich in der Cisco IronPort-Web-UI an.
- Klicken Sie auf Systemverwaltung > Log-Abos.
- Klicken Sie auf Add Log Subscription (Log-Abo hinzufügen).
- Geben Sie die folgenden Konfigurationsdetails an:
- Log-Typ: Wählen Sie Zugriffsprotokolle oder andere Protokolle aus, die Sie exportieren möchten.
- Log Style (Protokollstil): Wählen Sie Squid aus.
- Dateiname: Geben Sie einen Dateinamen an, sofern nicht standardmäßig einer angegeben ist.
- Abrufmethode: Wählen Sie Syslog Push aus (verwendet den Standardport
514
). - Hostname: Geben Sie die IP-Adresse des BindPlane-Agents ein.
- Protokoll: Wählen Sie „UDP“ aus.
- Einrichtung: Wählen Sie
local0
odersyslog
aus.
- Klicken Sie auf Senden.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
AccessLogs_chron |
metadata.product_event_type |
Direkt aus dem Feld product_event zugeordnet, das vom ersten Grok-Parser extrahiert wurde. |
acl_decision_tag |
security_result.detection_fields.key |
Der Wert ist „ACL Decision Tag“. Die Parserlogik legt diesen Wert fest, wenn acl_decision_tag in den Logs vorhanden ist. |
acl_decision_tag |
security_result.detection_fields.value |
Direkt aus dem Feld acl_decision_tag abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
access_or_decryption_policy_group |
security_result.detection_fields.key |
Der Wert ist „AccessOrDecryptionPolicyGroup“. Die Parserlogik legt diesen Wert fest, wenn access_or_decryption_policy_group in den Logs vorhanden ist. |
access_or_decryption_policy_group |
security_result.detection_fields.value |
Direkt aus dem Feld access_or_decryption_policy_group abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
authenticated_user |
principal.user.userid |
Aus dem Feld authenticated_user extrahiert. Mit „grok“ und „gsub“ werden umgekehrte Schrägstriche und Anführungszeichen entfernt. |
cache_hierarchy_retrieval |
security_result.detection_fields.key |
Der Wert ist „Cache Hierarchy Retrieval“. Die Parserlogik legt diesen Wert fest, wenn cache_hierarchy_retrieval in den Logs vorhanden ist. |
cache_hierarchy_retrieval |
security_result.detection_fields.value |
Direkt aus dem Feld cache_hierarchy_retrieval abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
data_security_policy_group |
security_result.detection_fields.key |
Der Wert ist „DataSecurityPolicyGroup“. Die Parserlogik legt diesen Wert fest, wenn data_security_policy_group in den Logs vorhanden ist. |
data_security_policy_group |
security_result.detection_fields.value |
Direkt aus dem Feld data_security_policy_group abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
external_dlp_policy_group |
security_result.detection_fields.key |
Der Wert ist „ExternalDlpPolicyGroup“. Die Parserlogik legt diesen Wert fest, wenn external_dlp_policy_group in den Logs vorhanden ist. |
external_dlp_policy_group |
security_result.detection_fields.value |
Direkt aus dem Feld external_dlp_policy_group abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
hostname |
principal.asset.hostname |
Direkt aus dem Feld hostname zugeordnet, das vom ersten Grok-Parser extrahiert wurde. |
hostname |
principal.hostname |
Direkt aus dem Feld hostname zugeordnet, das vom ersten Grok-Parser extrahiert wurde. |
http_method |
network.http.method |
Direkt aus dem Feld http_method abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
http_response_code |
network.http.response_code |
Direkt aus dem Feld http_response_code zugeordnet, das vom zweiten Grok-Parser extrahiert und in eine Ganzzahl umgewandelt wurde. |
identity_policy_group |
security_result.detection_fields.key |
Der Wert ist „IdentityPolicyGroup“. Die Parserlogik legt diesen Wert fest, wenn identity_policy_group in den Logs vorhanden ist. |
identity_policy_group |
security_result.detection_fields.value |
Direkt aus dem Feld identity_policy_group abgebildet, das vom zweiten Grok-Parser extrahiert wurde. Kopiert aus dem Feld timestamp , nachdem der Datumsfilter die Daten verarbeitet hat. Auf „STATUS_UPDATE“ festgelegt, wenn has_principal „true“ ist, andernfalls auf „GENERIC_EVENT“. Konstanter Wert: „Cisco Ironport“. Konstanter Wert: „Cisco“. |
outbound_malware_scanning_policy_group |
security_result.detection_fields.key |
Der Wert ist „OutboundMalwareScanningPolicyGroupS“. Die Parserlogik legt diesen Wert fest, wenn outbound_malware_scanning_policy_group in den Logs vorhanden ist. |
outbound_malware_scanning_policy_group |
security_result.detection_fields.value |
Direkt aus dem Feld outbound_malware_scanning_policy_group abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
request_method_uri |
target.url |
Direkt aus dem Feld request_method_uri abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
result_code |
security_result.detection_fields.key |
Der Wert ist „Result Code“ (Ergebniscode). Die Parserlogik legt diesen Wert fest, wenn result_code in den Logs vorhanden ist. |
result_code |
security_result.detection_fields.value |
Direkt aus dem Feld result_code abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
routing_policy_group |
security_result.detection_fields.key |
Der Wert ist „RoutingPolicyGroup“. Die Parserlogik legt diesen Wert fest, wenn routing_policy_group in den Logs vorhanden ist. |
routing_policy_group |
security_result.detection_fields.value |
Direkt aus dem Feld routing_policy_group abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
severity |
security_result.severity |
Wird aus dem Feld severity zugeordnet. Wenn der Wert „Info“ ist, wird er auf „INFORMATIONAL“ gesetzt. |
source_ip |
principal.asset.ip |
Direkt aus dem Feld source_ip abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
source_ip |
principal.ip |
Direkt aus dem Feld source_ip abgebildet, das vom zweiten Grok-Parser extrahiert wurde. |
timestamp |
timestamp |
Aus dem Feld message extrahiert, indem „grok“ verwendet wird, und dann mit dem Datumsfilter geparst. |
total_bytes |
network.sent_bytes |
Direkt aus dem Feld total_bytes zugeordnet, das vom zweiten Grok-Parser extrahiert und in eine vorzeichenlose Ganzzahl konvertiert wurde. Wird nur zugeordnet, wenn der Wert nicht leer oder „0“ ist. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten