Cisco IronPort-Protokolle erfassen

Unterstützt in:

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

  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.

Bindpolane-Agent so konfigurieren, dass Syslog aufgenommen und an Google SecOps gesendet wird

  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: '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

  1. Melden Sie sich in der Cisco IronPort-Web-UI an.
  2. Klicken Sie auf Systemverwaltung > Log-Abos.
  3. Klicken Sie auf Add Log Subscription (Log-Abo hinzufügen).
  4. 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 oder syslog aus.
  5. 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