Brocade-Switch-Protokolle erfassen

Parserversion: 5.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Brocade-Switch-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

Brocade-Switches (Fibre Channel-SAN-Switches) generieren Syslog-Nachrichten für Fabric-Ereignisse, Zonenänderungen, An-/Abmeldeaktivitäten und Systemereignisse. Der Parser normalisiert Felder und ordnet sie dem Unified Data Model (UDM) zu.

Hinweis

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

  • Eine Google SecOps-Instanz
  • Windows Server 2016 oder höher oder Linux-Host mit systemd
  • Netzwerkverbindung zwischen dem Bindplane-Agent und dem Brocade-Switch
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Administratorzugriff auf den Brocade-Switch über SSH oder Telnet

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. Authentifizierungsdatei für die Aufnahme herunterladen
  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 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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING (Wird ausgeführt) angezeigt werden.

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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als aktiv (wird ausgeführt) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

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

Konfigurationsdatei suchen

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/brocade_switch:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: BROCADE_SWITCH
            raw_log_field: body
    
    service:
        pipelines:
            logs/brocade_switch_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/brocade_switch
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf die gewartet werden soll:
      • 0.0.0.0, um alle Schnittstellen zu überwachen (empfohlen)
      • Port 514 ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie 1514 für Nicht-Root).
  • Exporter-Konfiguration:

    • creds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:
      • Linux: /etc/bindplane-agent/ingestion-auth.json
      • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id: Die Kundennummer, die aus der Google SecOps Console kopiert wurde
    • endpoint: Regionale Endpunkt-URL:
      • USA: malachiteingestion-pa.googleapis.com
      • Europa: europe-malachiteingestion-pa.googleapis.com
      • Asien: asia-southeast1-malachiteingestion-pa.googleapis.com
      • Eine vollständige Liste finden Sie unter Regionale Endpunkte.

Konfigurationsdatei speichern

  • Speichern Sie die Datei nach der Bearbeitung:
    • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
    • Windows: Klicken Sie auf Datei > Speichern.

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 observiq-otel-collector
    
    1. Prüfen Sie, ob der Dienst ausgeführt wird:

      ```bash
      sudo systemctl status observiq-otel-collector
      ```
      
    2. Logs auf Fehler prüfen:

      ```bash
      sudo journalctl -u observiq-otel-collector -f
      ```
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agent unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Services-Konsole:

      1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
      2. Suchen Sie nach observIQ OpenTelemetry Collector.
      3. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Logs auf Fehler prüfen:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

Syslog-Export von einem Brocade-Switch konfigurieren

  1. Stellen Sie mit den entsprechenden Anmeldedaten eine Verbindung zum Brocade-Switch über SSH oder Telnet her.
  2. Führen Sie den folgenden Befehl aus, um die IP-Adresse und den Port des Syslog-Servers (Bindplane) anzugeben:

    syslogadmin --set -ip <BINDPLANE_IP> -port 514
    
  3. Führen Sie den folgenden Befehl aus, um die konfigurierten Syslog-Server aufzurufen:

    syslogadmin --show -ip
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
application additional.fields[].key: „application“
additional.fields[].value.string_value:
Wert, der aus dem Feld application@1588 im Rohlog extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist.
class additional.fields[].key: „class“
additional.fields[].value.string_value:
Wert, der aus dem Feld class@1588 im Rohlog extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist.
domain principal.administrative_domain Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld domain entspricht.
Event additional.fields[].key: „event_category“
additional.fields[].value.string_value:
Wert, der aus dem Feld arg0@1588 im Rohlog extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist.
event_id metadata.product_log_id Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld event_id entspricht.
event_type metadata.product_event_type Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld event_type entspricht.
flags additional.fields[].key: „flags“
additional.fields[].value.string_value:
Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld flags entspricht.
Info metadata.description Der aus dem Feld Info extrahierte Wert, der mit grok geparst wurde.
interface app_protocol_src Wert, der aus dem Feld interface@1588 im Rohlog extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist. Wird verwendet, um network.application_protocol abzuleiten.
ip principal.ip Der aus dem Feld ip extrahierte Wert, der mit grok geparst wurde. Wird in principal.ip zusammengeführt, wenn sie nicht mit der IP-Adresse identisch ist, die aus dem Feld Info extrahiert wurde.
Info, IP Addr principal.ip Der Wert wird aus dem Feld IP Addr im Feld Info extrahiert und mit grok geparst.
log additional.fields[].key: „log“
additional.fields[].value.string_value:
Wert, der aus dem Feld log@1588 im Rohlog extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist.
msg metadata.description Der aus dem Feld msg extrahierte Wert, der mit grok geparst wurde.
msgid additional.fields[].key: „msgid“
additional.fields[].value.string_value:
Wert, der aus dem Feld msgid@1588 im Rohlog extrahiert wird, wenn das Feld „KV_DATA“ vorhanden ist.
prin_host principal.hostname
principal.asset.hostname
Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld prin_host entspricht.
product_version metadata.product_version Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld product_version entspricht.
repeat_count additional.fields[].key: „repeat_count“
additional.fields[].value.string_value:
Der aus dem Feld msg extrahierte Wert, der mit grok geparst wurde.
role, user_role principal.user.attribute.roles[].name Der Wert, der aus dem Feld role@1588 oder user_role extrahiert wurde. Wenn der Wert „admin“ ist, wird er durch „Admin“ ersetzt.
sequence_number additional.fields[].key: "sequence_number"
additional.fields[].value.string_value:
Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld sequence_number entspricht.
severity security_result.severity Der aus dem Feld severity extrahierte Wert, der mit grok geparst wurde. Wird UDM-Schweregradwerten zugeordnet (INFORMATIONAL, ERROR, CRITICAL, MEDIUM).
Status security_result.summary Wert, der aus dem Feld Status extrahiert wurde.
switch_name additional.fields[].key: "switch_name"
additional.fields[].value.string_value:
Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld switch_name entspricht.
target_application target.application Der Wert, der aus dem Grok-Muster extrahiert wurde, das dem Feld target_application entspricht.
time additional.fields[].key: „time“
additional.fields[].value.string_value:
Der Wert wird aus dem Feld time im Feld kv_data3 extrahiert.
timestamp metadata.event_timestamp.seconds Der aus dem Feld timestamp extrahierte Wert, der mit dem Datumsfilter geparst wurde.
user principal.user.userid
principal.user.user_display_name
Der Wert wird aus dem Feld user oder user@1588 extrahiert und mit grok geparst. Kopiert von principal.hostname. Kopiert von principal.ip. Kopiert aus metadata.product_event_type oder basierend auf Bedingungen auf „STATUS_UPDATE“ gesetzt. Aus dem create_time.nanos des Logs kopiert. Wird durch die Parserlogik basierend auf den Werten von has_principal, has_target, has_userid und event_type bestimmt. Kann „SYSTEM_AUDIT_LOG_UNCATEGORIZED“, „STATUS_UPDATE“ oder „GENERIC_EVENT“ sein. Fest codiert auf „BROCADE_SWITCH“. Fest codiert auf „BROCADE“. Fest codiert auf „BROCADE_SWITCH“. Abgeleitet vom Feld interface oder auf „SSH“ gesetzt, wenn das Feld interface „SSH“ enthält.
CLI event.idm.read_only_udm.metadata.description Aus dem Änderungsprotokoll zugeordnet
prin_host event.idm.read_only_udm.intermediary.hostname Aus dem Änderungsprotokoll zugeordnet

Änderungsprotokoll

Änderungsprotokoll für diesen Parser ansehen

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