Veridium ID-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Veridium ID-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser extrahiert zuerst Felder aus Syslog-Nachrichten und kategorisiert sie anhand von „log_identifier“. Anschließend werden die extrahierten Felder mithilfe von bedingter Logik und Schlüssel/Wert-Parsing in eine UDM-Struktur (Unified Data Model) abgebildet. Dabei werden sowohl ActionLog
- als auch EventLog
-Formate verarbeitet.
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 Veridium ID
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: 'VERIDIUM_ID' 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
Syslog für Veridium ID konfigurieren
- Melden Sie sich über SSH oder die CLI auf dem Veridium ID-Host an.
Bearbeiten Sie die Datei
/etc/rsyslog.conf
oder/etc/rsyslog.d/events.conf
mit VI.vi /etc/rsyslog.conf
Geben Sie die folgenden Details ein und ersetzen Sie
<bindplane-ip>
und<bindplane-port>
durch die tatsächlichen Bindplane-Agent-Details.module(load="imfile" PollingInterval="10") input(type="imfile" File="/var/log/veridiumid/websecadmin/events.log" Tag="ver-adminevents" reopenOnTruncate="on") input(type="imfile" File="/var/log/veridiumid/tomcat/events.log" Tag="ver-events" reopenOnTruncate="on") if $programname == 'ver-events' then @@<bindplane-ip>:<bindplane-port> if $programname == 'ver-adminevents' then @@<bindplane-ip>:<bindplane-port>
Speichern Sie die Datei und beenden Sie VI.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
_caller.accountId |
principal.user.userid |
Direkt aus dem Feld _caller.accountId zugeordnet. |
_caller.accountEmailAddressInfo |
principal.user.email_addresses |
Direkt aus dem Feld _caller.accountEmailAddressInfo zugeordnet. |
_caller.accountExternalId |
principal.user.email_addresses |
Direkt aus dem Feld _caller.accountExternalId zugeordnet. |
_caller.accountStatus |
principal.user.attribute.labels[account_status].value |
Direkt aus dem Feld _caller.accountStatus zugeordnet. |
_caller.deviceId |
principal.asset.asset_id |
Beginnt mit „VERIDIUM_ID:“ und wird aus dem Feld _caller.deviceId zugeordnet. |
_caller.deviceDescription |
principal.asset.attribute.labels[device_description].value |
Direkt aus dem Feld _caller.deviceDescription zugeordnet. |
_caller.deviceManufacturer |
principal.asset.attribute.labels[device_manufacturer].value |
Direkt aus dem Feld _caller.deviceManufacturer zugeordnet. |
_caller.deviceName |
principal.asset.attribute.labels[device_name].value |
Direkt aus dem Feld _caller.deviceName zugeordnet. |
_caller.deviceOs |
principal.asset.platform_software.platform |
Wird aus dem Feld _caller.deviceOs zugeordnet. Wenn der Wert „iOS“ ist, wird er „IOS“ zugeordnet. Wenn der Wert „Android“ ist, wird er „ANDROID“ zugeordnet. Wenn der Wert „WIN“ oder „Windows“ ist, wird er „WINDOWS“ zugeordnet. |
_caller.deviceStatus |
principal.asset.attribute.labels[device_status].value |
Direkt aus dem Feld _caller.deviceStatus zugeordnet. |
_caller.deviceType |
principal.asset.attribute.labels[device_type].value |
Direkt aus dem Feld _caller.deviceType zugeordnet. |
actionDate |
additional.fields[action_date].value.string_value |
Direkt aus dem Feld actionDate zugeordnet. |
actionName |
metadata.product_event_type |
Direkt aus dem Feld actionName zugeordnet. |
accountEmail |
principal.user.email_addresses |
Direkt aus dem Feld accountEmail zugeordnet. |
accountExternalId |
principal.user.email_addresses |
Direkt aus dem Feld accountExternalId zugeordnet. |
accountId |
principal.user.userid |
Direkt aus dem Feld accountId zugeordnet. |
authenticatorDeviceContext.deviceMake |
intermediary.asset.hardware.manufacturer |
Direkt aus dem Feld authenticatorDeviceContext.deviceMake zugeordnet. |
authenticatorDeviceContext.ip |
intermediary.ip |
Direkt aus dem Feld authenticatorDeviceContext.ip zugeordnet. |
authenticatorDeviceContext.location.city |
intermediary.asset.location.city |
Direkt aus dem Feld authenticatorDeviceContext.location.coordinates.latitude zugeordnet. |
authenticatorDeviceContext.location.coordinates.latitude |
intermediary.asset.location.region_latitude |
Direkt aus dem Feld authenticatorDeviceContext.location.coordinates.latitude zugeordnet. |
authenticatorDeviceContext.location.coordinates.longitude |
intermediary.asset.location.region_longitude |
Direkt aus dem Feld authenticatorDeviceContext.location.coordinates.longitude zugeordnet. |
authenticatorDeviceContext.location.countryName |
intermediary.asset.location.country_or_region |
Direkt aus dem Feld authenticatorDeviceContext.location.countryName zugeordnet. |
authenticatorDeviceContext.location.ip |
intermediary.ip |
Direkt aus dem Feld authenticatorDeviceContext.location.ip zugeordnet. |
authenticationDeviceDescription |
intermediary.asset.attribute.labels[authentication_device_description].value |
Direkt aus dem Feld authenticationDeviceDescription zugeordnet. |
authenticationDeviceName |
intermediary.asset.asset_id |
Beginnt mit „VERIDIUM_ID:“ und wird aus dem Feld authenticationDeviceName zugeordnet. |
authenticationDeviceOs |
intermediary.asset.platform_software.platform |
Wird aus dem Feld authenticationDeviceOs zugeordnet. Wenn der Wert „iOS“ ist, wird er „IOS“ zugeordnet. Wenn der Wert „Android“ ist, wird er „ANDROID“ zugeordnet. Wenn der Wert „WIN“ oder „Windows“ ist, wird er „WINDOWS“ zugeordnet. |
authenticationDeviceOsVersion |
intermediary.asset.platform_software.platform_version |
Direkt aus dem Feld authenticationDeviceOsVersion zugeordnet. |
authenticationDevicePhone |
intermediary.asset.attribute.labels[authentication_device_phone].value |
Direkt aus dem Feld authenticationDevicePhone zugeordnet. |
authenticationDevicePhoneModel |
intermediary.asset.attribute.labels[authentication_device_phone_model].value |
Direkt aus dem Feld authenticationDevicePhoneModel zugeordnet. |
authenticationDeviceRegistrationTime |
intermediary.asset.attribute.labels[authentication_device_registeration_time].value |
Direkt aus dem Feld authenticationDeviceRegistrationTime zugeordnet. |
authenticationDeviceType |
intermediary.asset.attribute.labels[authentication_device_type].value |
Direkt aus dem Feld authenticationDeviceType zugeordnet. |
authenticationResult |
extensions.auth.auth_details |
Direkt aus dem Feld authenticationResult zugeordnet. |
context.deviceMake |
principal.asset.hardware.manufacturer |
Direkt aus dem Feld context.deviceMake zugeordnet. |
context.ip |
principal.ip |
Direkt aus dem Feld context.ip zugeordnet. |
context.location.countryName |
principal.location.country_or_region |
Direkt aus dem Feld context.location.countryName zugeordnet. |
context.location.ip |
principal.ip |
Direkt aus dem Feld context.location.ip zugeordnet. |
context.osVersion |
principal.asset.platform_software.platform_version |
Direkt aus dem Feld context.osVersion zugeordnet. |
context.userAgentRaw |
network.http.user_agent |
Direkt aus dem Feld context.userAgentRaw zugeordnet. |
exploiterDeviceContext.deviceMake |
src.asset.hardware.manufacturer |
Direkt aus dem Feld exploiterDeviceContext.deviceMake zugeordnet. |
exploiterDeviceContext.ip |
src.ip |
Direkt aus dem Feld exploiterDeviceContext.ip zugeordnet. |
exploiterDeviceContext.location.city |
src.asset.location.city |
Direkt aus dem Feld exploiterDeviceContext.location.city zugeordnet. |
exploiterDeviceContext.location.coordinates.latitude |
src.asset.location.region_latitude |
Direkt aus dem Feld exploiterDeviceContext.location.coordinates.latitude zugeordnet. |
exploiterDeviceContext.location.coordinates.longitude |
src.asset.location.region_longitude |
Direkt aus dem Feld exploiterDeviceContext.location.coordinates.longitude zugeordnet. |
exploiterDeviceContext.location.countryName |
src.asset.location.country_or_region |
Direkt aus dem Feld exploiterDeviceContext.location.countryName zugeordnet. |
exploiterDeviceContext.location.ip |
src.ip |
Direkt aus dem Feld exploiterDeviceContext.location.ip zugeordnet. |
exploiterDeviceContext.osName |
src.asset.platform_software.platform |
Wird aus dem Feld exploiterDeviceContext.osName zugeordnet. Wenn der Wert „WIN“ oder „Windows“ ist, wird er „WINDOWS“ zugeordnet. Wenn der Wert „iOS“ ist, wird er „IOS“ zugeordnet. Wenn der Wert „Android“ ist, wird er „ANDROID“ zugeordnet. |
exploiterDeviceContext.osVersion |
src.asset.platform_software.platform_version |
Direkt aus dem Feld exploiterDeviceContext.osVersion zugeordnet. |
exploiterDeviceName |
src.asset.attribute.labels[exploiter_device_name].value |
Direkt aus dem Feld exploiterDeviceName zugeordnet. |
hostname |
principal.hostname |
Direkt aus dem Feld hostname zugeordnet. |
ipAddress |
principal.ip |
Direkt aus dem Feld ipAddress zugeordnet. |
location |
principal.location.city |
Direkt aus dem Feld location zugeordnet. |
location.city |
about.location.city |
Direkt aus dem Feld location.city zugeordnet. |
location.coordinates.latitude |
about.location.region_latitude |
Direkt aus dem Feld location.coordinates.latitude zugeordnet. |
location.coordinates.longitude |
about.location.region_longitude |
Direkt aus dem Feld location.coordinates.longitude zugeordnet. |
location.countryName |
about.location.country_or_region |
Direkt aus dem Feld location.countryName zugeordnet. |
location.ip |
about.ip |
Direkt aus dem Feld location.ip zugeordnet. |
metadata.collected_timestamp |
metadata.collected_timestamp |
Direkt aus dem Feld collected_time zugeordnet. |
metadata.event_timestamp |
metadata.event_timestamp |
Direkt aus dem Feld event_time zugeordnet. |
metadata.event_type |
metadata.event_type |
Legen Sie diesen Wert auf „USER_UNCATEGORIZED“ fest. |
metadata.product_event_type |
metadata.product_event_type |
Direkt aus dem Feld actionName zugeordnet. |
metadata.product_name |
metadata.product_name |
Legen Sie diesen Wert auf „VERIDIUM_ID“ fest. |
namespace |
principal.namespace |
Direkt aus dem Feld namespace zugeordnet. |
pid |
principal.process.pid |
Direkt aus dem Feld pid zugeordnet. |
request.context.userAgentRaw |
network.http.user_agent |
Direkt aus dem Feld request.context.userAgentRaw zugeordnet. |
request.sessionId |
network.session_id |
Direkt aus dem Feld request.sessionId zugeordnet. |
requestMethod |
network.http.method |
Direkt aus dem Feld requestMethod zugeordnet. |
requestURI |
network.http.referral_url |
Direkt aus dem Feld requestURI zugeordnet. |
security_result.severity |
security_result.severity |
Wird aus dem Feld severity zugeordnet. Wenn der Wert „INFO“ ist, wird er „INFORMATIONAL“ zugeordnet. |
principal.application |
Direkt aus dem Feld application zugeordnet. |
|
principal.asset.hostname |
Direkt aus dem Feld hostname zugeordnet. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten