VMware vCenter-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie VMware vCenter-Logs mit Bindplane in Google Security Operations aufnehmen. Der Parser transformiert Rohlogs in ein einheitliches Datenmodell (Unified Data Model, UDM). Zuerst wird versucht, die Protokolldaten als JSON zu parsen. Wenn das nicht gelingt, werden die Daten als Syslog-Nachricht behandelt. Felder werden mithilfe von Grok-Mustern extrahiert und dem UDM-Schema zugeordnet.

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 VMware vCenter

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie SIEM-Einstellungen > Collection Agents auf.
  3. 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

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > „Profil“ auf.
  3. 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

  1. Öffnen Sie die Eingabeaufforderung oder PowerShell als Administrator.
  2. 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

  1. Öffnen Sie ein Terminal mit Root- oder Sudo-Berechtigungen.
  2. 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

  1. 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).
  2. 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: 'VMWARE_VCENTER'
            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 VMware vCenter konfigurieren

  1. Melden Sie sich in der Web-UI vCenter Server Management an.
  2. Gehen Sie zu Syslog > Weiterleitungskonfiguration > Konfigurieren.
  3. Wählen Sie Weiterleitungskonfiguration erstellen aus und geben Sie die IP-Adresse des Bindplane-Agents ein.
  4. Wählen Sie im Drop-down-Menü Protocol (Protokoll) je nach Ihrer tatsächlichen Bindplane-Agent-Konfiguration UDP oder TCP aus.
  5. Geben Sie im Abschnitt Port die Portnummer des Bindplane-Agents ein.
  6. Klicken Sie auf Speichern.
  7. Klicken Sie auf Testnachricht senden und prüfen Sie, ob sie empfangen wurde.

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
Access Mask principal.process.access_mask Von Hexadezimal in Dezimal umgewandelt.
Account Domain principal.administrative_domain
Account Name principal.user.userid
ApplicationProtocol additional.fields
Authentication Package security_result.about.resource.name
Client Address principal.ip, principal.asset.ip Als IP-Adresse geparst.
Client Port principal.port In Ganzzahl konvertiert.
cmd target.process.command_line
date timestamp Wird als JJJJ-MM-TT geparst und mit der Uhrzeit als JJJJ-MM-TT HH:mm:ss zusammengeführt, um als Datum geparst zu werden.
date_time timestamp Wird als Datum mit den Formaten RFC 3339, TIMESTAMP_ISO8601 und SYSLOGTIMESTAMP geparst.
desc metadata.description
eventid metadata.product_event_type Mit Aufgabe zusammengeführt als eventid – task.
host_name hauptkonto.hostname, hauptkonto.asset.hostname
http_method network.http.method
ip target.ip, target.asset.ip
kv_data1 Als Schlüssel/Wert-Paare geparst.
kv_data2 Als Schlüssel/Wert-Paare geparst.
kv_msg1.cipher network.tls.cipher
kv_msg1.ctladdr intermediary.labels
kv_msg1.daemon security_result.about.labels
kv_msg1.from network.email.from Wenn „mail_from“ kein „@“ enthält, wird „@local“ angehängt.
kv_msg1.msgid network.email.mail_id
kv_msg1.proto security_result.about.labels
kv_msg1.relay intermediary.hostname, intermediary.ip Als (HOSTNAME) geparst? [IP] oder HOSTNAME. Wenn relay_domain vorhanden ist, wird intermediary.hostname festgelegt. Wenn relay_ip vorhanden ist, wird intermediary.ip zusammengeführt.
kv_msg1.size network.sent_bytes In eine vorzeichenlose Ganzzahl konvertiert.
kv_msg1.stat security_result.summary
kv_msg1.verify security_result.description, security_result.action Wenn kv_msg1.verify auf FAIL gesetzt ist, wird security_result.action auf BLOCK gesetzt.
kv_msg1.version network.tls.version
labels.log_type metadata.product_event_type
labels.net.host.ip principal.ip, principal.asset.ip
labels.net.host.port principal.port
labels.net.peer.ip target.ip, target.asset.ip
labels.net.peer.port target.port
labels.net.transport network.ip_protocol Wenn labels.net.transport „TCP“ ist, dann „TCP“.
level security_result.severity Wenn die Stufe INFO/Informational/DEBUG/info/Information ist, dann INFORMATIONAL, wenn die Stufe ERROR/error ist, dann ERROR, wenn die Stufe WARNING ist, dann LOW.
log.file.path target.process.file.full_path
logName security_result.category_details
Logon Account principal.user.userid
Logon Type extensions.auth.mechanism Wenn logon_type 2/Interactive ist, dann INTERACTIVE, wenn logon_type 3/8 ist, dann NETWORK, wenn logon_type 4 ist, dann BATCH, wenn logon_type 5 ist, dann SERVICE, wenn logon_type 7 ist, dann UNLOCK, wenn logon_type 9 ist, dann NEW_CREDENTIALS, wenn logon_type 10 ist, dann REMOTE_INTERACTIVE, wenn logon_type 11 ist, dann CACHED_INTERACTIVE, andernfalls MECHANISM_UNSPECIFIED.
mail_from network.email.from Wenn „mail_from“ kein „@“ enthält, wird „@local“ angehängt.
mail_to network.email.to Wenn „mail_to“ kein „@“ enthält, wird „@local“ angehängt.
message Mit Grok-Mustern geparst.
namespace principal.namespace
port target.port In Ganzzahl konvertiert.
process_id target.process.pid
providername principal.application
Relative Target Name target.file.full_path
resource.labels.project_id src.cloud.project.id
resource.type src.labels
response_status network.http.response_code In Ganzzahl konvertiert.
sec_desc security_result.description
Security ID target.user.windows_sid
security_result_action_detail security_result.action_details
server_name target.hostname, target.asset.hostname
Share Name target.resource.name
Source Network Address principal.ip, principal.asset.ip Als IP-Adresse geparst.
Source Port principal.port In Ganzzahl konvertiert.
summary security_result.summary
target_host target.hostname, target.asset.hostname
target_url target.url
target_userid target.user.userid
time timestamp Wird als HH:mm:ss geparst und mit dem Datum als yyyy-MM-dd HH:mm:ss zusammengeführt, wenn als Datum geparst wird.
upn_name intermediary.url
URL target.url
User ID target.user.windows_sid
user_id principal.user.userid
UserAgent network.http.user_agent
metadata.event_type Auf STATUS_UPDATE setzen, wenn „msg“ „API_HEALTH“ oder „JobDispatcher“ enthält, auf USER_LOGIN, wenn „msg“ „logged in as“ enthält und „target_userid“ nicht leer ist, auf SCAN_HOST, wenn „msg“ „Leave Validate.“ enthält, auf NETWORK_UNCATEGORIZED, wenn „msg“ „Getting IP Address from host“ enthält, auf RESOURCE_WRITTEN, wenn „msg“ „Wrote vpxd health“ enthält, auf NETWORK_HTTP, wenn „has_principal“ und „has_target“ „true“ sind und „application_protocol“ nicht leer ist, auf PROCESS_LAUNCH, wenn „process_id“ und „cmd“ nicht leer sind, auf USER_UNCATEGORIZED, wenn „user_id“ nicht leer ist oder „eventid“ 4776 ist, auf USER_LOGIN, wenn „eventid“ 4624/4768/4769 ist, auf USER_LOGOUT, wenn „eventid“ 4634/4647 ist, auf USER_RESOURCE_ACCESS, wenn „eventid“ 5145 ist, auf STATUS_UPDATE, wenn „host_name“ nicht leer ist, und andernfalls auf GENERIC_EVENT.
extensions.auth.type Wird auf MACHINE gesetzt, wenn eventid 4624/4768/4769 ist.
metadata.log_type Auf VMWARE_VCENTER festgelegt.
metadata.vendor_name Auf VMWARE festgelegt.
metadata.product_name Auf VCENTER festlegen.
security_result.action Auf ALLOW setzen, wenn response_status 200 ist oder die Aktion „Allow“ lautet.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten