Cisco Wireless LAN Controller-Logs (WLC) erfassen

Parserversion:12.0

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco Wireless LAN Controller-Logs (WLC) mit dem Bindplane-Agent in Google Security Operations aufnehmen.

Der Parser extrahiert Felder aus Cisco WLC-Syslog-Nachrichten mithilfe von Grok-Mustern und verarbeitet verschiedene Logformate, darunter DHCP-, Authentifizierungs- und Netzwerkereignisse. Die extrahierten Felder werden dem Unified Data Model (UDM) zugeordnet und der Ereignistyp wird anhand von mnemonic und Nachrichteninhalten bestimmt.

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 Cisco WLC
  • 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 Cisco WLC

Authentifizierungsdatei für die Google SecOps-Aufnahme 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.

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

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

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING 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. Warte, 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/cisco_wireless:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CISCO_WIRELESS
            raw_log_field: body
    
    service:
        pipelines:
            logs/cisco_wireless_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cisco_wireless
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf die gewartet werden soll:
      • 0.0.0.0, um auf allen Schnittstellen zuzuhören (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:

      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-Agenten unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Dienstkonsole:

      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 Cisco WLC konfigurieren

  1. Melden Sie sich in der WLC-Web-UI an.
  2. Gehen Sie zu Verwaltung > Protokolle > Konfiguration.
  3. Geben Sie die IP-Adresse des Bindplane-Agents in das Feld Syslog Server IP Address (IP-Adresse des Syslog-Servers) ein.
  4. Klicken Sie auf Hinzufügen.
  5. Geben Sie die folgenden Konfigurationsdetails an:
    • Syslog Severity (Syslog-Schweregrad): Wählen Sie Informational (Information) aus.
    • Syslog Facility (Syslog-Einrichtung): Wählen Sie Local Use 0 (Lokale Verwendung 0) aus.
  6. Klicken Sie auf Übernehmen.
  7. Klicken Sie auf Konfiguration speichern.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
action_data read_only_udm.security_result.action_details Direkt aus dem Feld action_data zugeordnet.
data read_only_udm.metadata.description Direkt aus dem Feld data abgeleitet, nachdem einige Verarbeitungsschritte durchgeführt wurden (z.B. Entfernen von Zeitstempeln und zusätzlichen Zeichen). Wird aus dem Zeitstempel am Anfang des Logeintrags extrahiert. Der Parser kann verschiedene Formate verarbeiten. Wird anhand der Felder mnemonic und messageToProcess mit komplexer Logik in der Datei cisco_wireless.include bestimmt. Legen Sie diesen Wert auf „CISCO_WIRELESS“ fest. Verkettung der Felder facility, cisco_severity und mnemonic. Wird, sofern verfügbar, aus dem Logeintrag extrahiert. Legen Sie diesen Wert auf „CISCO_WIRELESS“ fest. Wird, sofern verfügbar, aus dem Feld version extrahiert. Legen Sie diesen Wert auf „CISCO“ fest. Auf „DHCP“ setzen, wenn sich das Ereignis auf DHCP bezieht. Auf „BROADCAST“ für Ereignisse im Broadcast-Netzwerk festgelegt. Auf „UDP“ für UDP-Netzwerkereignisse festgelegt. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Wird je nach Logformat aus den Feldern wlc_controller oder hostname zugeordnet. Wird aus der Beschreibung oder MessageSourceAddress extrahiert, sofern verfügbar. Wird je nach Logformat aus den Feldern wlc_controller oder hostname zugeordnet. Wird aus der Beschreibung oder MessageSourceAddress extrahiert, sofern verfügbar. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Wird aus den Feldern SourceModuleName und SourceModuleType erstellt, sofern verfügbar. Wird aus read_only_udm.principal.user.userid zugeordnet, wenn die Nutzer-ID wie eine E‑Mail-Adresse aussieht. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Wird anhand des Ereignistyps und der Beschreibung ermittelt. Wird anhand des Ereignistyps und der Beschreibung ermittelt. Sofern verfügbar, werden sie aus bestimmten Feldern in der Beschreibung erstellt. Sofern verfügbar, aus der Beschreibung extrahiert. Manchmal werden Informationen aus mehreren Feldern kombiniert. Wird auf Grundlage des Felds cisco_severity und des Ereignistyps ermittelt. Abgeleitet aus dem Feld read_only_udm.security_result.severity. Eine kurze Zusammenfassung des Sicherheitsergebnisses, die aus der Beschreibung und dem Ereignistyp abgeleitet wird. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Sofern verfügbar, aus der Beschreibung extrahiert. Auf „SETTING“ für Ereignisse zur Änderung von Einstellungen festgelegt. Sofern verfügbar, aus der Beschreibung extrahiert.
event_data read_only_udm.metadata.product_event_type Direkt aus dem Feld event_data zugeordnet.
event_id read_only_udm.metadata.product_log_id Direkt aus dem Feld event_id zugeordnet.
event_ts read_only_udm.metadata.event_timestamp Direkt aus dem Feld event_ts zugeordnet.
facility read_only_udm.metadata.product_event_type Direkt aus dem Feld facility zugeordnet.
hostname read_only_udm.principal.hostname Direkt aus dem Feld hostname zugeordnet.
hostname read_only_udm.target.hostname Direkt aus dem Feld hostname zugeordnet.
inter_mac read_only_udm.intermediary.mac Direkt aus dem Feld inter_mac zugeordnet.
intermediary_hostname read_only_udm.intermediary.hostname Direkt aus dem Feld intermediary_hostname zugeordnet.
kv_data read_only_udm.principal.resource.attribute.labels Als Schlüssel/Wert-Paare geparst und zum Füllen von Labels verwendet.
log_message read_only_udm.security_result.description Direkt aus dem Feld log_message zugeordnet.
MessageSourceAddress read_only_udm.principal.asset.ip Direkt aus dem Feld MessageSourceAddress zugeordnet.
MessageSourceAddress read_only_udm.principal.ip Direkt aus dem Feld MessageSourceAddress zugeordnet.
messageToProcess read_only_udm.metadata.description Direkt aus dem Feld messageToProcess zugeordnet, nachdem einige Verarbeitungsschritte durchgeführt wurden.
mnemonic read_only_udm.metadata.event_type Wird in Verbindung mit anderen Feldern verwendet, um den Ereignistyp zu bestimmen.
mnemonic read_only_udm.metadata.product_event_type Direkt aus dem Feld mnemonic zugeordnet.
severity_data read_only_udm.security_result.severity Wird aus dem Feld severity_data zugeordnet, nachdem es in einen Enum-Wert konvertiert wurde.
SourceModuleName read_only_udm.principal.resource.attribute.labels Direkt aus dem Feld SourceModuleName zugeordnet.
SourceModuleType read_only_udm.principal.resource.attribute.labels Direkt aus dem Feld SourceModuleType zugeordnet.
timestamp read_only_udm.metadata.event_timestamp Direkt aus dem Feld timestamp zugeordnet.
version read_only_udm.metadata.product_version Direkt aus dem Feld version zugeordnet.
wlc_controller read_only_udm.principal.hostname Direkt aus dem Feld wlc_controller zugeordnet.
wlc_controller read_only_udm.target.hostname Direkt aus dem Feld wlc_controller zugeordnet.
mnemonic event.idm.read_only_udm.metadata.product_event_type Aus dem Änderungsprotokoll zugeordnet
urlHolder event.idm.read_only_udm.target.url Aus dem Änderungsprotokoll zugeordnet
syslog_sequence event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
userid event.idm.read_only_udm.principal.user.userid Aus dem Änderungsprotokoll zugeordnet
principal_mac event.idm.read_only_udm.principal.mac Aus dem Änderungsprotokoll zugeordnet
obs_host event.idm.read_only_udm.observer.hostname Aus dem Änderungsprotokoll zugeordnet
obs_desc event.idm.read_only_udm.observer.labels Aus dem Änderungsprotokoll zugeordnet
addr event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
component_status event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
ecc event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
multipleErrorsDetected event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
rep[0] event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
rep[1] event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
rep[2] event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
suppressed_times event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
valid event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
interface event.idm.read_only_udm.additional.fields Aus dem Änderungsprotokoll zugeordnet
event_id event.idm.read_only_udm.metadata.product_log_id Aus dem Änderungsprotokoll zugeordnet
principal_hostname event.idm.read_only_udm.principal.hostname und event.idm.read_only_udm.principal.asset.hostname Aus dem Änderungsprotokoll zugeordnet
wlc_controller event.idm.read_only_udm.principal.hostname und event.idm.read_only_udm.principal.asset.hostname Aus dem Änderungsprotokoll zugeordnet
src_ip_1 event.idm.read_only_udm.principal.ip Aus dem Änderungsprotokoll zugeordnet
src_ip_2 event.idm.read_only_udm.principal.ip Aus dem Änderungsprotokoll zugeordnet
mac1 event.idm.read_only_udm.principal.mac Aus dem Änderungsprotokoll zugeordnet
mac2 event.idm.read_only_udm.principal.mac Aus dem Änderungsprotokoll zugeordnet
slot event.idm.read_only_udm.security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet
username event.idm.read_only_udm.principal.user.userid Aus dem Änderungsprotokoll zugeordnet
src_ip event.idm.read_only_udm.principal.ip und event.idm.read_only_udm.principal.asset.ip Aus dem Änderungsprotokoll zugeordnet
ssid event.idm.read_only_udm.security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet
SourceModuleName" and "SourceModuleType principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
client_host", and "hostname principal.hostname Aus dem Änderungsprotokoll zugeordnet
client_ip principal.ip Aus dem Änderungsprotokoll zugeordnet
client_mac principal.mac Aus dem Änderungsprotokoll zugeordnet
ap_ip target.ip Aus dem Änderungsprotokoll zugeordnet
ap_mac target.mac Aus dem Änderungsprotokoll zugeordnet
messageToProcess" and "description metadata.description Aus dem Änderungsprotokoll zugeordnet
inter_url intermediary.url Aus dem Änderungsprotokoll zugeordnet
inter_ip intermediary.ip Aus dem Änderungsprotokoll zugeordnet
sec_desc security_result.description Aus dem Änderungsprotokoll zugeordnet
latest_version", "current_version", "certificate", "expiry_date", "clostest_sensor", "ssid", "client", "xid", "failure_reason", "auth_failure_reason", and "interface security_result.detection_fields Aus dem Änderungsprotokoll zugeordnet
action_data security_result.acion_details Aus dem Änderungsprotokoll zugeordnet
username principal.user.userid Aus dem Änderungsprotokoll zugeordnet
vendor", and "RSSI principal.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
vendor", "security_setting", "channel", "protocol", and "RSSI target.resource.attribute.labels Aus dem Änderungsprotokoll zugeordnet
msg1 metadata.description Aus dem Änderungsprotokoll zugeordnet
wlc_controller event.idm.read_only_udm.principal.hostname Aus dem Änderungsprotokoll zugeordnet
event.idm.read_only_udm.metadata.event_type USER_RESOURCE_ACCESS 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