Cisco VCS-Logs erfassen

Parserversion:2.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco VCS-Logs (Video Communication Service, über ExpressWay gesteuert) mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert Felder aus den Syslog-Nachrichten, normalisiert sie in ein einheitliches Datenmodell (Unified Data Model, UDM) und kategorisiert den Ereignistyp anhand der extrahierten Details wie IP-Adressen, Ports und Aktionen. Er verarbeitet verschiedene Logformate, extrahiert Schlüssel-Wert-Paare und ordnet Schweregrade standardisierten Werten für die Sicherheitsanalyse zu.

Hinweis

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

  • Google SecOps-Instanz
  • Ein Windows 2016-Host oder höher oder ein Linux-Host mit systemd
  • Wenn Sie einen Proxy verwenden, sind die Firewall Ports geöffnet.
  • Privilegierter Zugriff auf Cisco ExpressWay

Google SecOps-Anmeldedaten für den Bindplane-Agent abrufen

Wählen Sie eine der folgenden Methoden aus, um den Bindplane-Agent bei Google SecOps zu authentifizieren:

  • Neue Bereitstellungen: Verwenden Sie die Chronicle API (Option 1).
  • Legacy-Bereitstellungen: Verwenden Sie die Authentifizierungsdatei für die Aufnahme (Option 2) weiter, bis die Ingestion API am 20. Juli 2027 eingestellt wird.
  1. Melden Sie sich in der Google Cloud Console an und wählen Sie das Google Cloud Projekt aus, das mit Ihrer Google SecOps-Instanz verknüpft ist.
  2. Rufen Sie IAM und Verwaltung > Dienstkonten auf.
  3. Klicken Sie auf Dienstkonto erstellen.
  4. Geben Sie die folgenden Konfigurationsdetails an:
    • Name des Dienstkontos: Geben Sie einen Namen für das Konto ein (z. B. bindplane-ingest).
    • Dienstkontobeschreibung: Geben Sie eine Beschreibung ein (z. B. Bindplane agent log ingestion).
  5. Klicken Sie auf Erstellen und fortfahren.
  6. Klicken Sie im Abschnitt Diesem Dienstkonto Zugriff auf das Projekt erteilen auf Rolle auswählen und wählen Sie Chronicle-Bearbeiter aus.
  7. Klicken Sie auf Weiter und dann auf Fertig.
  8. Klicken Sie auf das erstellte Dienstkonto und rufen Sie den Tab Schlüssel auf.
  9. Klicken Sie auf Schlüssel hinzufügen > Neuen Schlüssel erstellen.
  10. Wählen Sie JSON aus und klicken Sie auf Erstellen. Die Schlüsseldatei wird auf Ihren Computer heruntergeladen.
  11. Speichern Sie die Schlüsseldatei als ingestion-auth.json im Bindplane-Collector-Verzeichnis (/opt/observiq-otel-collector/ingestion-auth.json unter Linux oder C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json unter Windows) oder aktualisieren Sie creds_file_path in config.yaml so, dass er mit dem Pfad übereinstimmt, in dem Sie sie speichern.
  12. Rufen Sie IAM und Verwaltung > Einstellungen auf und kopieren Sie die Projektnummer. Sie benötigen sie für die Exporterkonfiguration.

Option 2: Authentifizierungsdatei für die Aufnahme herunterladen (Legacy)

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie SIEM-Einstellungen > Erfassungs-Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der Bindplane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie SIEM-Einstellungen > Profil auf.
  3. Kopieren und speichern Sie die Kundennummer aus dem Abschnitt Organisationsdetails.

Bindplane-Agent installieren

Installieren Sie den Bindplane-Agent auf Ihrem Windows- oder Linux-Betriebssystem gemäß der folgenden Anleitung.

Windows-Installation

  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
    

Weitere Installationsressourcen

Weitere Installationsoptionen finden Sie in der Installationsanleitung.

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

  1. Greifen Sie auf die Konfigurationsdatei zu:
    • Suchen Sie die Datei config.yaml. Normalerweise befindet sie sich unter Linux im Verzeichnis /opt/observiq-otel-collector/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yaml so:

    receivers:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            protocol: https
            # Region of your instance, for example us, europe, asia-southeast1
            location: <LOCATION>
            # Project number of the Google Cloud project linked to the instance
            project: '<PROJECT_NUMBER>'
            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: chronicle.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CISCO_VCS'
            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 <LOCATION> durch die Region Ihrer Google SecOps-Instanz (z. B. us, europe oder asia-southeast1). Der Exporter stellt chronicle.googleapis.com mit diesem Wert voran.
    • Ersetzen Sie <PROJECT_NUMBER> durch die Projektnummer unter IAM und Verwaltung > Einstellungen.
    • Ersetzen Sie <customer_id> durch die tatsächliche Kundennummer.
    • Aktualisieren Sie /path/to/ingestion-authentication-file.json auf den Pfad, in dem die Schlüsseldatei des Dienstkontos (Option 1) im Abschnitt Google SecOps-Anmeldedaten für den Bindplane-Agent abrufen gespeichert wurde.

Legacy Ingestion API-Exporter

  • Wenn Sie die Authentifizierungsdatei für die Aufnahme aus Option 2 verwenden, ersetzen Sie den Block exporters durch Folgendes. Legen Sie creds_file_path auf den Pfad zur Authentifizierungsdatei für die Aufnahme fest. Wenn sich Ihre Instanz außerhalb der USA befindet, ersetzen Sie malachiteingestion-pa.googleapis.com durch Ihren regionalen Endpunkt (z. B. europe-malachiteingestion-pa.googleapis.com).

    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_VCS'
            raw_log_field: body
            ingestion_labels:
    

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
    
  • Um den Bindplane-Agent unter Windows neu zu starten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog für Cisco ExpressWay konfigurieren

  1. Melden Sie sich in der Web-UI von Cisco ExpressWay an.
  2. Rufen Sie Maintenance > Logging auf.
  3. Geben Sie die IP-Adressen des Bindplane-Agent als Remote syslog server ein.
  4. Klicken Sie auf Options.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Transport: Wählen Sie UDP aus.
    • Port: Geben Sie die Portnummer des Bindplane-Agent ein.
    • Nachrichtenformat: Wählen Sie BSD aus. Die andere mögliche Option ist IETF.
    • Filter by Severity: Wählen Sie Informational aus.
  6. Klicken Sie auf Save.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Aktion read_only_udm.security_result.action_details Der Wert des Felds Action aus dem Rohlog.
Code read_only_udm.network.http.response_code Der Wert des Felds Code aus dem Rohlog, in eine Ganzzahl konvertiert. Wird verwendet, wenn Response-code nicht vorhanden ist.
Details read_only_udm.security_result.description Der Wert des Felds Detail aus dem Rohlog.
Ziel-IP read_only_udm.target.ip Der Wert des Felds Dst-ip aus dem Rohlog. Wird verwendet, wenn Action nicht Received ist.
Ziel-Port read_only_udm.target.port Der Wert des Felds Dst-port aus dem Rohlog, in eine Ganzzahl konvertiert. Wird verwendet, wenn Action nicht Received ist.
Ereignis read_only_udm.metadata.product_event_type Der Wert des Felds Event aus dem Rohlog.
Level read_only_udm.security_result.severity_details Der Wert des Felds Level aus dem Rohlog.
Level read_only_udm.security_result.severity Zuordnung basierend auf dem Wert des Felds Level aus dem Rohlog:
- 9, 10, VERY-HIGH: CRITICAL
- error, warning, 7, 8, HIGH: HIGH
- notice, 4, 5, 6, MEDIUM: MEDIUM
- information, info, 0, 1, 2, 3, LOW: LOW
Lokale IP read_only_udm.principal.ip Der Wert des Felds Local-ip aus dem Rohlog. Wird verwendet, wenn Action nicht Received ist.
Lokale IP read_only_udm.target.ip Der Wert des Felds Local-ip aus dem Rohlog. Wird verwendet, wenn Action Received ist.
Lokaler Port read_only_udm.principal.port Der Wert des Felds Local-port aus dem Rohlog, in eine Ganzzahl konvertiert. Wird verwendet, wenn Action nicht Received ist.
Lokaler Port read_only_udm.target.port Der Wert des Felds Local-port aus dem Rohlog, in eine Ganzzahl konvertiert. Wird verwendet, wenn Action Received ist.
Methode read_only_udm.network.http.method Der Wert des Felds Method aus dem Rohlog.
Modul read_only_udm.additional.fields.value.string_value Der Wert des Felds Module aus dem Rohlog.
Knoten read_only_udm.additional.fields.value.string_value Der Wert des Felds Node aus dem Rohlog.
Protokoll read_only_udm.network.ip_protocol Der Wert des Felds Protocol aus dem Rohlog, geparst und mit der Logik parse_ip_protocol.include dem entsprechenden IP-Protokollnamen zugeordnet.
Antwortcode read_only_udm.network.http.response_code Der Wert des Felds Response-code aus dem Rohlog, in eine Ganzzahl konvertiert.
Quell-IP read_only_udm.principal.ip Der Wert des Felds Src-ip aus dem Rohlog. Wird verwendet, wenn Action Received ist.
Quell-IP read_only_udm.principal.ip Der Wert des Felds Src-ip aus dem Rohlog. Wird verwendet, wenn Action nicht Received ist und Local-ip nicht vorhanden ist.
Quell-Port read_only_udm.principal.port Der Wert des Felds Src-port aus dem Rohlog, in eine Ganzzahl konvertiert. Wird verwendet, wenn Action Received ist.
Quell-Port read_only_udm.principal.port Der Wert des Felds Src-port aus dem Rohlog, in eine Ganzzahl konvertiert. Wird verwendet, wenn Action nicht Received ist und Local-port nicht vorhanden ist.
Anwendung read_only_udm.target.application Der Wert des Felds application aus dem Rohlog.
Beschreibung read_only_udm.security_result.description Der Wert des Felds description aus dem Rohlog.
inner_msg read_only_udm.security_result.description Der Wert des Felds inner_msg aus dem Rohlog. Wird verwendet, wenn inner_msg_grok_failure auftritt.
principal_hostname read_only_udm.principal.hostname Der Wert des Felds principal_hostname aus dem Rohlog.
Zeitstempel read_only_udm.metadata.event_timestamp.seconds Der Epochenzeitstempel, der aus dem Feld timestamp im Rohlog extrahiert wurde.
Zeitstempel read_only_udm.events.timestamp.seconds Der Epochenzeitstempel, der aus dem Feld timestamp im Rohlog extrahiert wurde.
read_only_udm.additional.fields.key Fest codierter Wert: Module, Node
read_only_udm.metadata.log_type Fest codierter Wert: CISCO_VCS
read_only_udm.metadata.product_name Fest codierter Wert: CISCO VCS
read_only_udm.metadata.vendor_name Fest codierter Wert: CISCO VCS
read_only_udm.metadata.event_type Wird anhand der Werte der Felder Action, Src-ip, principal_hostname, Local-ip und Dst-ip bestimmt:
- NETWORK_CONNECTION: wenn entweder (Action Received ist und Local-ip vorhanden ist) oder (Action nicht Received ist und Dst-ip vorhanden ist)
- STATUS_UPDATE: andernfalls

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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