Cisco Stealthwatch-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Cisco Secure Network Analytics-Logs (früher Stealthwatch) mit Bindplane in Google Security Operations erfassen. Der Parser verarbeitet zwei Formate von Cisco Stealthwatch-Logs: eines mit Client-/Server-IP- und Paketinformationen und eines mit Geräte-ID und Byte-Anzahlen. Felder werden extrahiert, in die entsprechenden Datentypen konvertiert, der UDM zugeordnet und Metadatenfelder wie Anbieter, Produkt und Ereignistyp werden basierend auf dem Loginhalt und -format festgelegt.
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.
- Sie benötigen privilegierten Zugriff auf Cisco Stealthwatch.
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
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 in diesem Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
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).
- 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: '/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 ingestion_labels: log_type: CISCO_STEALTHWATCH raw_log_field: body 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
Syslog für Cisco Secure Network Analytics (früher Stealthwatch) konfigurieren
- Melden Sie sich in der Management Console-Web-UI an.
- Rufen Sie Konfiguration > Antwortverwaltung auf.
Syslog-Format bearbeiten:
- Name: Geben Sie einen Namen für das Syslog-Format ein.
- Beschreibung: Geben Sie eine Beschreibung für das Format an.
- Einrichtung: auf
Local 0
festlegen - Schweregrad: Legen Sie
Informational
fest. - Fügen Sie im Feld Nachricht das folgende Format ein:
Lancope|StealthWatch|time|{time}|target_hostname|{target_hostname}|alarm_severity_id|{alarm_severity_id}|alarm_type_id|{alarm_type_id}|alarm_type_description|{alarm_type_description}|port|{port}|target_ip|{target_ip}|target_mac_address|{target_mac_address}|target_label|{target_label}|alarm_type_name|{alarm_type_name}|source_hostname|{source_hostname}|source_ip|{source_ip}|source_mac_address|{source_mac_address}|source_username|{source_username}|device_ip|{device_ip}|device_name|{device_name}|details|{details}|protocol|{protocol}|alarm_id|{alarm_id}|alarm_category_name|{alarm_category_name}|start_active_time|{start_active_time}| end_active_time|{end_active_time}
Klicken Sie auf OK.
Klicken Sie auf Response Management > Actions > Add Syslog Message (Reaktionsmanagement > Aktionen > Syslog-Nachricht hinzufügen).
Syslog-Forwarder konfigurieren:
- Name: Geben Sie den Namen für den Google SecOps Bindplane-Forwarder ein.
- Beschreibung: Geben Sie die Beschreibung für den Google SecOps Bindplane-Forwarder ein.
- IP-Adresse: Geben Sie die IP-Adresse des Bindplane-Agents ein.
- Port: Geben Sie die Portnummer des Bindplane-Agents ein, z. B.
514
. - Format: Wählen Sie das in Schritt 3 erstellte Format aus.
Klicken Sie auf OK.
Regelnamen für Cisco Secure Network Analytics (früher Stealthwatch) konfigurieren
- Rufen Sie Konfiguration > Antwortverwaltung auf.
- Wählen Sie Regeln > Hinzufügen > SMC-Systemwarnungen aus.
- Klicken Sie auf OK.
- Wählen Sie im Dialogfeld Regeltypen eine Regel aus.
- Klicken Sie auf OK.
- Gehen Sie im Dialogfeld Regel so vor:
- Name: Geben Sie einen Namen für die Regel ein.
- Diese Regel wird ausgelöst, wenn: Wählen Sie in den entsprechenden Listen Beliebig, Schweregrad und Informationen aus.
- Klicken Sie auf OK.
- Wählen Sie Aktionen > Hinzufügen aus.
- Wählen Sie die Aktion aus, die Sie zuvor erstellt haben.
- Klicken Sie auf OK und dann noch einmal auf OK.
- Wiederholen Sie die vorherigen Schritte, um die folgenden drei Optionen im Bereich Regel umzubenennen:
- Unterstützter Mechanismus zur Protokollerfassung – Syslog
- Bevorzugter Mechanismus zur Protokollsammlung – Syslog
- Logisches Diagramm des Ereignisablaufs – SMC-Remote-Syslog-Server
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Alarm_ID |
additional.fields[?key=='Alarm_ID'].value.string_value |
Der Wert von Alarm_ID aus dem Rohlog wird in einer verschachtelten additional.fields -Struktur unter dem Schlüssel Alarm_ID platziert. |
ClientBytes |
network.sent_bytes |
ClientBytes aus dem Rohlog wird in eine vorzeichenlose Ganzzahl konvertiert und zugeordnet. |
ClientIP |
principal.ip |
ClientIP aus dem Rohlog wird zugeordnet. |
ClientPort |
principal.port |
ClientPort aus dem Rohlog wird in eine Ganzzahl konvertiert und zugeordnet. |
CPayload |
Nicht zugeordnet | Dieses Feld wird in der endgültigen UDM nicht verwendet. |
DestIPv4Address |
target.ip |
DestIPv4Address aus dem Rohlog wird zugeordnet. |
DestPort |
target.port |
DestPort aus dem Rohlog wird in eine Ganzzahl konvertiert und zugeordnet. |
details |
security_result.summary |
Der Wert von details aus dem Rohlog wird zugeordnet, wobei doppelte Anführungszeichen entfernt werden. |
FC |
intermediary.ip |
FC aus dem Rohlog wird zugeordnet. |
host.country |
principal.location.country_or_region |
host.country aus dem Rohlog wird zugeordnet. |
host.hostGroupNames |
about.group.group_display_name |
Jedem Element im host.hostGroupNames -Array aus dem Rohlog wird host: vorangestellt und es wird als separates about -Objekt zugeordnet. |
host.ipAddress |
principal.ip |
host.ipAddress aus dem Rohlog wird zugeordnet. |
hostBytes |
network.sent_bytes |
hostBytes aus dem Rohlog wird in eine vorzeichenlose Ganzzahl konvertiert und zugeordnet. |
InPackets |
additional.fields[?key=='InPackets'].value.string_value |
Der Wert von InPackets aus dem Rohlog wird in einer verschachtelten additional.fields -Struktur unter dem Schlüssel InPackets platziert. |
inputSNMPIface |
additional.fields[?key=='inputSNMPIface'].value.string_value |
Der Wert von inputSNMPIface aus dem Rohlog wird in einer verschachtelten additional.fields -Struktur unter dem Schlüssel inputSNMPIface platziert. |
LastTime |
Nicht zugeordnet | Dieses Feld wird in einigen Fällen nach dem Zeitstempel des Ereignisses geparst, aber nicht direkt dem UDM zugeordnet. |
MessageSourceAddress |
principal.ip |
MessageSourceAddress aus dem Rohlog wird zugeordnet. |
method |
network.http.method |
method aus dem Rohlog wird zugeordnet. |
outputSNMPIface |
additional.fields[?key=='outputSNMPIface'].value.string_value |
Der Wert von outputSNMPIface aus dem Rohlog wird in einer verschachtelten additional.fields -Struktur unter dem Schlüssel outputSNMPIface platziert. |
PAAppID |
Nicht zugeordnet | Dieses Feld wird in der endgültigen UDM nicht verwendet. |
peer.country |
target.location.country_or_region |
peer.country aus dem Rohlog wird zugeordnet. |
peer.hostGroupNames |
about.group.group_display_name |
Jedem Element im peer.hostGroupNames -Array aus dem Rohlog wird peer: vorangestellt und es wird als separates about -Objekt zugeordnet. |
peer.ipAddress |
target.ip |
peer.ipAddress aus dem Rohlog wird zugeordnet. |
peerBytes |
network.received_bytes |
peerBytes aus dem Rohlog wird in eine vorzeichenlose Ganzzahl konvertiert und zugeordnet. |
peerPackets |
Nicht zugeordnet | Dieses Feld wird in der endgültigen UDM nicht verwendet. |
Protocol |
Nicht zugeordnet | Dieses Feld wird geparst, um den network.ip_protocol zu ermitteln, aber nicht direkt zugeordnet. |
ProtocolIdentifier |
Nicht zugeordnet | Dieses Feld wird verwendet, um network.ip_protocol abzuleiten, wird aber nicht direkt zugeordnet. |
reportName |
metadata.product_event_type |
reportName aus dem Rohlog wird zugeordnet. |
ServerBytes |
network.received_bytes |
ServerBytes aus dem Rohlog wird in eine vorzeichenlose Ganzzahl konvertiert und zugeordnet. |
ServerIP |
target.ip |
ServerIP aus dem Rohlog wird zugeordnet. |
ServerPort |
target.port |
ServerPort aus dem Rohlog wird in eine Ganzzahl konvertiert und zugeordnet. |
Service |
Nicht zugeordnet | Dieses Feld wird in der endgültigen UDM nicht verwendet. |
sid |
target.user.windows_sid |
sid aus dem Rohlog wird zugeordnet. |
SourceModuleName |
target.resource.name |
SourceModuleName aus dem Rohlog wird zugeordnet. |
SourceModuleType |
observer.application |
SourceModuleType aus dem Rohlog wird zugeordnet. |
SourcePort |
principal.port |
SourcePort aus dem Rohlog wird in eine Ganzzahl konvertiert und zugeordnet. |
sourceIPv4Address |
principal.ip |
sourceIPv4Address aus dem Rohlog wird zugeordnet. |
SPayload |
Nicht zugeordnet | Dieses Feld wird in der endgültigen UDM nicht verwendet. |
src_ip |
principal.ip |
src_ip aus dem Rohlog wird zugeordnet. |
StartTime |
Nicht zugeordnet | Dieses Feld wird in einigen Fällen nach dem Zeitstempel des Ereignisses geparst, aber nicht direkt dem UDM zugeordnet. |
time |
Nicht zugeordnet | Dieses Feld wird in einigen Fällen nach dem Zeitstempel des Ereignisses geparst, aber nicht direkt dem UDM zugeordnet. |
timestamp |
Nicht zugeordnet | Dieses Feld wird nach dem Ereigniszeitstempel durchsucht, aber nicht direkt dem UDM zugeordnet. |
UserName |
principal.user.user_display_name |
UserName aus dem Rohlog wird zugeordnet. |
Version |
metadata.product_version |
Version aus dem Rohlog wird in einen String konvertiert und zugeordnet. |
– | metadata.event_timestamp |
Der Event-Zeitstempel wird je nach Logformat aus verschiedenen Feldern (LastTime , time , timestamp , StartTime ) abgeleitet oder aus dem Feld create_time , wenn kein anderer Zeitstempel verfügbar ist. |
– | metadata.log_type |
Immer auf CISCO_STEALTHWATCH gesetzt. |
– | metadata.vendor_name |
Immer auf Cisco gesetzt. |
– | metadata.event_type |
Wird durch die Parserlogik auf Grundlage des Loginhalts bestimmt. Kann NETWORK_CONNECTION , USER_STATS , USER_UNCATEGORIZED , FILE_OPEN , FILE_DELETION oder FILE_UNCATEGORIZED sein. |
– | network.ip_protocol |
Wird durch die Parserlogik basierend auf den Feldern Protocol oder ProtocolIdentifier bestimmt. Kann TCP , UDP oder ICMP sein. |
action |
security_result.action_details |
Der Wert von action aus dem Rohlog wird zugeordnet. |
action |
security_result.action |
Abgeleitet aus dem Feld action . Wenn action SUCCESS ist, wird dieses Feld auf ALLOW gesetzt. Andernfalls wird es auf BLOCK gesetzt. |
category |
security_result.category_details |
Der Wert von category aus dem Rohlog wird zugeordnet. |
description |
security_result.description |
Wenn sowohl description als auch file_type im Rohlog vorhanden sind, werden sie verkettet und zugeordnet. |
desc |
metadata.description |
Der Wert von desc aus dem Rohlog wird zugeordnet, wobei doppelte Anführungszeichen entfernt werden. |
failuer_reason |
security_result.summary |
Wenn sowohl failuer_reason als auch file_type im Rohlog vorhanden sind, werden sie verkettet und zugeordnet. |
file_path |
target.file.full_path |
file_path aus dem Rohlog wird zugeordnet. |
file_type |
target.file.mime_type |
file_type aus dem Rohlog wird zugeordnet. |
hostname |
principal.hostname |
hostname aus dem Rohlog wird zugeordnet. |
ip |
principal.ip |
ip aus dem Rohlog wird zugeordnet. |
ipf |
intermediary.ip |
ipf aus dem Rohlog wird zugeordnet. |
ipt |
target.ip |
ipt aus dem Rohlog wird zugeordnet. |
process_id |
target.process.pid |
process_id aus dem Rohlog wird zugeordnet. |
protocol |
network.application_protocol |
protocol aus dem Rohlog wird zugeordnet. |
security_res.severity |
security_result.severity |
Wenn severity Minor ist, wird dieses Feld auf INFORMATIONAL gesetzt. Wenn severity Major ist, wird es auf ERROR gesetzt. |
session_id |
network.session_id |
session_id aus dem Rohlog wird zugeordnet. |
severity |
Nicht zugeordnet | Dieses Feld wird verwendet, um security_result.severity abzuleiten, wird aber nicht direkt zugeordnet. |
Source_HG |
principal.location.country_or_region |
Source_HG aus dem Rohlog wird zugeordnet. |
Source_HostSnapshot |
principal.url |
Source_HostSnapshot aus dem Rohlog wird zugeordnet. |
Target_HostSnapshot |
target.url |
Target_HostSnapshot aus dem Rohlog wird zugeordnet. |
user_name |
principal.user.userid |
user_name aus dem Rohlog wird zugeordnet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten