Extreme Networks-Switch-Logs erfassen

Unterstützt in:

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

Extreme Networks-Switches generieren Syslog-Nachrichten für Änderungen des Portstatus, SLPP-Ereignisse, Nutzerauthentifizierung, VLAN-Vorgänge und Systemereignisse. Der Parser extrahiert Felder aus Syslog im RFC-5424-Format 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 Extreme Networks-Switch
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Privilegierter Zugriff auf die Extreme Networks-Switch-CLI

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. 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 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/extreme_switch:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: EXTREME_SWITCH
            raw_log_field: body
    
    service:
        pipelines:
            logs/extreme_switch_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/extreme_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: Kunden-ID, 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:

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

      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 auf einem Switch von Extreme Networks konfigurieren

  1. Melden Sie sich über die CLI oder die Konsole am Switch an.
  2. Geben Sie den Konfigurationsbefehl ein, um auf die globale Konfigurationsebene zuzugreifen:

    device# configure terminal
    
  3. Geben Sie den Befehl für die Syslog-Server-IP-Adresse ein, um einen Syslog-Server hinzuzufügen:

    • Ersetzen Sie <bindplane_ip> durch die tatsächliche IP-Adresse des Bindplane-Agents.
    logging syslog-server <bindplane_ip>
    
  4. Geben Sie den Formatierungsbefehl ein, um das RFC-5424-Format für Nachrichten zu konfigurieren:

    format RFC-5424
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
account_type target.user.user_role Wenn account_type „Administrative“ oder „admin“ ist, wird „ADMINISTRATOR“ festgelegt. Andernfalls wird target.user.attribute.roles.name zugeordnet.
application target.application Direkt zugeordnet.
attr additional.fields Gepasst, um die WWN zu extrahieren und ein Schlüssel/Wert-Paar mit dem Schlüssel „wwn“ und der extrahierten WWN als String-Wert zu erstellen.
class additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „class“ und dem Wert des Felds class als String-Wert.
Cause additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Cause“ und dem Wert des Felds Cause als String-Wert. Leeres Objekt wird erstellt, wenn keine spezifischen Authentifizierungsfelder vorhanden sind.
Info security_result.summary Direkt zugeordnet.
interface additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „interface“ und dem Wert des Felds interface als String-Wert.
ip principal.ip Direkt zugeordnet.
intermediary_ip intermediary.ip Direkt zugeordnet.
kv_data Verschiedene Wird verwendet, um Schlüssel/Wert-Paare zu extrahieren und sie anhand des Schlüssels verschiedenen UDM-Feldern zuzuordnen. Beispiel: VrIpAddr wird intermediary.ip zugeordnet, IP und Addr werden principal.ip zugeordnet, SlppRxPort wird principal.port zugeordnet und verschiedene rc*-Felder werden security_result.detection_fields zugeordnet.
log_data Verschiedene Sie werden geparst, um Informationen zu Nutzeranmeldungen, ‑abmeldungen und anderen Ereignissen zu extrahieren. Wird verwendet, um Felder wie principal.ip, principal.resource.name, target.user.userid, target.application, security_result.summary, security_result.description und metadata.description auszufüllen.
log_type additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „log“ und dem Wert des Felds log_type als String-Wert.
message Verschiedene Der ursprüngliche Logeintrag. Die Daten wurden geparst, um verschiedene Felder zu extrahieren. Der Zeitstempel wird entweder aus dem Feld timestamp (falls vorhanden und im Format „JJJJ-MM-TTTHH:MM:SS“) oder aus dem Feld message mit Grok-Mustern extrahiert. Wenn der Zeitstempel aus dem Nachrichtenfeld extrahiert wird, ist er der Zeitstempel im Logeintrag selbst. Wird anhand der Flags has_principal, has_target, user_login und user_logout bestimmt. Kann „USER_LOGIN“, „USER_LOGOUT“, „STATUS_UPDATE“ oder „GENERIC_EVENT“ sein. Wird aus dem Feld msgid zugeordnet. Statischer Wert: „EXTREME_SWITCH“. Wird aus dem Feld ver zugeordnet. Statischer Wert: „EXTREME_SWITCH“.
msgid metadata.product_log_id Direkt zugeordnet.
port principal.port Direkt zugeordnet und in eine Ganzzahl konvertiert.
protocol additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Protocol“ und dem Wert des Felds protocol als String-Wert.
rcPortVLacpAdminEnable security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcPortVLacpAdminEnable“ und dem zugehörigen Wert.
rcSyslogHostAddress principal.hostname Direkt zugeordnet.
rcSyslogHostAddressType security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostAddressType“ und dem zugehörigen Wert.
rcSyslogHostEnable security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostEnable“ und seinem Wert.
rcSyslogHostFacility security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostFacility“ und seinem Wert.
rcSyslogHostMapErrorSeverity security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapErrorSeverity“ und seinem Wert.
rcSyslogHostMapFatalSeverity security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapFatalSeverity“ und seinem Wert.
rcSyslogHostMapInfoSeverity security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapInfoSeverity“ und seinem Wert.
rcSyslogHostMapWarningSeverity security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostMapWarningSeverity“ und seinem Wert.
rcSyslogHostRowStatus security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostRowStatus“ und seinem Wert.
rcSyslogHostSeverity security_result.detection_fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „rcSyslogHostSeverity“ und seinem Wert.
resource principal.resource.name Direkt zugeordnet.
sec_description security_result.description Direkt zugeordnet.
seqnum additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „seqnum“ und dem Wert des Felds seqnum als String-Wert.
session_id network.session_id Direkt zugeordnet.
severity security_result.severity Mit Conversion verknüpft: „CRITICAL“, „ERROR“ und „HIGH“ werden direkt zugeordnet; „INFO“ wird „INFORMATIONAL“ zugeordnet; „WARNING“ wird „MEDIUM“ zugeordnet; „LOW“, „MEDIUM“ und „INFORMATIONAL“ werden direkt zugeordnet.
SlppIncomingVlanId additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „SlppIncomingVlanId“ und dem Wert des Felds SlppIncomingVlanId als String-Wert.
SlppRxVlan additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „SlppRxVlan“ und dem Wert des Felds SlppRxVlan als String-Wert.
SlppSrcMacAddress principal.mac Direkt zugeordnet.
Status additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Status“ und dem Wert des Felds Status als String-Wert.
swname additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „swname“ und dem Wert des Felds swname als String-Wert.
timestamp metadata.event_timestamp Geparsed und in ein Zeitstempelobjekt konvertiert.
tz additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „tz“ und dem Wert des Felds tz als String-Wert.
Type additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „Type“ und dem Wert des Felds Type als String-Wert.
username target.user.userid Direkt zugeordnet.
ver metadata.product_version Direkt zugeordnet.
VrId additional.fields Erstellt ein Schlüssel/Wert-Paar mit dem Schlüssel „VrId“ und dem Wert des Felds VrId als String-Wert.

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