Dell-Switch-Protokolle erfassen

Unterstützt in:

Dieser Parser extrahiert Dell-Switch-Logs, normalisiert Zeitstempel und verwendet Grok-Muster, um die Logmeldung in Schlüssel/Wert-Paare zu strukturieren. Anschließend werden diese extrahierten Felder dem einheitlichen Datenmodell (Unified Data Model, UDM) zugeordnet. Dabei werden verschiedene Logformate verarbeitet und die Daten mit Kontextinformationen wie Asset-Details und Sicherheitsrisiko angereichert.

Hinweise

  • Prüfen Sie, ob Sie eine Google Security Operations-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.
  • Stellen Sie sicher, dass Sie eine aktive Verbindung und Administratoranmeldedaten für einen Dell-Switch haben.

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 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 > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

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
    

Zusätzliche Installationsressourcen

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

  1. Greifen Sie auf die Konfigurationsdatei zu:

    • Suchen Sie die Datei config.yaml. Normalerweise befindet es sich unter Linux im Verzeichnis /etc/bindplane-agent/ oder unter Windows im Installationsverzeichnis.
    • Öffnen Sie die Datei mit einem Texteditor (z. B. nano, vi oder Notepad).
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: sell_switch
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                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 unter Linux den folgenden Befehl aus, um den Bindplane-Agent neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Unter Windows können Sie den Bindplane-Agent entweder über die Konsole Dienste neu starten oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Syslog-Export von einem Dell-Switch konfigurieren

  1. Stellen Sie über SSH oder den Konsolenport eine Verbindung zum Dell-Switch her.
  2. Melden Sie sich mit Administratoranmeldedaten an.
  3. Verwenden Sie den folgenden Befehl, um die IP-Adresse oder den Hostnamen des Syslog-Servers anzugeben (ersetzen Sie <syslog_server_ip>, <udp|tcp> und <syslog-port-number> durch die tatsächlichen Details):

    logging host <syslog-server-ip> transport <udp|tcp> port <syslog-port-number>
    
  4. Optional: Definieren Sie den Mindestschweregrad für Nachrichten, die an den Syslog-Server gesendet werden sollen. So protokollieren Sie beispielsweise Informationsmeldungen und höher:

    logging level informational
    
  5. Speichern Sie die aktuelle Konfiguration in der Startkonfiguration, damit die Änderungen auch nach Neustarts erhalten bleiben:

    copy running-config startup-config
    
  6. Konfiguration speichern:

    write memory
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
acct principal.user.userid Wird als userid verwendet, wenn das Feld user nicht vorhanden ist.
addr principal.asset.ip, principal.ip Wird als IP-Adresse geparst und für die IP-Adresse des Rechtssubjekts und die Asset-IP-Adresse verwendet, wenn es sich um eine gültige IP-Adresse handelt und sie sich vom Hostnamen unterscheidet.
application principal.application Direkt zugeordnet.
asset principal.asset.attribute.labels.value Direkt dem Wert des Asset-Labels zugeordnet, wobei der Schlüssel als „Asset Name“ (Asset-Name) hartcodiert ist. Wenn das Asset-Feld leer ist und die Nachricht „Dell“ enthält, wird das Asset auf „Dell“ gesetzt.
auid principal.resource.attribute.labels.value Direkt einem Label mit dem Schlüssel auid in principal.resource.attribute.labels zugeordnet.
datetime metadata.event_timestamp Aus verschiedenen Formaten im Nachrichtenfeld geparst und in einen Zeitstempel konvertiert.
dest_ip target.asset.ip, target.ip Wird der Ziel-IP-Adresse und der IP-Adresse des Ziel-Assets zugeordnet.
enterpriseId principal.resource.attribute.labels.value Dem Label mit dem Schlüssel enterpriseId in principal.resource.attribute.labels zugeordnet.
exe sec_result.detection_fields.value Zugeordnet zu einem Erkennungsfeld mit dem Schlüssel exe.
File target.file.full_path Direkt zugeordnet.
grantors principal.resource.attribute.labels.value Dem Label mit dem Schlüssel grantors in principal.resource.attribute.labels zugeordnet.
host principal.hostname, principal.asset.hostname, metadata.event_type Wird als primärer Hostname und Asset-Hostname verwendet. Wenn host vorhanden ist, wird metadata.event_type auf STATUS_UPDATE gesetzt. Wenn der Hostname, aber nicht der Host vorhanden ist, wird der Hostname als Host verwendet.
hostname principal.asset.ip, principal.ip, host Wenn es sich um eine gültige IP-Adresse handelt, die für die Haupt-IP-Adresse und die Asset-IP-Adresse verwendet wird. Wenn host leer ist, wird es als host verwendet.
ID principal.resource.attribute.labels.value Dem Label mit dem Schlüssel ID in principal.resource.attribute.labels zugeordnet.
ip principal.asset.ip, principal.ip Der Haupt-IP-Adresse und der Asset-IP-Adresse zugeordnet.
is_synced sec_result.detection_fields.value Zugeordnet zu einem Erkennungsfeld mit dem Schlüssel is_synced.
local target.asset.ip, target.ip, target.port Geparsed, um lokale IP-Adresse und lokalen Port zu extrahieren, die der Ziel-IP-Adresse, der IP-Adresse des Zielassets und dem Zielport zugeordnet werden.
local_ip target.asset.ip, target.ip Aus dem Feld local extrahiert und der Ziel-IP und der Ziel-Asset-IP zugeordnet.
local_port target.port Aus dem Feld local extrahiert und dem Zielport zugeordnet.
mac principal.mac Wenn es sich um eine gültige MAC-Adresse handelt, die der primären MAC-Adresse zugeordnet ist.
msg metadata.description Wird als Ereignisbeschreibung verwendet, sofern vorhanden. Es werden auch zusätzliche Felder geparst.
msg1 metadata.description Wird als Ereignisbeschreibung verwendet, wenn msg2 nicht vorhanden ist.
msg2 sec_result.description, metadata.event_type, extensions.auth.type Wird als Beschreibung des Sicherheitsergebnisses verwendet. Wenn sie „opened for user“ enthält, wird der Ereignistyp auf USER_LOGIN und der Autorisierungstyp auf MACHINE festgelegt. Wenn sie „closed for user“ enthält, wird der Ereignistyp auf USER_LOGOUT und der Autorisierungstyp auf MACHINE festgelegt.
op metadata.product_event_type Wird als Produktereignistyp verwendet, falls vorhanden.
pid principal.process.pid Direkt zugeordnet.
port principal.port Direkt zugeordnet.
prod_event_type metadata.product_event_type Wird als Produktereignistyp verwendet, falls vorhanden.
res sec_result.summary Direkt zugeordnet.
sec_description sec_result.description, target.url, target.ip, target.asset.ip, sec_result.action_details Wird nach Ziel-URL, IP-Adresse und Aktionsdetails durchsucht und als Beschreibung des Sicherheitsergebnisses verwendet.
Server_ID target.resource.product_object_id Direkt zugeordnet.
server principal.asset.ip, principal.ip, principal.port Geparsed, um Server-IP und -Port zu extrahieren, die der Prinzipal-IP, der Prinzipal-Asset-IP und dem Prinzipal-Port zugeordnet werden.
server_ip principal.asset.ip, principal.ip Aus dem Feld server extrahiert und der Haupt-IP-Adresse und der Haupt-Asset-IP-Adresse zugeordnet.
server_port principal.port Aus dem Feld server extrahiert und dem Hauptport zugeordnet.
ses network.session_id Direkt zugeordnet.
severity sec_result.severity, metadata.product_event_type Wird verwendet, um den Schweregrad des Sicherheitsergebnisses und den Produktereignistyp anhand bestimmter Werte zu bestimmen.
software principal.asset.software Direkt zugeordnet.
softwareName software.name Direkt zugeordnet.
Status sec_result.summary Wird als Zusammenfassung des Sicherheitsergebnisses verwendet, wenn res nicht vorhanden ist.
subj principal.resource.attribute.labels.value Dem Label mit dem Schlüssel subj in principal.resource.attribute.labels zugeordnet.
swVersion software.version Direkt zugeordnet.
target_host target.hostname, target.asset.hostname Direkt dem Ziel-Hostname und dem Ziel-Asset-Hostname zugeordnet.
target_ip target.asset.ip, target.ip Direkt der Ziel-IP und der IP des Ziel-Assets zugeordnet.
target_url target.url Direkt zugeordnet.
target_user_id target.user.userid Direkt zugeordnet.
terminal principal.resource.attribute.labels.value Dem Label mit dem Schlüssel terminal in principal.resource.attribute.labels zugeordnet.
tzknown sec_result.detection_fields.value Zugeordnet zu einem Erkennungsfeld mit dem Schlüssel tzknown.
uid principal.resource.attribute.labels.value Dem Label mit dem Schlüssel uid in principal.resource.attribute.labels zugeordnet.
user principal.user.userid, metadata.event_type Wird als primäre Nutzer-ID verwendet. Wenn user vorhanden ist, wird metadata.event_type auf USER_UNCATEGORIZED gesetzt.
username target.user.userid Direkt der Zielnutzer-ID zugeordnet.
metadata.vendor_name Fest codiert auf „Dell“.
metadata.product_name Fest codiert auf „Dell Switch“.
extensions.auth.type Auf MACHINE für bestimmte An- und Abmeldeereignisse festlegen.
metadata.event_type Wird durch eine komplexe Logik auf Grundlage verschiedener Felder und Bedingungen bestimmt. Standardmäßig wird GENERIC_EVENT verwendet, sofern nichts anderes festgelegt ist. Kann USER_LOGIN, USER_LOGOUT, USER_UNCATEGORIZED, NETWORK_CONNECTION, NETWORK_UNCATEGORIZED, STATUS_UPDATE oder GENERIC_EVENT sein.

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