VMware Horizon-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Omnissa Horizon-Logs (früher VMware Horizon) mit Bindplane in Google Security Operations aufnehmen. Der Parser verwendet zuerst reguläre Ausdrücke (Grok-Muster), um Felder aus rohen Syslog-Nachrichten zu extrahieren. Anschließend werden die extrahierten Felder den entsprechenden Feldern im Chronicle UDM-Schema zugeordnet und die Daten für die Analyse normalisiert und strukturiert.
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 Omnissa Horizon 8
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: 'VMWARE_HORIZON' 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 Omnissa Horizon (früher VMware Horizon) konfigurieren
- Melden Sie sich in der Onmissa Horizon-Web-UI an.
- Rufen Sie die Einstellungen>Event-Konfiguration auf.
- Klicken Sie im Bereich An Syslog-Server senden auf Hinzufügen.
- Geben Sie die IP-Adresse und Portnummer des Bindplane-Agents ein. Das Bindplane-Protokoll muss als UDP konfiguriert sein.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
ActionId |
metadata.product_log_id | Der Wert von „ActionId“ aus dem Rohlog wird „metadata.product_log_id“ zugeordnet. |
admin_domain |
principal.administrative_domain | Der Wert von „admin_domain“ aus dem Rohlog wird „principal.administrative_domain“ zugeordnet. |
BrokerName |
principal.hostname | Der Wert von „BrokerName“ aus dem Rohlog wird „principal.hostname“ zugeordnet. |
BrokerSessionId |
network.session_id | Der Wert von „BrokerSessionId“ aus dem Rohlog wird „network.session_id“ zugeordnet. |
ClientIpAddress |
principal.ip | Der Wert von „ClientIpAddress“ aus dem Rohlog wird „principal.ip“ zugeordnet. |
CurrentSessionLength |
network.session_duration.seconds | Der Wert von „CurrentSessionLength“ aus dem Rohlog wird in eine Ganzzahl umgewandelt und dann „network.session_duration.seconds“ zugeordnet. |
description |
metadata.description | Der Wert von „description“ aus dem Rohlog wird „metadata.description“ zugeordnet. |
DesktopDisplayName |
principal.hostname | Der Wert von „DesktopDisplayName“ aus dem Rohlog wird „principal.hostname“ zugeordnet. |
EventType |
metadata.product_event_type | Der Wert von „EventType“ aus dem Rohlog wird „metadata.product_event_type“ zugeordnet. |
ForwardedClientIpAddress |
principal.nat_ip | Der Wert von „ForwardedClientIpAddress“ aus dem Rohlog wird „principal.nat_ip“ zugeordnet. |
GlobalEntitlementName |
target.user.group_identifiers | Der Wert von „GlobalEntitlementName“ aus dem Rohlog wird „target.user.group_identifiers“ zugeordnet. |
host |
principal.hostname | Der Wert von „host“ aus dem Rohlog wird „principal.hostname“ zugeordnet. |
MachineDnsName |
principal.url | Der Wert von „MachineDnsName“ aus dem Rohlog wird „principal.url“ zugeordnet. |
MachineName |
intermediary.hostname | Der Wert von „MachineName“ aus dem Rohlog wird „intermediary.hostname“ zugeordnet. |
Module |
additional.fields | Der Schlüssel „Module“ mit dem Wert „Module“ aus dem Rohlog wird dem Array „additional.fields“ hinzugefügt. |
pid |
principal.process.pid | Der Wert von „pid“ aus dem Rohlog wird „principal.process.pid“ zugeordnet. |
PoolId |
additional.fields | Der Schlüssel „PoolId“ mit dem Wert „PoolId“ aus dem Rohlog wird dem Array „additional.fields“ hinzugefügt. |
program |
principal.application | Der Wert von „program“ aus dem Rohlog wird „principal.application“ zugeordnet. |
SessionType |
additional.fields | Der Schlüssel „SessionType“ mit dem Wert „SessionType“ aus dem Rohlog wird dem Array „additional.fields“ hinzugefügt. |
Severity |
security_result.severity | Der Wert von „Severity“ aus dem Rohlog wird in Großbuchstaben angegeben, generischen Chronicle-Schweregraden zugeordnet und dann „security_result.severity“ zugeordnet. |
timestamp |
metadata.event_timestamp | Der Wert von „timestamp“ aus dem Rohlog wird in das Chronicle-Format konvertiert und dann „metadata.event_timestamp“ zugeordnet. |
UserDisplayName |
target.user.user_display_name | Der Wert von „UserDisplayName“ aus dem Rohlog wird „target.user.user_display_name“ zugeordnet. |
UserName |
target.user.userid | Der Wert von „UserName“ aus dem Rohlog wird „target.user.userid“ zugeordnet. |
UserSID |
target.user.windows_sid | Der Wert von „UserSID“ aus dem Rohlog wird „target.user.windows_sid“ zugeordnet. |
ViewApiMethodName |
additional.fields | Der Schlüssel „ViewApiMethodName“ mit dem Wert „ViewApiMethodName“ aus dem Rohlog wird dem Array „additional.fields“ hinzugefügt. |
ViewApiServiceName |
additional.fields | Der Schlüssel „ViewApiServiceName“ mit dem Wert „ViewApiServiceName“ aus dem Rohlog wird dem Array „additional.fields“ hinzugefügt. |
extensions.auth.type | Der Wert wird auf „SSO“ festgelegt, wenn das Feld „EventType“ einen der folgenden Werte hat: „ADMIN_USERLOGGEDOUT“, „AGENT_CONNECTED“, „AGENT_DISCONNECTED“, „AGENT_ENDED“, „AGENT_PENDING“, „AGENT_PENDING_EXPIRED“, „AGENT_RECONNECTED“, „BROKER_DESKTOP_REQUEST“, „BROKER_LMV_REMOTE_POD_DESKTOP_LAUNCH“, „BROKER_MACHINE_ALLOCATED“, „BROKER_USER_AUTHFAILED_BAD_USER_PASSWORD“, „BROKER_USER_LOCK_SSO“, „BROKER_USERLOGGEDIN“, „BROKER_USERLOGGEDOUT“, „VLSI_USERLOGGEDIN“, „VLSI_INSUFFICIENT_PERMISSION“, „VLSI_USERLOGGEDIN_REST“, „TIMING_PROFILER_TUNNEL_CONNECTION“, „TIMING_PROFILER_GET_LAUNCH_ITEMS“, „TIMING_PROFILER_USER_AUTHENTICATION“. | |
metadata.event_type | Der Wert wird durch das Feld „EventType“ bestimmt. Wenn „EventType“ einer der folgenden Werte ist: „ADMIN_USERLOGGEDOUT“, „AGENT_DISCONNECTED“, „AGENT_ENDED“, „AGENT_PENDING_EXPIRED“, „BROKER_USER_LOCK_SSO“, „BROKER_USERLOGGEDOUT“, dann ist „metadata.event_type“ „USER_LOGOUT“. Wenn „EventType“ einer der folgenden Werte ist: „AGENT_CONNECTED“, „AGENT_PENDING“, „AGENT_RECONNECTED“, „BROKER_USERLOGGEDIN“, „VLSI_USERLOGGEDIN“, „VLSI_INSUFFICIENT_PERMISSION“, „VLSI_USERLOGGEDIN_REST“, dann ist „metadata.event_type“ „USER_LOGIN“. Wenn „EventType“ „TIMING_PROFILER_GET_LAUNCH_ITEMS“ ist, ist „metadata.event_type“ „STATUS_UNCATEGORIZED“. Wenn „EventType“ „AGENT_SHUTDOWN“ ist, ist „metadata.event_type“ „STATUS_SHUTDOWN“. Wenn „EventType“ einer der folgenden Werte ist: „AGENT_STARTUP“, „BROKER_LMV_REMOTE_POD_DESKTOP_LAUNCH“, dann ist „metadata.event_type“ „STATUS_STARTUP“. Andernfalls ist „metadata.event_type“ „GENERIC_EVENT“. | |
metadata.log_type | Der Wert ist auf „VMWARE_HORIZON“ festgelegt. | |
metadata.product_name | Der Wert ist auf „HORIZON“ festgelegt. | |
metadata.vendor_name | Der Wert ist auf „VMWARE“ festgelegt. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten