Cisco Wireless Intrusion Prevention System (WIPS)-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Cisco Wireless Intrusion Prevention System-Logs (WIPS) mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert Schlüssel/Wert-Paare aus den Syslog-Nachrichten und ordnet diese Werte dann Feldern des einheitlichen Datenmodells (Unified Data Model, UDM) zu. Sie bestimmt die passende event_type anhand der Informationen zu Prinzipal, Ziel und Nutzer und kategorisiert Sicherheitsereignisse anhand von eventType und anderen Feldern.

Hinweise

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

  • Google SecOps-Instanz
  • Windows 2016 oder höher oder ein Linux-Host mit systemd
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Privilegierter Zugriff auf Cisco Access Point (AP) / Wireless LAN Controller (WLC)

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 BindPlane 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

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
    

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

Weitere Installationsoptionen finden Sie im Installationsleitfaden.

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

  1. Rufen Sie die Konfigurationsdatei auf:
    • Suchen Sie die Datei config.yaml. Normalerweise befindet sie 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:
        udplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    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_WIPS'
            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 <customer_id> durch die tatsächliche Kunden-ID.
    • 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 den folgenden Befehl aus, um den Bindplane-Agent unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Wenn Sie den Bindplane-Agent unter Windows neu starten möchten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Adaptive Wireless Intrusion Prevention System (aWIPS) auf Cisco Catalyst konfigurieren

  1. Melden Sie sich über SSH bei Cisco Catalyst an.
  2. Geben Sie die globale Konfiguration ein, um aWIPS im AP-Profil zu aktivieren:

    configure terminal
    ap profile <profile-name>
    awips
    
  3. Konfigurieren Sie das Syslog-Drosselungsintervall auf 60 Sekunden:

    awips-syslog throttle period 60
    

Syslog mit Cisco AP-Profilen konfigurieren

  1. Im AP-Join-Profil (über die Befehlszeile):

    configure terminal
    ap profile <profile-name>
      syslog host <Bindplane_IP_address>
      syslog level informational
      syslog facility local0
    end
    

Syslog auf Cisco WLC konfigurieren (GUI)

  1. Melden Sie sich in der Web-UI des WLC an.
  2. Klicken Sie auf Verwaltung > Logs > 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.

Syslog auf Access Points mit WLC konfigurieren (CLI)

  1. Globaler AP-Syslog-Host:

    config ap syslog host global <Bindplane_IP_address>
    
  2. Konfigurieren Sie den spezifischen AP-Syslog-Host:

    config ap syslog host specific <AP-name> <Bindplane_IP_address>
    
  3. Legen Sie den Schweregrad für das AP-Syslog fest:

    config ap logging syslog level informational
    
  4. So legen Sie die Einrichtung für AP-Mitteilungen fest:

    config logging syslog facility local0
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
applicationCategoryData security_result.summary Direkt zugeordnet.
applicationSpecificAlarmID target.resource.attribute.labels.applicationSpecificAlarmID In ein Label für die Zielressource umgewandelt.
attackerMacAddr target.mac Direkt zugeordnet.
authEntityId principal.resource.attribute.labels.authEntityId In ein Label für die Hauptressource umgewandelt.
category security_result.category_details Direkt zugeordnet.
detectingApCount target.resource.attribute.labels.detectingApCount In ein Label für die Zielressource umgewandelt.
description metadata.description Direkt zugeordnet.
displayName principal.user.userid Wird mit dem regulären Ausdruck host/(?P<user_id>[\\w-]+) aus displayName extrahiert, wenn das Muster übereinstimmt.
eventType metadata.product_event_type Direkt zugeordnet.
instanceId principal.resource.attribute.labels.instanceId In ein Label für die Hauptressource umgewandelt.
instanceUuid metadata.product_log_id Direkt zugeordnet.
instanceVersion principal.resource.attribute.labels.instanceVersion In ein Label für die Hauptressource umgewandelt.
macInfo target.resource.attribute.labels.macInfo In ein Label für die Zielressource umgewandelt.
notificationDeliveryMechanism target.resource.attribute.labels.notificationDeliveryMechanism, network.ip_protocol In ein Label für die Zielressource umgewandelt. Wenn der Wert „snmp“ (unabhängig von der Groß-/Kleinschreibung) enthält, wird network.ip_protocol auf „UDP“ gesetzt.
previousSeverity target.resource.attribute.labels.previousSeverity In ein Label für die Zielressource umgewandelt. Auf „AUTHTYPE_UNSPECIFIED“ festgelegt, wenn eventType „USER_AUTHENTICATION_FAILURE“ ist und user_id nicht leer ist. Aus dem timestamp des Logs kopiert. Wird durch die Parserlogik basierend auf mehreren Bedingungen bestimmt:
 = „USER_LOGIN“, wenn eventType = „USER_AUTHENTICATION_FAILURE“ und user_id nicht leer ist.
„NETWORK_CONNECTION“, wenn sowohl is_target_present als auch is_principal_present „true“ sind.
„STATUS_UPDATE“, wenn is_principal_present „true“ ist.
 „USER_UNCATEGORIZED“, wenn user_id nicht leer ist. Andernfalls
„GENERIC_EVENT“. Fest codiert auf „CISCO_WIPS“. Fest codiert als „Wireless Intrusion Prevention System (WIPS)“. Fest codiert auf „Cisco“. Wird auf „UDP“ gesetzt, wenn notificationDeliveryMechanism „snmp“ enthält (Groß-/Kleinschreibung wird nicht beachtet). Wird entweder aus reportingEntityAddress oder source abgeleitet, wenn es sich nicht um IP-Adressen handelt. Wird entweder aus reportingEntityAddress oder source zugeordnet, wenn es sich um IP-Adressen handelt. Wird mithilfe eines regulären Ausdrucks aus source extrahiert, wenn es sich um eine MAC-Adresse handelt. In ein Label für die Hauptressource umgewandelt. In ein Label für die Hauptressource umgewandelt.
reportingEntityAddress principal.ip, principal.hostname Wenn es sich um eine IP-Adresse handelt, die principal.ip zugeordnet ist. Andernfalls wird principal.hostname zugeordnet.
severity security_result.severity Wird anhand der folgenden Bedingungen zugeordnet:
„CRITICAL“, wenn severity „0“, „1“, „CRITICAL“ oder „VERY-HIGH“ ist.
 „HIGH“, wenn severity „2“, „3“, „4“ oder „HIGH“ ist.
 = „MEDIUM“, wenn severity = „5“ oder „MEDIUM“.
 „LOW“, wenn severity „6“, „7“ oder „LOW“ ist.
sigAlertDescription security_result.description Direkt zugeordnet.
signatureName target.resource.attribute.labels.signatureName In ein Label für die Zielressource umgewandelt.
source principal.hostname, principal.ip, principal.mac Wenn es sich um eine IP-Adresse handelt, die principal.ip zugeordnet ist. Wenn es sich um eine MAC-Adresse handelt, die principal.mac zugeordnet ist. Andernfalls wird principal.hostname zugeordnet.
srcObjectClassId principal.resource.attribute.labels.srcObjectClassId In ein Label für die Hauptressource umgewandelt.
srcObjectId principal.resource.attribute.labels.srcObjectId In ein Label für die Hauptressource umgewandelt.
subclassName security_result.rule_name Direkt zugeordnet. Wird auf „BLOCK“ gesetzt, wenn applicationSpecificAlarmID „BlockList“ (unabhängig von der Groß-/Kleinschreibung) enthält oder wenn eventType einer der folgenden Werte ist: „SIGNATURE_ATTACK“, „MALICIOUS_ROGUE_AP_DETECTED“ oder „USER_AUTHENTICATION_FAILURE“. Wird von der Parserlogik basierend auf eventType bestimmt:
„NETWORK_MALICIOUS“, wenn eventType „MALICIOUS_ROGUE_AP_DETECTED“ ist.
"NETWORK_SUSPICIOUS" if eventType is "SIGNATURE_ATTACK".
"AUTH_VIOLATION", wenn eventType "USER_AUTHENTICATION_FAILURE" ist.
timestamp metadata.event_timestamp Die Felder seconds und nanos werden direkt zugeordnet.

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