Vectra Detect-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Vectra Detect-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser wandelt die Logs aus den Formaten SYSLOG, JSON und CEF in ein einheitliches Datenmodell (Unified Data Model, UDM) um. Zuerst werden die Daten normalisiert, indem unnötige Zeichen und Felder entfernt werden. Anschließend werden grok-Muster verwendet, um Informationen aus verschiedenen Logformaten zu extrahieren. Schließlich werden die extrahierten Felder den entsprechenden UDM-Attributen zugeordnet.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Ein Windows 2016- oder höher- oder Linux-Host mit
systemd - Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des BindPlane-Agents geöffnet sind.
- Privilegierter Zugriff auf die Vectra-Benutzeroberfläche
Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen
- Melden Sie sich in der Google SecOps-Konsole an.
- Rufen Sie die 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 > Profile 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 in diesem Installationsleitfaden.
BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren
Konfigurationsdatei aufrufen:
- 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,vioder Notepad).
- Suchen Sie die Datei
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: 'VECTRA_DETECT' 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.jsonauf den Pfad, in dem die Authentifizierungsdatei im Abschnitt Get Google SecOps ingestion authentication file (Authentifizierungsdatei für die Google SecOps-Aufnahme 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-agentUm den Bindplane-Agent unter Windows neu zu starten, können Sie entweder die Konsole Dienste verwenden oder den folgenden Befehl eingeben:
net stop BindPlaneAgent && net start BindPlaneAgent
Vectra Detect für das Senden von Syslog konfigurieren
- Melden Sie sich in der Vectra Detect-Benutzeroberfläche an.
- Rufen Sie die Einstellungen> Benachrichtigungen auf.
- Gehen Sie zum Abschnitt Syslog.
- Klicken Sie auf Bearbeiten, um die Syslog-Konfiguration hinzuzufügen oder zu bearbeiten.
- Ziel: Geben Sie die IP-Adresse des BindPlane-Agents ein.
- Port: Geben Sie die Portnummer des Bindplane-Agents ein.
- Protokoll: Wählen Sie UDP oder TCP entsprechend Ihrer tatsächlichen Bindplane-Agent-Konfiguration aus.
- Format: Wählen Sie JSON aus.
- Log-Typen: Wählen Sie die Logs aus, die Sie an Google SecOps senden möchten.
- Aktivieren Sie das Kästchen Erweiterte Details einschließen.
- Auf der rechten Seite sehen Sie drei Schalter für die zusätzliche Konfiguration:
- Triaged Detections einschließen: Wenn diese Option deaktiviert ist, werden keine Syslog-Nachrichten gesendet, wenn triagierte Detections erstellt oder aktualisiert werden.
- Erkennungen in die Kategorie „Info“ aufnehmen: Wenn diese Option deaktiviert ist, werden keine Syslog-Meldungen gesendet, wenn Erkennungen in der Kategorie „Info“ erstellt oder aktualisiert werden.
- Include host/account score decreases (Abnahmen der Host-/Kontobewertung einbeziehen): Wenn diese Option deaktiviert ist, werden keine Syslog-Nachrichten gesendet, wenn sowohl die Bedrohungs- als auch die Wahrscheinlichkeitsbewertung sinken und/oder gleich bleiben.
- Klicken Sie auf Speichern.
- Klicken Sie auf Testen, um die Konfiguration zu testen.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| Aktion | read_only_udm.security_result.action | Wert aus dem Feld „action“, wenn [result] in Überwachungsereignissen „true“ oder „failure“ ist. |
| Kategorie | read_only_udm.security_result.category_details | Der Wert stammt aus dem Feld „category“. |
| Wahrscheinlichkeit | read_only_udm.security_result.confidence | Wenn [certainty] zwischen 0 und 35 liegt, wird der Wert auf „LOW_CONFIDENCE“ gesetzt. Wenn [certainty] zwischen 35 und 70 liegt, setze den Wert auf „MEDIUM_CONFIDENCE“. Wenn [certainty] zwischen 70 und 100 liegt, setzen Sie den Wert auf „HIGH_CONFIDENCE“. |
| dd_bytes_rcvd | read_only_udm.network.received_bytes | Wert aus dem Feld „dd_bytes_rcvd“. |
| dd_bytes_sent | read_only_udm.network.sent_bytes | Wert aus dem Feld „dd_bytes_sent“. |
| dd_dst_dns | read_only_udm.target.hostname | Wert aus dem Feld „dd_dst_dns“. |
| dd_dst_dns | read_only_udm.target.asset.hostname | Wert aus dem Feld „dd_dst_dns“. |
| dd_dst_ip | read_only_udm.target.asset.ip | Wert aus dem Feld „dd_dst_ip“. |
| dd_dst_ip | read_only_udm.target.ip | Wert aus dem Feld „dd_dst_ip“. |
| dd_dst_port | read_only_udm.target.port | Wert aus dem Feld „dd_dst_port“. |
| detection_id | read_only_udm.metadata.product_log_id | Der Wert stammt aus dem Feld „detection_id“. |
| detection_profile.name | read_only_udm.security_result.detection_fields | Der Schlüssel ist „detection_profile name“, der Wert stammt aus dem Feld „detection_profile.name“. |
| detection_profile.scoringDetections | read_only_udm.security_result.detection_fields | Der Schlüssel ist „detectionprofile scoringDetections{index}“, der Wert wird aus jedem Element im Array „detection_profile.scoringDetections“ übernommen. |
| detection_profile.vname | read_only_udm.security_result.detection_fields | Der Schlüssel ist „detection_profile vname“, der Wert wird aus dem Feld „detection_profile.vname“ übernommen. |
| dest_ip | read_only_udm.target.asset.ip | Der Wert stammt aus dem Feld „dest_ip“ in „Campaigns Events“. |
| dest_ip | read_only_udm.target.ip | Der Wert stammt aus dem Feld „dest_ip“ in „Campaigns Events“. |
| dest_name | read_only_udm.target.asset.hostname | Der Wert wird aus dem Feld „dest_name“ in Kampagnenereignissen übernommen. |
| dest_name | read_only_udm.target.hostname | Der Wert wird aus dem Feld „dest_name“ in Kampagnenereignissen übernommen. |
| d_type | read_only_udm.additional.fields | Der Schlüssel ist „d_type“, der Wert wird aus dem Feld „d_type“ übernommen. |
| d_type_vname | read_only_udm.additional.fields | Der Schlüssel ist „d_type_vname“, der Wert wird aus dem Feld „d_type_vname“ übernommen. |
| dvchost | read_only_udm.observer.hostname | Wert aus dem Feld „dvchost“. |
| dvchost | read_only_udm.principal.asset.hostname | Der Wert wird aus dem Feld „dvchost“ übernommen, wenn [host_name] in HOST-Ereignissen leer ist. |
| dvchost | read_only_udm.principal.hostname | Der Wert wird aus dem Feld „dvchost“ übernommen, wenn [host_name] in HOST-Ereignissen leer ist. |
| headend_addr | read_only_udm.observer.ip | Wert aus dem Feld „headend_addr“. |
| headend_addr | read_only_udm.principal.asset.ip | Der Wert wird aus dem Feld „headend_addr“ übernommen, wenn [host_ip] in Erkennungsereignissen leer ist. |
| headend_addr | read_only_udm.principal.ip | Der Wert wird aus dem Feld „headend_addr“ übernommen, wenn [host_ip] in Erkennungsereignissen leer ist. |
| href | read_only_udm.target.url | Der Wert stammt aus dem Feld „href“. |
| host_id | read_only_udm.target.asset_id | Der Wert ist „VectraAI.DETECT:{host_id}“ in HOST-Ereignissen. |
| host_ip | read_only_udm.principal.asset.ip | Der Wert stammt aus dem Feld „host_ip“ in HOST- und Detections-Ereignissen. |
| host_ip | read_only_udm.principal.ip | Der Wert stammt aus dem Feld „host_ip“ in HOST- und Detections-Ereignissen. |
| host_name | read_only_udm.principal.asset.hostname | Der Wert stammt aus dem Feld „host_name“. |
| host_name | read_only_udm.principal.hostname | Der Wert stammt aus dem Feld „host_name“. |
| msg_data | read_only_udm.security_result.summary | Der Wert stammt aus dem Feld „msg_data“ in Audit- und Health-Ereignissen. |
| Quadrant | read_only_udm.security_result.priority_details | Der Wert stammt aus dem Feld „quadrant“. |
| Ergebnis | read_only_udm.security_result.action | Wenn [result] „true“ ist, wird „ALLOW“ festgelegt. Wenn [result] „failure“ ist, legen Sie in Audit-Ereignissen „BLOCK“ fest. |
| Ergebnis | read_only_udm.security_result.detection_fields | Der Schlüssel ist „result“, der Wert wird aus dem Feld „result“ in „Audit and Health Events“ übernommen. |
| Rolle | read_only_udm.target.user.attribute.roles.name | Der Wert stammt aus dem Feld „role“ in Audit-Ereignissen. |
| die Ausprägung | read_only_udm.security_result.severity | Wenn [threat] zwischen 0 und 20 liegt, setze den Wert auf „INFORMATIONAL“. Wenn [threat] zwischen 20 und 40 liegt, setzen Sie den Wert auf „LOW“. Wenn [threat] zwischen 40 und 60 liegt, setzen Sie den Wert auf „MEDIUM“. Wenn [threat] zwischen 60 und 80 liegt, legen Sie den Wert auf „HIGH“ fest. Wenn [threat] zwischen 80 und 100 liegt, wird der Wert auf „CRITICAL“ gesetzt. |
| die Ausprägung | read_only_udm.security_result.severity_details | Der Wert stammt aus dem Feld „severity“. |
| source_ip | read_only_udm.principal.asset.ip | Der Wert stammt aus dem Feld „source_ip“ in Audit- und Health-Ereignissen. |
| source_ip | read_only_udm.principal.ip | Der Wert stammt aus dem Feld „source_ip“ in Audit- und Health-Ereignissen. |
| src | read_only_udm.principal.asset.ip | Der Wert stammt aus dem Feld „src“ in CEF-Ereignissen. |
| src | read_only_udm.principal.ip | Der Wert stammt aus dem Feld „src“ in CEF-Ereignissen. |
| src_ip | read_only_udm.principal.asset.ip | Der Wert stammt aus dem Feld „src_ip“ in Kampagnenereignissen. |
| src_ip | read_only_udm.principal.ip | Der Wert stammt aus dem Feld „src_ip“ in Kampagnenereignissen. |
| src_name | read_only_udm.principal.asset.hostname | Der Wert wird aus dem Feld „src_name“ übernommen, wenn [host_name] und [dvchost] leer sind. |
| src_name | read_only_udm.principal.hostname | Der Wert wird aus dem Feld „src_name“ übernommen, wenn [host_name] und [dvchost] leer sind. |
| Bedrohung | read_only_udm.security_result.severity | Wenn [threat] zwischen 0 und 20 liegt, setze den Wert auf „INFORMATIONAL“. Wenn [threat] zwischen 20 und 40 liegt, setzen Sie den Wert auf „LOW“. Wenn [threat] zwischen 40 und 60 liegt, setzen Sie den Wert auf „MEDIUM“. Wenn [threat] zwischen 60 und 80 liegt, legen Sie den Wert auf „HIGH“ fest. Wenn [threat] zwischen 80 und 100 liegt, wird der Wert auf „CRITICAL“ gesetzt. |
| eingestuft | read_only_udm.additional.fields | Der Schlüssel ist „triaged“, der Wert wird aus dem Feld „triaged“ übernommen. |
| Typ | read_only_udm.metadata.product_event_type | Wert aus dem Feld „type“ in Gesundheitsereignissen. |
| Nutzer | read_only_udm.target.user.userid | Der Wert stammt aus dem Feld „user“ in Audit-Ereignissen. |
| vectra_timestamp | read_only_udm.metadata.event_timestamp | Wert aus dem Feld „vectra_timestamp“. |
| Version | read_only_udm.metadata.product_version | Der Wert stammt aus dem Feld „version“. |
| read_only_udm.metadata.event_type | Auf „USER_LOGIN“ festgelegt, wenn [msg_data] „Anmelden“ enthält und [user] in Audit-Ereignissen nicht leer ist. | |
| read_only_udm.metadata.event_type | Bei HOST-Ereignissen auf „SCAN_HOST“ festgelegt. | |
| read_only_udm.metadata.event_type | Wird auf „NETWORK_HTTP“ gesetzt, wenn [host_ip] nicht leer ist, [principal_present] „true“ ist und [target_present] „true“ ist. | |
| read_only_udm.metadata.event_type | Wird auf „STATUS_UPDATE“ gesetzt, wenn [principal_present] in Detections Events „true“ ist. | |
| read_only_udm.metadata.event_type | Wird auf „NETWORK_CONNECTION“ gesetzt, wenn [principal_present] und [target_present] in Detections Events „true“ sind. | |
| read_only_udm.metadata.event_type | Auf „NETWORK_CONNECTION“ festgelegt, wenn [event_type] „GENERIC_EVENT“ ist, [principal_present] „true“ und [target_present] „true“ ist. | |
| read_only_udm.metadata.event_type | Wird auf „STATUS_UPDATE“ gesetzt, wenn [event_type] „GENERIC_EVENT“ und [principal_present] „true“ ist. | |
| read_only_udm.metadata.log_type | Legen Sie diesen Wert auf „VECTRA_DETECT“ fest. | |
| read_only_udm.metadata.vendor_name | Legen Sie diesen Wert auf „Vectra.AI“ fest. | |
| read_only_udm.metadata.product_name | Legen Sie diesen Wert auf „DETECT“ fest. | |
| read_only_udm.network.application_protocol | Auf „HTTP“ festgelegt, wenn [dd_dst_port] 80 ist. | |
| read_only_udm.network.application_protocol | Wird auf „HTTPS“ festgelegt, wenn [dd_dst_port] 443 ist. | |
| read_only_udm.network.application_protocol | Wird auf „UNKNOWN_APPLICATION_PROTOCOL“ gesetzt, wenn [principal_present] und [target_present] in Detections Events auf „true“ gesetzt sind. | |
| read_only_udm.network.http.method | Legen Sie diesen Wert auf „METHOD_OTHER“ fest. | |
| read_only_udm.extensions.auth.type | Auf „AUTHTYPE_UNSPECIFIED“ festgelegt, wenn [msg_data] in Audit-Ereignissen „Anmelden“ enthält. | |
| is_alert | Auf „true“ setzen, wenn [triaged] „true“ ist. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten