Cisco-Router-Protokolle 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 mithilfe einer Reihe von Grok-Mustern gängige Felder aus verschiedenen syslog-Nachrichtenformaten und verarbeitet verschiedene Zeitstempel- und Schlüssel/Wert-Datenvarianten. Anschließend wird eine bestimmte Logik basierend auf dem extrahierten Ereignistyp (facility, mnemonics, message_type) angewendet, um die Daten mit zusätzlichen Feldern anzureichern und sie dem UDM-Modell zuzuordnen.

Hinweise

  • Sie benötigen eine Google SecOps-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen erhöhte Zugriffsrechte auf einen Cisco-Router.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei zur Authentifizierung der Datenaufnahme 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 Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

Bindplane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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
    

Weitere Installationsressourcen

Bindplane-Agent so konfigurieren, dass er Syslog-Daten aufnimmt und an Google SecOps sendet

  1. Rufen Sie die Konfigurationsdatei auf:

    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 Kundennummer.

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog auf einem Cisco-Router konfigurieren

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

    Switch> enable
    Switch#
    
  3. Wechseln Sie mit dem Befehl conf t in den Konfigurationsmodus:

    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 Protokoll für das Bindplane-Agent-Warten, 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. Syslog-Einrichtung festlegen:

    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 nach einem Neustart erhalten bleiben. Geben Sie dazu den folgenden Befehl ein:

    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 wurde.
client_mac target.mac Der Wert wird aus dem Feld client_mac übernommen, das vom Grok-Parser extrahiert wurde.
dst_ip target.ip, target.asset.ip Der Wert wird aus dem Feld dst_ip übernommen, das vom Grok-Parser extrahiert wurde.
dst_port target.port Der Wert wird aus dem Feld dst_port übernommen, das vom Grok-Parser extrahiert wurde, und in eine Ganzzahl umgewandelt.
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 wurde.
local_proxy intermediary.ip Der Wert wird aus dem Feld local_proxy übernommen, das vom Grok-Parser extrahiert wurde.
message_data metadata.description Der Wert wird aus dem Feld message_data übernommen, das vom Grok-Parser extrahiert wurde.
protocol network.ip_protocol Der Wert wird aus dem Feld protocol übernommen, das vom Grok-Parser extrahiert und in Großbuchstaben umgewandelt wird.
received_bytes network.received_bytes Der Wert wird aus dem Feld received_bytes übernommen, das vom Grok-Parser extrahiert wurde, und in eine vorzeichenlose Ganzzahl konvertiert.
referral_url network.http.referral_url Der Wert wird aus dem Feld referral_url übernommen, das vom Grok-Parser extrahiert wurde.
remote_proxy intermediary.ip Der Wert wird aus dem Feld remote_proxy übernommen, das vom Grok-Parser extrahiert wurde.
send_bytes network.sent_bytes Der Wert wird aus dem Feld send_bytes übernommen, das vom Grok-Parser extrahiert wurde, und in eine vorzeichenlose Ganzzahl konvertiert.
sent_bytes network.sent_bytes Der Wert wird aus dem Feld sent_bytes übernommen, das vom Grok-Parser extrahiert wurde, und in eine vorzeichenlose Ganzzahl konvertiert.
server_host target.hostname, target.asset.hostname Der Wert wird aus dem Feld server_host übernommen, das vom Grok-Parser extrahiert wurde.
server_ip target.ip, target.asset.ip Der Wert wird aus dem Feld server_ip übernommen, das vom Grok-Parser extrahiert wurde.
src_ip principal.ip, principal.asset.ip Der Wert wird aus dem Feld src_ip übernommen, das vom Grok-Parser extrahiert wurde.
src_port principal.port Der Wert wird aus dem Feld src_port übernommen, das vom Grok-Parser extrahiert wurde, und in eine Ganzzahl umgewandelt.
user_ip target.ip, target.asset.ip Der Wert wird aus dem Feld user_ip übernommen, das vom Grok-Parser extrahiert wurde.
user_mail principal.user.userid, principal.user.email_addresses Der Wert wird aus dem Feld user_mail übernommen, das vom Grok-Parser extrahiert wurde.
username target.user.userid Der Wert wird aus dem Feld username übernommen, das vom Grok-Parser extrahiert wurde.
- is_alert Der Wert ist standardmäßig auf true festgelegt.
- is_significant Der Wert ist standardmäßig auf true festgelegt.
- 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 Protokollnachricht in bestimmte Ereignistypen geändert.
- metadata.log_type Der Wert ist auf CISCO_ROUTER festgelegt.
- metadata.product_event_type Der Wert wird aus dem Feld message_type übernommen, das durch Kombination der Felder facility, priority und mnemonics generiert wird.
- metadata.product_name Der Wert ist auf Router festgelegt.
- metadata.vendor_name Der Wert ist auf Cisco festgelegt.
- network.application_protocol Der Wert wird auf HTTP oder HTTPS gesetzt, wenn das Feld protocol http oder https ist.
- extensions.auth.type Der Wert ist standardmäßig auf AUTHTYPE_UNSPECIFIED festgelegt und wird basierend auf der geparsten Protokollnachricht in bestimmte Authentifizierungstypen geändert.
- security_result.action Der Wert wird auf ALLOW für erfolgreiche Anmeldungen und auf BLOCK für fehlgeschlagene Anmeldungen gesetzt.
- security_result.category Der Wert wird auf NETWORK_SUSPICIOUS für Ereignisse mit IP-Optionen und auf AUTH_VIOLATION für fehlgeschlagene Anmeldungen festgelegt.
- security_result.description Der Wert wird auf bestimmte Nachrichten für verschiedene Ereignisse festgelegt.
- security_result.severity Der Wert wird auf LOW für erfolgreiche Anmeldungen, auf MEDIUM für fehlgeschlagene Anmeldungen und auf INFORMATIONAL für andere Ereignisse festgelegt.
- security_result.severity_details Der Wert wird für fehlgeschlagene Anmeldungen aus dem Feld fail_reason übernommen und für Ereignisse mit IP-Optionen auf Informational message festgelegt.
- security_result.summary Der Wert wird auf bestimmte Nachrichten für verschiedene Ereignisse festgelegt.

Änderungen

2024-12-12

Optimierung:

  • intermediary_host wurde intermediary.hostname zugeordnet.

2024-12-05

Optimierung:

  • Es wurde ein Grok-Muster hinzugefügt, um ein neues Muster von syslog-Protokollen zu unterstützen.
  • srcip wurde principal.ip zugeordnet.

2024-10-30

Optimierung:

  • Unterstützung für metadata.event_timestamp in der Zeitzone BST hinzugefügt.

2024-10-15

Optimierung:

  • inter_hostname wurde intermediary.ip und intermediary_host intermediary.hostname zugeordnet.

2024-09-12

Optimierung:

  • Es wurde ein Grok-Muster hinzugefügt, um int_ip auf intermediary.hostname abzubilden.

2024-06-26

Optimierung:

  • Es wurde ein neues Grok-Muster hinzugefügt, um ein neues Format von SYSLOG-Protokollen zu analysieren.

2024-06-09

Optimierung:

  • hostname aus dem Syslog-Header wurde intermediary.hostname zugeordnet.

2024-05-20

Optimierung:

  • Es wurde ein neues Grok-Muster hinzugefügt, um ein neues Format von SYSLOG-Protokollen zu analysieren.
  • MessageSourceAddress wurde principal.ip und principal.asset.ip zugeordnet.
  • SourceModuleName und SourceModuleType wurden principal.resource.attribute.labels zugeordnet.

2023-11-10

Optimierung:

  • Es wurden neue Grok-Muster hinzugefügt, um fehlgeschlagene SYSLOG-Protokolle zu analysieren.
  • Die Bedingungen Unable, exceeded und No space left on device für AUTH_VIOLATION wurden hinzugefügt.

2023-10-30

Optimierung:

  • Es wurden neue Grok-Muster hinzugefügt, um fehlgeschlagene syslog-Protokolle zu analysieren.
  • resourcename wurde principal.resource.name zugeordnet.
  • app_protocol wurde network.application.protocol zugeordnet.
  • app wurde target.application zugeordnet.
  • source_port wurde principal.port zugeordnet.
  • source_ip wurde principal.ip zugeordnet.
  • device_ip wurde target.ip zugeordnet.
  • username wurde target.user.userid zugeordnet.
  • intermediary_ip wurde intermediary.ip zugeordnet.
  • mnemonics wurde metadata.event_type zugeordnet.
  • sec_action wurde security_result.action zugeordnet.
  • sec_category security_result.category wurde zugeordnet.
  • sec_summary wurde security_result.summary zugeordnet.
  • Legen Sie für Logs zum Authentifizierungstyp metadata.event_type auf USER_LOGIN fest.

2023-05-09

Optimierung:

  • Protokolle mit dem Wert FMANFP-6-IPACCESSLOGP werden als NETWORK_CONNECTION-Ereignisse geparst.

2022-12-02

Optimierung:

  • Grok wurde hinzugefügt, um nicht geparste Syslog-Protokolle zu unterstützen.
  • Wenn principal.hostname die Zuordnung von „event_type“ von „GENERIC_EVENT“ zu „STATUS_UPDATE“ geändert hat.

2022-11-10

Optimierung:

  • Unterstützung für SYS-5-CONFIG_I-Ereignisprotokolle hinzugefügt.
  • Grok wurde so geändert, dass Logs mit Zeitzone unterstützt werden.

2022-10-27

Optimierung:

  • Parsen der folgenden syslog-Felder des Logtyps IOSXE-6-PLATFORM
  • ip wurde intermediary.ip zugeordnet
  • src_ip wurde principal.ip zugeordnet
  • src_port wurde principal.port zugeordnet
  • dst_ip wurde target.ip zugeordnet
  • dst_port wurde target.port zugeordnet
  • protocol wurde network.ip_protocol zugeordnet
  • facility wurde principal.resource.type zugeordnet
  • mnemonics wurde metadata.product_event_type zugeordnet
  • sc_summary wurde metadata.description zugeordnet
  • sr_action wurde security_result.action zugeordnet
  • summary wurde security_result.summary zugeordnet

2022-08-23

Optimierung:

  • Korrigierte Zuordnung von Haupt- und Ziel-IP
  • target_ip wurde event.idm.read_only_udm.target.ip zugeordnet
  • src_ip wurde event.idm.read_only_udm.principal.asset.ip zugeordnet

2022-07-01

Optimierung:

  • Ein Fehler beim Parsen von Protokollen mit dem Produktereignistyp SYS-3-LOGGINGHOST_FAIL,SEC_LOGIN-5-LOGIN_SUCCESS,SYS-6-LOGGINGHOST_STARTSTOP,SYS-6-LOGOUT wurde behoben. Der Zeitstempel fehlte.
  • Der Metadaten-Ereignistyp von SYS-3-LOGGINGHOST_FAIL-Protokollen wurde von GENERIC_EVENT in STATUS_UPDATE geändert.

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