Cisco Prime-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco Prime-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser verwendet Grok-Muster, um Felder aus verschiedenen Syslog-Nachrichtenformaten zu extrahieren und sie einem einheitlichen Datenmodell (Unified Data Model, UDM) zuzuordnen. Es verarbeitet verschiedene Logstrukturen, einschließlich Schlüssel-Wert-Paaren, und reichert die Daten mit Nutzer-, Prinzipal-, Ziel- und Sicherheitsinformationen an, die auf bestimmten Schlüsselwörtern und Mustern in den Logmeldungen basieren.

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 Prime

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

Benachrichtigungen für Änderungen an der Audit-Konfiguration und Syslog-Empfänger konfigurieren

  1. Sie können das System so konfigurieren, dass Syslog-Benachrichtigungen für Änderungsprüfungen im Zusammenhang mit den folgenden Ereignissen gesendet werden:

    • Aktualisierungen des Gerätebestands
    • Konfigurationsänderungen
    • Änderungen an Konfigurationsvorlagen
    • Vorlagenbezogene Vorgänge
    • Nutzeraktivitäten wie Anmeldungen, Abmeldungen und Kontoänderungen
  2. Melden Sie sich in der Cisco Prime-Web-UI an.

  3. Gehen Sie zu Verwaltung > Einstellungen > Systemeinstellungen.

  4. Wählen Sie E-Mail und Benachrichtigung > Benachrichtigung über Audit ändern aus.

  5. Klicken Sie das Kästchen Benachrichtigung zur Änderungsprüfung aktivieren an.

  6. Klicken Sie auf die Schaltfläche +, um einen Syslog-Server anzugeben.

  7. Geben Sie die folgenden Konfigurationsdetails an:

    • Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Wählen Sie das Protokoll UDP aus.
    • Geben Sie die Portnummer des Bindplane-Agents ein.
  8. Klicken Sie auf Speichern.

Audit-Logs des Weiterleitungssystems als Syslog konfigurieren

  1. Melden Sie sich in der Cisco Prime-Web-UI an.
  2. Gehen Sie zu Administration > Einstellungen > Protokollierung > Syslog-Protokollierungsoptionen.
  3. Klicken Sie das Kästchen Syslog aktivieren an.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Geben Sie die IP-Adresse des Bindplane-Agents ein.
    • Wählen Sie das Protokoll UDP aus.
    • Geben Sie die Portnummer des Bindplane-Agents ein.
    • Wählen Sie eine der acht Einrichtungen oder local0 aus.
  5. Klicken Sie auf Speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
client_ip_address principal.ip, principal.asset.ip Der Wert wird dem Feld client_ip_address entnommen, das mit dem kv-Filter aus dem Rohlog extrahiert wird.
Datum metadata.event_timestamp Der Wert stammt aus dem Feld date, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und dann mit dem Datumsfilter in einen Zeitstempel konvertiert wird.
description security_result.description Der Wert wird aus dem Feld description übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
dest_mac target.mac Der Wert wird aus dem Feld dest_mac übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und in Kleinbuchstaben konvertiert wird.
device_id principal.asset_id Der Wert wird aus dem Feld device_id übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird. Der endgültige Wert wird als „Geräte-ID: formatiert.
device_ip principal.ip, principal.asset.ip Der Wert wird dem Feld device_ip entnommen, das mit dem kv-Filter aus dem Rohlog extrahiert wird. Der Wert wird dann als JSON-Array geparst und jede IP-Adresse im Array wird den UDM-Feldern hinzugefügt.
device_type target.resource.attribute.labels.value Der Wert wird aus dem Feld device_type übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
dst_user target.user.userid Der Wert wird aus dem Feld dst_user übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
E-Mail src.hostname Der Wert wird aus dem Feld email übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
file_path principal.process.file.full_path Der Wert wird aus dem Feld file_path übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
Hostname target.resource.attribute.labels.value Der Wert wird aus dem Feld hostname übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
id principal.asset_id Der Wert wird aus dem Feld id übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird. Der Endwert hat das Format „Entitäts-ID:“.
ip_address principal.ip, principal.asset.ip Der Wert wird aus dem Feld ip_address übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
log_level security_result.severity Der Wert wird aus dem Feld log_level übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird. Sie wird verwendet, um den Schweregrad zu bestimmen, wenn severity nicht vorhanden ist.
mac_address principal.mac, source_mac Der Wert wird aus dem Feld mac_address übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und in Kleinbuchstaben konvertiert wird. Er wird auch als Wert für source_mac verwendet, wenn source_mac leer ist.
oid principal.asset.product_object_id Der Wert wird aus dem Feld oid übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal_ip principal.ip, principal.asset.ip Der Wert wird aus dem Feld principal_ip übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal_port principal.port Der Wert wird aus dem Feld principal_port übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und in eine Ganzzahl konvertiert wird.
process_name principal.resource.name Der Wert wird aus dem Feld process_name übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
sec_description security_result.description Der Wert wird aus dem Feld sec_description übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
session_id network.session_id Der Wert wird aus dem Feld session_id übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
die Ausprägung security_result.severity Der Wert wird aus dem Feld severity übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird. Damit wird der Schweregrad bestimmt, sofern vorhanden.
source_mac principal.mac Der Wert wird aus dem Feld source_mac übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und in Kleinbuchstaben konvertiert wird. Wenn leer, wird der Wert von mac_address übernommen.
Zusammenfassung security_result.summary Der Wert wird aus dem Feld summary übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
target_ip target.ip, target.asset.ip Der Wert wird aus dem Feld target_ip übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
thread_pool metadata.product_event_type Der Wert wird aus dem Feld thread_pool übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
timestamp metadata.event_timestamp Der Wert stammt aus dem Feld timestamp, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und dann mit dem Datumsfilter in einen Zeitstempel konvertiert wird.
Typ metadata.product_event_type Der Wert wird dem Feld Type entnommen, das mit dem kv-Filter aus dem Rohlog extrahiert wird.
user_name principal.user.userid Der Wert stammt aus dem Feld user_name, das aus dem Rohlog mit Grok-Mustern oder dem KV-Filter extrahiert wird.
metadata.event_type metadata.event_type Der Wert wird anhand des Vorhandenseins bestimmter Felder und Muster im Rohlog ermittelt. Die Logik umfasst:
 – Standardwert: GENERIC_EVENT
 – Wenn thread_pool „EmailAlertHelper“ ist: EMAIL_TRANSACTION
 – Wenn application_name „aesSystem“ ist und desc „HealthMonitorHelper“ enthält: STATUS_HEARTBEAT
 – Wenn user_present und target_resource_present beide „true“ sind: USER_RESOURCE_ACCESS
 – Wenn user_present „true“ ist: USER_UNCATEGORIZED
 – Wenn principal_present und target_present beide „true“ sind: NETWORK_CONNECTION
 – Wenn principal_present „true“ ist: STATUS_UPDATE
 – Wenn dst_user vorhanden ist und description „logout“ enthält: USER_LOGOUT
 – Wenn dst_user vorhanden ist und description nicht „logout“ enthält: USER_LOGIN
metadata.vendor_name metadata.vendor_name Der Wert ist auf „CISCO“ festgelegt.
metadata.product_name metadata.product_name Der Wert ist auf „CISCO_PRIME“ festgelegt.
metadata.log_type metadata.log_type Der Wert ist auf „CISCO_PRIME“ festgelegt.
network.session_id network.session_id Der Wert wird aus dem Feld session_id übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal.application principal.application Der Wert wird aus dem Feld application_name übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal.asset.ip principal.asset.ip Der Wert kann aus den folgenden Feldern stammen: client_ip_address, device_ip, ip_address, principal_ip, target_ip.
principal.asset.product_object_id principal.asset.product_object_id Der Wert wird aus dem Feld oid übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal.asset_id principal.asset_id Der Wert kann aus den folgenden Feldern stammen: device_id, id.
principal.ip principal.ip Der Wert kann aus den folgenden Feldern stammen: client_ip_address, device_ip, ip_address, principal_ip.
principal.mac principal.mac Der Wert kann aus den folgenden Feldern stammen: mac_address, source_mac.
principal.port principal.port Der Wert wird aus dem Feld principal_port übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und in eine Ganzzahl konvertiert wird.
principal.process.file.full_path principal.process.file.full_path Der Wert wird aus dem Feld file_path übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal.resource.name principal.resource.name Der Wert wird aus dem Feld process_name übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
principal.user.userid principal.user.userid Der Wert stammt aus dem Feld user_name, das aus dem Rohlog mit Grok-Mustern oder dem KV-Filter extrahiert wird.
security_result.action security_result.action Der Wert wird auf „BLOCK“ gesetzt, wenn description „fail“ enthält.
security_result.description security_result.description Der Wert kann aus den folgenden Feldern stammen: desc, description, sec_description.
security_result.severity security_result.severity Der Wert kann aus den folgenden Feldern stammen: log_level, severity.
security_result.summary security_result.summary Der Wert wird aus dem Feld summary übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
src.hostname src.hostname Der Wert wird aus dem Feld email übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
target.asset.ip target.asset.ip Der Wert wird aus dem Feld target_ip übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
target.ip target.ip Der Wert wird aus dem Feld target_ip übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
target.mac target.mac Der Wert wird aus dem Feld dest_mac übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert und in Kleinbuchstaben konvertiert wird.
target.resource.attribute.labels.key target.resource.attribute.labels.key Der Wert wird je nach Kontext auf „Device Type“ (Gerätetyp) oder „Device Hostname“ (Gerätehostname) festgelegt.
target.resource.attribute.labels.value target.resource.attribute.labels.value Der Wert kann aus den folgenden Feldern stammen: device_type, hostname.
target.user.userid target.user.userid Der Wert wird aus dem Feld dst_user übernommen, das mithilfe von Grok-Mustern aus dem Rohlog extrahiert wird.
extensions.auth.mechanism extensions.auth.mechanism Der Wert wird auf „USERNAME_PASSWORD“ gesetzt, wenn dst_user vorhanden ist und description „password“ enthält.
extensions.auth.type extensions.auth.type Der Wert wird auf „MACHINE“ gesetzt, wenn dst_user vorhanden ist.

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