uberAgent-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie uberAgent-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.
uberAgent ist eine Plattform für Endpunktsicherheitsanalysen und die Überwachung der Nutzerfreundlichkeit für Windows und macOS. Es werden Telemetriedaten erfasst, darunter Prozessereignisse, Anmeldeereignisse, Netzwerkverbindungen und die Anwendungsnutzung auf überwachten Endpunkten.
Hinweis
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Eine Google SecOps-Instanz
- Windows Server 2016 oder höher oder Linux-Host mit
systemd - Netzwerkverbindung zwischen dem Bindplane-Agent und den uberAgent-Endpunkten
- Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
- Privilegierter Zugriff auf die uberAgent-Verwaltungskonsole oder die Endpunkte, auf denen uberAgent installiert ist
Authentifizierungsdatei für die Google SecOps-Aufnahme 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.
Windows-Installation
- Ö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" /quietWarte, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sc query observiq-otel-collectorDer Dienst sollte als RUNNING angezeigt werden.
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.shWarte, bis die Installation abgeschlossen ist.
Überprüfen Sie die Installation mit folgendem Befehl:
sudo systemctl status observiq-otel-collectorDer Dienst sollte als aktiv (wird ausgeführt) angezeigt werden.
Zusätzliche Installationsressourcen
Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie im Installationsleitfaden für den Bindplane-Agent.
BindPlane-Agent zum Erfassen von Logs und Senden an Google SecOps konfigurieren
Konfigurationsdatei suchen
Linux:
sudo nano /etc/bindplane-agent/config.yamlWindows:
notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
Konfigurationsdatei bearbeiten
Ersetzen Sie den gesamten Inhalt von
config.yamldurch die folgende Konfiguration:receivers: filelog: include: - 'C:\uberAgent\logs\*.log' - 'C:\uberAgent\logs\*.csv' start_at: beginning poll_interval: 5s exporters: chronicle/uberagent: compression: gzip creds_file_path: 'C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json' customer_id: '<customer_id>' endpoint: malachiteingestion-pa.googleapis.com log_type: UBERAGENT raw_log_field: body ingestion_labels: env: production service: pipelines: logs/uberagent_to_chronicle: receivers: - filelog exporters: - chronicle/uberagent
Konfigurationsparameter
Ersetzen Sie die folgenden Platzhalter:
Empfängerkonfiguration:
include: Pfade zu uberAgent-Logdateien:- Windows (lokal):
C:\uberAgent\logs\*.logundC:\uberAgent\logs\*.csv - Windows (Dateifreigabe):
\\SERVER\Share\uberagent-logs\*.log - Passen Sie den Pfad entsprechend Ihrer uberAgent-Dateiausgabekonfiguration an.
- Windows (lokal):
start_at: Aufbeginningsetzen, um vorhandene Logs zu lesen, oder aufend, um nur neue Einträge zu lesen.poll_interval: Wie oft nach neuen Logdaten gesucht werden soll (Standard:5s)
Exporter-Konfiguration:
uberagent: Aussagekräftiger Name für den Exportvorgangcreds_file_path: Vollständiger Pfad zur Datei für die Authentifizierung bei der Aufnahme:- Linux:
/etc/bindplane-agent/ingestion-auth.json - Windows:
C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
- Linux:
<customer_id>: Kunden-ID aus dem vorherigen Schrittendpoint: Regionale Endpunkt-URL:- USA:
malachiteingestion-pa.googleapis.com - Europa:
europe-malachiteingestion-pa.googleapis.com - Asien:
asia-southeast1-malachiteingestion-pa.googleapis.com - Eine vollständige Liste finden Sie unter Regionale Endpunkte.
- USA:
UBERAGENT: Logtyp, genau wie er in Chronicle angezeigt wirdingestion_labels: Optionale Labels im YAML-Format (z. B.env: production)
Pipelinekonfiguration:
uberagent_to_chronicle: Aussagekräftiger Name für die Pipeline
Konfigurationsdatei speichern
- Speichern Sie die Datei nach der Bearbeitung:
- Linux: Drücken Sie
Ctrl+O, dannEnterund dannCtrl+X. - Windows: Klicken Sie auf Datei > Speichern.
- Linux: Drücken Sie
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 observiq-otel-collectorPrüfen Sie, ob der Dienst ausgeführt wird:
sudo systemctl status observiq-otel-collectorLogs auf Fehler prüfen:
sudo journalctl -u observiq-otel-collector -f
Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agenten unter Windows neu zu starten:
Eingabeaufforderung oder PowerShell als Administrator:
net stop observiq-otel-collector && net start observiq-otel-collectorDienstkonsole:
- Drücken Sie
Win+R, geben Sieservices.mscein und drücken Sie die Eingabetaste. - Suchen Sie nach observIQ OpenTelemetry Collector.
- Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
Prüfen Sie, ob der Dienst ausgeführt wird:
sc query observiq-otel-collectorLogs auf Fehler prüfen:
type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
- Drücken Sie
uberAgent-Dateiausgabe konfigurieren
uberAgent unterstützt mehrere Ausgabebackends. So exportieren Sie Daten als Dateien, die vom Bindplane-Agenten erfasst werden:
- Öffnen Sie die uberAgent-Konfigurationsdatei (
uberAgent.conf) auf dem Endpunkt oder über die Gruppenrichtlinie. Konfigurieren Sie einen dateibasierten Ausgabempfänger:
[Receiver] Name = FileOutput Type = File Path = C:\uberAgent\logs\Konfigurieren Sie die zu exportierenden Messwerte und Quelltypen:
- Prozess: Ereignisse zum Starten/Beenden von Prozessen, Ressourcennutzung.
- Anmeldung: Nutzeran- und -abmeldeereignisse.
- Netzwerk: Ereignisse zur Netzwerkverbindung.
- Anwendung: Anwendungsnutzung und ‑fehler.
Speichern Sie die Konfiguration und starten Sie den uberAgent-Dienst neu.
Prüfen Sie, ob Logdateien im konfigurierten Ausgabeverzeichnis erstellt werden.
Achten Sie darauf, dass der Bindplane-Agent Leseberechtigungen für das Logverzeichnis und die Dateien hat.
UDM-Zuordnungstabelle
| Logfeld | UDM-Zuordnung | Logik |
|---|---|---|
| SessionRpLatencyMs2, SessionHRes, SessionVRes, SessionColorDepth, SessionClientPlatform, SessionClientVersion, SessionClientOsLanguage, SessionPublishedName, SessionPublishedAppsCtx, SessionAppStateCtx, SessionEncryptionCtx, SessionClientTypeCtx, SessionBrokerDnsVmw, SessionBrokerUrlVmw, SessionBrokerTunneledVmw, SessionBrokerTunnelUrlVmw, SessionBrokerRemoteIpVmw, SessionBrokerUserVmw, SessionBrokerDomainVmw, SessionClientTimezoneVmw, SessionClientIdVmw, SessionTypeVmw, SessionBrokerType, SessionFgAppId, SessionFgAppVersion, SessionFgProcessName, SessionFgProcessId, SessionFgBrowserType, SessionFgBrowserActiveTabHost, SessionFgWindowTitle, SessionClientHwIdCtx2, SessionRoundTripTimeMs, SessionFps, SessionTransportProtocols, SessionProcessCount, SessionIOMB, SessionCPUTimeMs, SessionConnectionState, SessionUser, SessionIOCount, SessionNetKBPS, SessionWorkingSetMB, SessionCPUUsagePercent, SessionIOPS, SessionClientName, SessionIOLatencyMs, PowerSupportsS3, IsBatteryPresent, PowerSupportsS1, PowerSupportsS2, PowerSupportsS5, CPUMaxMhz, BaseboardSerial, CtxMachineCatalogName, AdDomainDns, HwHypervisorVendor, OsBuild, HwBiosVersion, PowerSupportsS4, HwIsVirtualMachine, IsUpsPresent, PowerSupportsConnectedStandby, OsInstallDate, Sourcetype, uberagent_index_name, data_stream.namespace, data_stream.dataset, data_stream.type, data_stream.subset, CPUCoresLogical, AdOu, AdDomainNetBios, logstash_pipeline, AdSite, CtxFarmName, CPUSockets, OsSpName, OsName, OsType, OsUpdateBuildRevision, ComputerNameCanonical, ComputerNameDn, CtxDeliveryGroupName, tags, user_agent.original | additional.fields | Zusammengeführt als Schlüssel/Wert-Paare aus den aufgeführten Feldern |
| metadata.event_type | Auf STATUS_UPDATE gesetzt, wenn „has_principal“ auf „true“ und „has_target“ auf „false“ gesetzt ist, auf NETWORK_CONNECTION, wenn beide auf „true“ gesetzt sind, und auf GENERIC_EVENT, wenn keine der beiden Bedingungen zutrifft. | |
| SessionGUID | metadata.product_log_id | Wert direkt kopiert |
| user_agent.original | network.http.parsed_user_agent | In geparsten User-Agent konvertiert |
| user_agent.original | network.http.user_agent | Wert direkt kopiert |
| SessionTransportProtocols | network.ip_protocol | Auf UDP setzen, wenn (?i)udp übereinstimmt, auf TCP, wenn (?i)tcp übereinstimmt |
| SessionID | network.session_id | Wert direkt kopiert |
| SessionClientUserDomain | principal.administrative_domain | Wert direkt kopiert |
| CPUCoresPhysical, RAMSizeGB, CPUName, HwManufacturer, OsArchitecture, BIOSSerial, HwModel | principal.asset.hardware | Mit Hardwareobjekt zusammengeführt |
| SessionClientDomain, Host | principal.asset.hostname | Wert aus „SessionClientDomain“, falls nicht leer, andernfalls „Host“ |
| prin_ip, SessionClientIp, system_ip | principal.asset.ip | Wert von prin_ip, falls nicht leer, andernfalls SessionClientIp, andernfalls system_ip |
| SessionClientDomain, Host | principal.hostname | Wert aus „SessionClientDomain“, falls nicht leer, andernfalls „Host“ |
| prin_ip, SessionClientIp, system_ip | principal.ip | Wert von prin_ip, falls nicht leer, andernfalls SessionClientIp, andernfalls system_ip |
| SessionClientMac | principal.mac | Wert aus SessionClientMac, wobei „-“ durch „:“ ersetzt und der Wert in Kleinbuchstaben angegeben wird |
| SessionClientPlatform | principal.platform | Auf WINDOWS setzen, wenn (?i)windows übereinstimmt |
| SessionClientVersion | principal.platform_version | Auf „value“ festlegen, wenn „(?i)windows“ übereinstimmt |
| SessionUser, SessionClientUser | principal.user.user_display_name | Wert aus „SessionUser“, falls nicht leer, andernfalls „SessionClientUser“ |
| SessionBrokerRemoteIpVmw | target.ip | Wert direkt kopiert |
| SessionBrokerUserVmw | target.user.user_display_name | Wert direkt kopiert |
| SessionClientIdVmw | target.user.userid | Wert direkt kopiert |
| metadata.product_name | Auf „UBERAGENT“ festgelegt | |
| metadata.vendor_name | Auf „UBERAGENT“ festgelegt |
Änderungsprotokoll
Änderungsprotokoll für diesen Parser ansehen
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten