Cisco-Router-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco Router-Logs mithilfe eines Bindplane-Agents in Google Security Operations aufnehmen. Der Parser extrahiert zuerst allgemeine Felder aus verschiedenen Syslog-Nachrichtenformaten mithilfe einer Reihe von Grok-Mustern und verarbeitet dabei verschiedene Zeitstempel- und Schlüssel-Wert-Datenvariationen. Anschließend wird basierend auf dem extrahierten Ereignistyp (facility, mnemonics, message_type) eine bestimmte Logik angewendet, um die Daten mit zusätzlichen Feldern anzureichern und dem UDM-Modell zuzuordnen.

Hinweise

  • Prüfen Sie, ob Sie eine Google SecOps-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Sie benötigen privilegierten Zugriff auf einen Cisco-Router.

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

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. Greifen Sie auf die Konfigurationsdatei zu:

    1. Suchen Sie die Datei config.yaml. Normalerweise befindet es 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: '/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
            ingestion_labels:
                log_type: CISCO_ROUTER
                raw_log_field: body
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  5. 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 einem Cisco-Router konfigurieren

  1. Melden Sie sich beim Cisco-Router an.
  2. Erweitern Sie die Berechtigungen mit dem Befehl enable:

    Switch> enable
    Switch#
    
  3. Wechseln Sie in den Konfigurationsmodus, indem Sie den Befehl conf t eingeben:

    Switch# conf t
    Switch(config)#
    
  4. Geben Sie die folgenden Befehle ein:

    logging host <bindplane-server-ip> transport <tcp/udp> port <port-number>
    logging source-interface <interface>
    
    • Ersetzen Sie <bindplane-server-ip> durch die IP-Adresse des Bindplane-Agents und <port-number> durch den konfigurierten Port.
    • Ersetzen Sie <tcp/udp> durch das konfigurierte Listening-Protokoll für den BindPlane-Agenten, z. B. udp.
    • Ersetzen Sie <interface> durch die Cisco-Schnittstellen-ID, z. B. Ethernet1/1.
  5. Legen Sie die Prioritätsstufe mit dem folgenden Befehl fest:

    logging trap Informational 
    logging console Informational 
    logging severity Informational
    
  6. Legen Sie die Syslog-Einrichtung fest:

    logging facility local6
    
  7. Aktivieren Sie Zeitstempel mit dem folgenden Befehl:

    service timestamps log datetime
    
  8. Speichern Sie die Datei und beenden Sie den Vorgang.

  9. Konfigurieren Sie die Einstellungen so, dass sie einen Neustart überstehen, indem Sie den folgenden Befehl eingeben:

    copy running-config startup-config
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
client_ip target.ip, target.asset.ip Der Wert wird aus dem Feld client_ip übernommen, das vom Grok-Parser extrahiert wird.
client_mac target.mac Der Wert wird aus dem Feld client_mac übernommen, das vom Grok-Parser extrahiert wird.
dst_ip target.ip, target.asset.ip Der Wert wird aus dem Feld dst_ip übernommen, das vom Grok-Parser extrahiert wird.
dst_port target.port Der Wert wird aus dem Feld dst_port übernommen, das vom Grok-Parser extrahiert und in eine Ganzzahl konvertiert wird.
duration - Dieses Feld ist nicht dem UDM zugeordnet.
host_ip target.ip, target.asset.ip Der Wert wird aus dem Feld host_ip übernommen, das vom Grok-Parser extrahiert wird.
local_proxy intermediary.ip Der Wert wird aus dem Feld local_proxy übernommen, das vom Grok-Parser extrahiert wird.
message_data metadata.description Der Wert wird aus dem Feld message_data übernommen, das vom Grok-Parser extrahiert wird.
protocol network.ip_protocol Der Wert wird aus dem Feld protocol übernommen, das vom Grok-Parser extrahiert wurde, und in Großbuchstaben umgewandelt.
received_bytes network.received_bytes Der Wert wird aus dem Feld received_bytes übernommen, das vom Grok-Parser extrahiert und in eine vorzeichenlose Ganzzahl konvertiert wird.
referral_url network.http.referral_url Der Wert wird aus dem Feld referral_url übernommen, das vom Grok-Parser extrahiert wird.
remote_proxy intermediary.ip Der Wert wird aus dem Feld remote_proxy übernommen, das vom Grok-Parser extrahiert wird.
send_bytes network.sent_bytes Der Wert wird aus dem Feld send_bytes übernommen, das vom Grok-Parser extrahiert und in eine vorzeichenlose Ganzzahl konvertiert wird.
sent_bytes network.sent_bytes Der Wert wird aus dem Feld sent_bytes übernommen, das vom Grok-Parser extrahiert und in eine vorzeichenlose Ganzzahl konvertiert wird.
server_host target.hostname, target.asset.hostname Der Wert wird aus dem Feld server_host übernommen, das vom Grok-Parser extrahiert wird.
server_ip target.ip, target.asset.ip Der Wert wird aus dem Feld server_ip übernommen, das vom Grok-Parser extrahiert wird.
src_ip principal.ip, principal.asset.ip Der Wert wird aus dem Feld src_ip übernommen, das vom Grok-Parser extrahiert wird.
src_port principal.port Der Wert wird aus dem Feld src_port übernommen, das vom Grok-Parser extrahiert und in eine Ganzzahl konvertiert wird.
user_ip target.ip, target.asset.ip Der Wert wird aus dem Feld user_ip übernommen, das vom Grok-Parser extrahiert wird.
user_mail principal.user.userid, principal.user.email_addresses Der Wert wird aus dem Feld user_mail übernommen, das vom Grok-Parser extrahiert wird.
username target.user.userid Der Wert wird aus dem Feld username übernommen, das vom Grok-Parser extrahiert wird.
- metadata.event_timestamp Der Wert wird aus dem Feld create_time übernommen.
- metadata.event_type Der Wert ist standardmäßig auf GENERIC_EVENT festgelegt und wird basierend auf der geparsten Log-Nachricht in bestimmte Ereignistypen geändert.
- metadata.log_type Der Wert wird auf CISCO_ROUTER festgelegt.
- metadata.product_event_type Der Wert wird aus dem Feld message_type übernommen, das durch Kombinieren der Felder facility, priority und mnemonics generiert wird.
- metadata.product_name Der Wert wird auf Router festgelegt.
- metadata.vendor_name Der Wert wird auf Cisco festgelegt.
- network.application_protocol Der Wert wird auf HTTP oder HTTPS festgelegt, wenn das Feld protocol http bzw. https ist.
- extensions.auth.type Der Wert ist standardmäßig auf AUTHTYPE_UNSPECIFIED festgelegt und wird basierend auf der geparsten Log-Nachricht in bestimmte Authentifizierungstypen geändert.
- security_result.action Der Wert wird für erfolgreiche Anmeldungen auf ALLOW und für fehlgeschlagene Anmeldungen auf BLOCK gesetzt.
- security_result.category Der Wert wird für Ereignisse mit IP-Optionen auf NETWORK_SUSPICIOUS und für fehlgeschlagene Anmeldungen auf AUTH_VIOLATION festgelegt.
- security_result.description Der Wert wird für verschiedene Ereignisse auf bestimmte Meldungen festgelegt.
- security_result.severity Der Wert wird bei erfolgreichen Log-ins auf LOW, bei fehlgeschlagenen Log-ins auf MEDIUM und bei anderen Ereignissen auf INFORMATIONAL gesetzt.
- security_result.severity_details Der Wert wird für fehlgeschlagene Log-ins aus dem Feld fail_reason übernommen und für Ereignisse mit IP-Optionen auf Informational message festgelegt.
- security_result.summary Der Wert wird für verschiedene Ereignisse auf bestimmte Meldungen festgelegt.

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