Cisco DNA Center Platform-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco DNA Center Platform-Logs mit zwei verschiedenen Methoden in Google Security Operations aufnehmen. Wählen Sie die Option aus, die am besten zu Ihrer Umgebung und Ihren Anforderungen passt. Der Parser wandelt Cisco DNA Center SYSLOG+JSON-Logs in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Sie extrahiert Felder aus der Rohprotokollnachricht und der JSON-Nutzlast, ordnet sie den entsprechenden UDM-Attributen zu und reichert die Daten mit Labels und Sicherheitskontext basierend auf Ereignismerkmalen wie Schweregrad und beteiligten Entitäten an.

Hinweise

Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:

  • Eine Google SecOps-Instanz
  • Privilegierter Zugriff auf die Cisco DNA Center Platform-Verwaltungskonsole
  • Wählen Sie die gewünschte Integrationsmethode aus:
    • Für Option 2: Netzwerkverbindung zwischen Cisco DNA Center und dem Google SecOps-Webhook-Endpunkt
    • Für Option 1: Windows 2016 oder höher oder ein Linux-Host mit systemd für die Installation des BindPlane-Agents

Option 1: Syslog-Integration mit dem BindPlane-Agent

Bei dieser Option wird die Syslog-Weiterleitung von Cisco DNA Center an Bindplane verwendet, das strukturierte Logs dann an Google SecOps weiterleitet.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die 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 > Profile 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

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

  1. Konfigurationsdatei aufrufen:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet sie sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    2. Ö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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: 'CISCO_DNAC'
        raw_log_field: body
    
    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 <YOUR_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.
    • Bei dieser Konfiguration wird der BindPlane-Agent-Syslog-Empfänger (UDP) verwendet, um strukturierte Syslog-Nachrichten von DNA Center zu erfassen.

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-Weiterleitung auf der Cisco DNA Center-Plattform konfigurieren

  1. Melden Sie sich in der Cisco DNA Center Platform an.
  2. Gehen Sie zu System> Einstellungen> Externe Dienste> Ziele> Syslog.
  3. Klicken Sie auf + Hinzufügen, um ein neues Syslog-Ziel zu erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen aussagekräftigen Namen ein, z. B. Google SecOps BindPlane.
    • Host: Geben Sie die IP-Adresse des BindPlane-Agents ein.
    • Port: Geben Sie 514 (oder den in BindPlane konfigurierten Port) ein.
    • Protokoll: Wählen Sie je nach BindPlane-Konfiguration UDP oder TCP aus.
    • Einrichtung: Wählen Sie die entsprechende Einrichtung aus (z. B. Local0).
    • Schweregrad: Wählen Sie Information aus, um alle Ereignisebenen zu erfassen.
  5. Klicken Sie auf Speichern.

Option 2: Echtzeit-Webhook-Integration

Bei dieser Option werden die nativen Webhook-Funktionen von Cisco DNA Center verwendet, um strukturierte JSON-Ereignisse in Echtzeit direkt an Google SecOps zu senden.

Übersicht

Cisco DNA Center unterstützt Webhook-Benachrichtigungen für die Echtzeitübermittlung von Ereignissen. Diese Option bietet strukturierte JSON-Nutzlasten mit umfassendem Ereigniskontext und stellt Ereignisse direkt an Google SecOps bereit, ohne dass Bindplane als Vermittler erforderlich ist.

Google SecOps-Webhook-Feed konfigurieren

  1. Rufen Sie in Google SecOps die SIEM-Einstellungen > Feeds auf.
  2. Klicken Sie auf + Neuen Feed hinzufügen.
  3. Geben Sie im Feld Feedname einen Namen für den Feed ein, z. B. Cisco DNA Center Webhook.
  4. Wählen Sie Webhook als Quelltyp aus.
  5. Wählen Sie Cisco DNA Center Platform als Log type (Logtyp) aus.
  6. Klicken Sie auf Weiter.
  7. Geben Sie Werte für die folgenden Eingabeparameter an:
    • Trennzeichen für Aufteilung: Optional \n.
    • Asset-Namespace: Der Asset-Namespace.
    • Aufnahmelabels: Das Label, das auf die Ereignisse aus diesem Feed angewendet werden soll.
  8. Klicken Sie auf Weiter.
  9. Prüfen Sie die Feedkonfiguration und klicken Sie auf Senden.
  10. Klicken Sie auf Geheimen Schlüssel generieren, um einen geheimen Schlüssel zur Authentifizierung dieses Feeds zu generieren.
  11. Kopieren Sie den geheimen Schlüssel und speichern Sie ihn, da Sie ihn nicht noch einmal aufrufen können.
  12. Wechseln Sie zum Tab Details.
  13. Kopieren Sie die Feed-Endpunkt-URL aus dem Feld Endpoint Information (Endpunktinformationen).
  14. Klicken Sie auf Fertig.

API-Schlüssel für den Webhook-Feed erstellen

  1. Rufen Sie in der Google Cloud Console die Seite Anmeldedaten auf.
  2. Klicken Sie auf Anmeldedaten erstellen und wählen Sie dann API-Schlüssel aus.
  3. Schränken Sie den Zugriff des API-Schlüssels auf die Google SecOps API ein.

Webhook-Ziel in Cisco DNA Center konfigurieren

  1. Melden Sie sich in der Cisco DNA Center Platform an.
  2. Gehen Sie zu System> Einstellungen> Externe Dienste> Ziele> Webhook.
  3. Klicken Sie auf + Hinzufügen, um ein neues Webhook-Ziel zu erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name: Geben Sie einen aussagekräftigen Namen ein, z. B. Google SecOps Webhook.
    • Beschreibung: Geben Sie eine Beschreibung für den Webhook ein.
    • URL: Geben Sie die Google SecOps-Webhook-Endpunkt-URL aus dem vorherigen Schritt ein.
    • Methode: Wählen Sie POST aus.
    • Zertifikat vertrauen: Wählen Sie Nein aus, wenn Sie selbst signierte Zertifikate verwenden.
    • Header: Fügen Sie die erforderlichen Header hinzu:
      • Inhaltstyp: application/json
      • X-goog-api-key: Ihr Google Cloud API-Schlüssel
      • X-Webhook-Access-Key: Ihr geheimer Schlüssel für den Google SecOps-Feed
  5. Klicken Sie auf Verbindung testen, um die Verbindung zu überprüfen.
  6. Klicken Sie auf Speichern.

Ereignisse für Webhook-Benachrichtigungen abonnieren

  1. Klicken Sie in Cisco DNA Center auf Platform > Developer Toolkit > Event Notifications (Plattform > Entwicklertools > Ereignisbenachrichtigungen).
  2. Klicken Sie auf + Abonnieren.
  3. Geben Sie die folgenden Konfigurationsdetails an:
    • Abonnementname: Geben Sie einen aussagekräftigen Namen ein, z. B. Google SecOps Events.
    • Anschlusstyp: Wählen Sie REST-Endpunkt aus.
    • Ziel: Wählen Sie das im vorherigen Schritt erstellte Webhook-Ziel aus.
  4. Wählen Sie die Ereignistypen aus, die Sie beobachten möchten:
    • Netzwerkereignisse: Gerät nicht erreichbar, Schnittstelle nicht verfügbar, Konfigurationsänderungen.
    • Sicherheitsereignisse: Verstöße gegen Sicherheitsrichtlinien, fehlgeschlagene Authentifizierungen.
    • Systemereignisse: Plattformereignisse, Softwareupdates, Wartung.
    • Assurance-Ereignisse: Leistungseinbußen, Konnektivitätsprobleme.
  5. Konfigurieren Sie bei Bedarf Ereignisfilter:
    • Schweregrad: Wählen Sie den minimalen Schweregrad aus (z. B. P1, P2).
    • Domain (Domain): Filtern Sie nach bestimmten Domains, z. B. Connectivity (Verbindung) oder Performance (Leistung).
  6. Klicken Sie auf Abonnieren.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Kategorie security_result.severity_details Direkt aus dem Feld category im Rohlog zugeordnet.
ciscoDnaEventLink target.url Direkt aus dem Feld ciscoDnaEventLink im Rohlog zugeordnet.
date_time metadata.event_timestamp Aus der Roh-Lognachricht mit dem Grok-Muster extrahiert und in das Zeitstempelformat konvertiert.
details.Assurance_Issue_Category security_result.about.resource.attribute.labels[].value Direkt aus dem Feld details.Assurance_Issue_Category im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „Assurance_Issue_Category“.
details.Assurance_Issue_Details security_result.summary Direkt aus dem Feld details.Assurance_Issue_Details im Rohlog zugeordnet.
details.Assurance_Issue_Name security_result.about.resource.attribute.labels[].value Direkt aus dem Feld details.Assurance_Issue_Name im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „Assurance_Issue_Name“.
details.Assurance_Issue_Priority security_result.about.resource.attribute.labels[].value Direkt aus dem Feld details.Assurance_Issue_Priority im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „Assurance_Issue_Priority“.
details.Assurance_Issue_Status security_result.about.resource.attribute.labels[].value Direkt aus dem Feld details.Assurance_Issue_Status im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „Assurance_Issue_Status“.
details.Device target.ip ODER target.hostname Wird aus dem Feld details.Device im Rohlog zugeordnet. Wenn der Wert eine IP-Adresse ist, wird er target.ip zugeordnet, andernfalls target.hostname.
dnacIp target.ip Direkt aus dem Feld dnacIp im Rohlog, sofern es sich um eine IP-Adresse handelt.
Domain additional.fields[].value.string_value Direkt aus dem Feld domain im Rohlog zugeordnet. Der Schlüssel für dieses Feld ist „domain“.
eventId metadata.product_event_type Direkt aus dem Feld eventId im Rohlog zugeordnet.
instanceId target.resource.product_object_id Direkt aus dem Feld instanceId im Rohlog zugeordnet.
Name target.resource.attribute.labels[].value Direkt aus dem Feld name im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „name“.
Namespace target.namespace Direkt aus dem Feld namespace im Rohlog zugeordnet.
network.deviceId target.asset.asset_id Direkt aus dem Feld network.deviceId im Rohlog zugeordnet und mit „deviceId: “ versehen.
Hinweis additional.fields[].value.string_value Direkt aus dem Feld note im Rohlog zugeordnet. Der Schlüssel für dieses Feld ist „note“.
metadata.event_type Wird anhand der Felder has_principal, has_target und userId bestimmt. Mögliche Werte: NETWORK_CONNECTION, USER_UNCATEGORIZED, STATUS_UPDATE, GENERIC_EVENT.
is_alert „True“, wenn der Schweregrad 0 oder 1 ist, andernfalls „False“.
is_significant „True“, wenn der Schweregrad 0 oder 1 ist, andernfalls „False“.
die Ausprägung Wird verwendet, um den Wert von security_result.severity, is_alert und is_significant zu bestimmen.
source target.resource.attribute.labels[].value Direkt aus dem Feld source im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „source“.
src_ip principal.ip Aus der Roh-Log-Nachricht mit dem Grok-Muster extrahiert.
subDomain additional.fields[].value.string_value Direkt aus dem Feld subDomain im Rohlog zugeordnet. Der Schlüssel für dieses Feld ist „subDomain“.
tntId target.resource.attribute.labels[].value Direkt aus dem Feld tntId im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „tntId“.
Typ target.resource.attribute.labels[].value Direkt aus dem Feld type im Rohlog zugeordnet. Der Schlüssel für dieses Label ist „type“.
userId target.user.userid Direkt aus dem Feld userId im Rohlog zugeordnet.
Version metadata.product_version Direkt aus dem Feld version im Rohlog zugeordnet.

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