Cisco Wireless Intrusion Prevention System (WIPS)-Logs erfassen
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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie SIEM-Einstellungen > Collection Agents auf.
- 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
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
- 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
- Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
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
- Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
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
- 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).
- Suchen Sie die Datei
Bearbeiten Sie die Datei
config.yaml
so: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
- Melden Sie sich über SSH bei Cisco Catalyst an.
Geben Sie die globale Konfiguration ein, um aWIPS im AP-Profil zu aktivieren:
configure terminal ap profile <profile-name> awips
Konfigurieren Sie das Syslog-Drosselungsintervall auf 60 Sekunden:
awips-syslog throttle period 60
Syslog mit Cisco AP-Profilen konfigurieren
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)
- Melden Sie sich in der Web-UI des WLC an.
- Klicken Sie auf Verwaltung > Logs > Konfiguration.
- Geben Sie die IP-Adresse des Bindplane-Agents in das Feld Syslog Server IP Address (IP-Adresse des Syslog-Servers) ein.
- Klicken Sie auf Hinzufügen.
- 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.
- Klicken Sie auf Übernehmen.
- Klicken Sie auf Konfiguration speichern.
Syslog auf Access Points mit WLC konfigurieren (CLI)
Globaler AP-Syslog-Host:
config ap syslog host global <Bindplane_IP_address>
Konfigurieren Sie den spezifischen AP-Syslog-Host:
config ap syslog host specific <AP-name> <Bindplane_IP_address>
Legen Sie den Schweregrad für das AP-Syslog fest:
config ap logging syslog level informational
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