Delinea Secret Server-Logs erfassen
In diesem Dokument wird beschrieben, wie Sie Delinea (früher Thycotic) Secret Server-Logs erfassen. Der Parser wandelt Rohlogs in ein strukturiertes Format um, das dem Unified Data Model (UDM) von Google Security Operations entspricht. Zuerst werden Schlüsselfelder wie Zeitstempel, Ereignistypen und Nutzerinformationen extrahiert. Anschließend wird anhand des jeweiligen Ereignistyps bedingte Logik verwendet, um die Daten den entsprechenden UDM-Feldern zuzuordnen. So werden die Daten für die Analyse in Google SecOps angereichert.
Hinweise
Prüfen Sie, ob folgende Voraussetzungen erfüllt sind:
- Google Security Operations-Instanz
- Windows 2016 oder höher oder Linux-Host mit
systemd
- Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
- Privilegierter Zugriff auf Delinea Secrets Server
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 Security Operations-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 es 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: 'THYCOTIC' 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-Authentifizierungsdatei für die 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-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
Thycotic Secret Server für das Senden von Logs über Syslog konfigurieren
- Melden Sie sich mit Administratoranmeldedaten in Thycotic Secret Server an.
- Klicken Sie auf Verwaltung > Konfiguration.
- Klicken Sie auf Bearbeiten.
- Klicken Sie das Kästchen Syslog-/CEF-Logging aktivieren an und geben Sie die folgenden Details an:
- Syslog-/CEF-Server: Geben Sie die IP-Adresse Ihres Syslog-Servers/Bindplane ein.
- Syslog-/CEF-Protokoll: Wählen Sie UDP oder TCP aus (je nach Syslog-Server oder Bindplane-Konfiguration).
- Syslog-/CEF-Port: Geben Sie die Portnummer ein, die für den Syslog-Server oder Bindplane konfiguriert ist.
- Klicken Sie auf Speichern.
UDM-Zuordnungstabelle
Logfeld | UDM-Zuordnung | Logik |
---|---|---|
Account_Domain | event1.idm.read_only_udm.principal.domain | Der Wert wird aus dem Feld Account_Domain im Feld msg des Rohlogs übernommen. |
Nach Nutzer | event1.idm.read_only_udm.principal.user.userid | Der Wert wird aus dem Feld By User im Feld msg des Rohlogs übernommen. |
Container-ID | event1.idm.read_only_udm.principal.asset.asset_id | Der Wert wird aus dem Feld Container Id im Feld msg des Rohlogs übernommen und mit container_id: als Präfix versehen. |
Containername | event1.idm.read_only_udm.principal.resource.name | Der Wert wird aus dem Feld Container name im Feld msg des Rohlogs übernommen. |
cs2 | event1.idm.read_only_udm.additional.fields[].value.string_value | Der Wert wird aus dem Feld cs2 im Feld msg des Rohlogs übernommen. |
cs3 | event1.idm.read_only_udm.target.file.full_path | Der Wert wird aus dem Feld cs3 im Feld msg des Rohlogs übernommen. |
cs4 | event1.idm.read_only_udm.principal.user.user_display_name | Der Wert wird aus dem Feld cs4 im Feld msg des Rohlogs übernommen. |
Details | event1.idm.read_only_udm.additional.fields[].value.string_value | Der Wert wird aus dem Feld Details im Feld msg des Rohlogs übernommen. |
fname | event1.idm.read_only_udm.target.file.full_path | Der Wert wird aus dem Feld fname im Feld msg des Rohlogs übernommen. |
Host | event1.idm.read_only_udm.principal.hostname, event1.idm.read_only_udm.principal.asset.hostname | Der Wert wird aus dem Feld Host im Feld msg des Rohlogs übernommen. |
Bezeichnung | event1.idm.read_only_udm.target.user.userid | Der Wert wird aus dem Feld Item Name im Feld msg des Rohlogs übernommen. |
event1.idm.read_only_udm.additional.fields[].key | Der Wert ist auf fname hartcodiert. |
|
event1.idm.read_only_udm.additional.fields[].key | Der Wert ist auf Group or User hartcodiert. |
|
event1.idm.read_only_udm.additional.fields[].key | Der Wert ist auf Details hartcodiert. |
|
event1.idm.read_only_udm.additional.fields[].key | Der Wert ist auf type_id hartcodiert. |
|
event1.idm.read_only_udm.extensions.auth.type | Der Wert ist auf MACHINE hartcodiert. |
|
event1.idm.read_only_udm.metadata.description | Der Wert wird dem Feld thycotic_event entnommen, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird. |
|
event1.idm.read_only_udm.metadata.event_timestamp.seconds | Der Wert wird aus dem Feld rt abgeleitet, falls vorhanden, andernfalls aus dem Feld ts . Beide Felder werden mithilfe von Grok-Mustern aus dem Rohlog extrahiert. |
|
event1.idm.read_only_udm.metadata.event_type | Der Wert wird anhand des Felds thycotic_event und anderer Bedingungen bestimmt. Wenn thycotic_event beispielsweise USER - LOGIN ist, wird der Ereignistyp auf USER_LOGIN festgelegt. |
|
event1.idm.read_only_udm.metadata.log_type | Der Wert ist auf THYCOTIC hartcodiert. |
|
event1.idm.read_only_udm.metadata.product_event_type | Der Wert wird dem Feld thycotic_event entnommen, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird. |
|
event1.idm.read_only_udm.metadata.product_log_id | Der Wert wird dem Feld action_id entnommen, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird. |
|
event1.idm.read_only_udm.metadata.product_name | Der Wert wird dem Feld device_product entnommen, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird. Wenn das Feld leer ist, wird der Wert fest auf Secret Server codiert. |
|
event1.idm.read_only_udm.metadata.product_version | Der Wert wird dem Feld device_version entnommen, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird. |
|
event1.idm.read_only_udm.metadata.vendor_name | Der Wert ist auf Thycotic hartcodiert. |
|
event1.idm.read_only_udm.network.ip_protocol | Der Wert wird auf TCP gesetzt, wenn das Feld input.type tcp ist. |
|
event1.idm.read_only_udm.observer.application | Der Wert wird aus dem Feld agent.type übernommen, falls vorhanden. Andernfalls ist er fest auf Secret Server codiert. |
|
event1.idm.read_only_udm.observer.asset_id | Der Wert wird auf Agent ID: , verkettet mit dem Feld agent.id , festgelegt. |
|
event1.idm.read_only_udm.observer.hostname | Der Wert wird aus dem Feld agent.hostname übernommen, falls vorhanden, andernfalls aus dem Feld server . |
|
event1.idm.read_only_udm.observer.platform_version | Der Wert wird aus dem Feld agent.version übernommen. |
|
event1.idm.read_only_udm.observer.user.userid | Der Wert wird aus dem Feld agent.name übernommen. |
|
event1.idm.read_only_udm.principal.asset.asset_id | Der Wert wird auf ID: , verkettet mit dem Feld host.id , festgelegt. |
|
event1.idm.read_only_udm.principal.asset.hardware.cpu_platform | Der Wert wird aus dem Feld host.architecture übernommen. |
|
event1.idm.read_only_udm.principal.asset.hostname | Der Wert wird aus dem Feld server übernommen, falls vorhanden, andernfalls aus dem Feld host.hostname . |
|
event1.idm.read_only_udm.principal.asset.ip | Der Wert wird aus dem Feld src übernommen, falls vorhanden, andernfalls aus dem Feld src_ip . |
|
event1.idm.read_only_udm.principal.hostname | Der Wert wird aus dem Feld host.hostname übernommen, falls vorhanden, andernfalls aus dem Feld server . |
|
event1.idm.read_only_udm.principal.ip | Der Wert wird, falls vorhanden, aus dem Feld src übernommen, andernfalls aus dem Feld src_ip oder aus dem Feld host.ip . |
|
event1.idm.read_only_udm.principal.mac | Der Wert wird aus dem Feld host.mac übernommen. |
|
event1.idm.read_only_udm.principal.platform | Der Wert wird auf LINUX gesetzt, wenn das Feld host_os_platform den Wert centos hat. Andernfalls wird der Wert auf den Großbuchstabenwert des Felds host_os_platform gesetzt. |
|
event1.idm.read_only_udm.principal.platform_patch_level | Der Wert wird aus dem Feld host.os.kernel übernommen. |
|
event1.idm.read_only_udm.principal.platform_version | Der Wert wird aus dem Feld host.os.version übernommen. |
|
event1.idm.read_only_udm.principal.port | Der Wert wird aus dem Feld src_port übernommen, das mit einem Grok-Muster aus dem Feld log.source.address extrahiert wird. |
|
event1.idm.read_only_udm.principal.user.user_display_name | Der Wert wird aus dem Feld cs4 im Feld msg des Rohlogs übernommen. |
|
event1.idm.read_only_udm.principal.user.userid | Der Wert wird aus dem Feld suser im Feld msg des Rohlogs oder aus dem Feld By User übernommen, wenn thycotic_event USER - LOGIN , USER - LOGOUT , USER - LOGINFAILURE oder USER - EDIT ist. |
|
event1.idm.read_only_udm.security_result.action | Der Wert wird aus dem Feld Action im Feld msg des Rohlogs übernommen. Er kann auch auf ALLOW oder BLOCK gesetzt werden, je nach Wert von thycotic_event . |
|
event1.idm.read_only_udm.security_result.description | Der Wert wird aus dem Feld temp_message übernommen, das den verbleibenden Teil des Felds msg nach dem Extrahieren anderer Felder enthält. |
|
event1.idm.read_only_udm.security_result.severity | Der Wert wird anhand des Felds syslog_severity bestimmt. Wenn syslog_severity beispielsweise error oder warning enthält, wird die Schwere auf HIGH festgelegt. Wenn thycotic_event System Log ist, wird die Schwere auf INFORMATIONAL festgelegt. |
|
event1.idm.read_only_udm.security_result.severity_details | Der Wert wird aus dem Feld syslog_severity übernommen. |
|
event1.idm.read_only_udm.target.file.full_path | Der Wert wird durch Verketten der Felder cs3 und fname mit dem Trennzeichen / erstellt, sofern beide Felder vorhanden sind. Wenn nur ein Feld vorhanden ist, wird der Wert aus diesem Feld übernommen. |
|
event1.idm.read_only_udm.target.resource.product_object_id | Der Wert wird aus dem Feld type_id übernommen. |
|
event1.idm.read_only_udm.target.user.userid | Der Wert wird aus dem Feld item_name im Feld msg des Rohlogs oder aus dem Feld Item Name übernommen, wenn thycotic_event USER - LOGIN , USER - LOGOUT , USER - LOGINFAILURE oder USER - EDIT ist. |
|
events.timestamp.seconds | Der Wert wird aus dem Feld rt abgeleitet, falls vorhanden, andernfalls aus dem Feld ts . Beide Felder werden mithilfe von Grok-Mustern aus dem Rohlog extrahiert. |
|
rt | event1.idm.read_only_udm.metadata.event_timestamp.seconds | Der Wert wird aus dem Feld rt im Feld msg des Rohlogs übernommen und zum Festlegen des Event-Zeitstempels verwendet. |
src | event1.idm.read_only_udm.principal.asset.ip, event1.idm.read_only_udm.principal.ip | Der Wert wird aus dem Feld src im Feld msg des Rohlogs übernommen. |
src_ip | event1.idm.read_only_udm.principal.asset.ip, event1.idm.read_only_udm.principal.ip | Der Wert wird aus dem Feld src_ip übernommen, das mit einem Grok-Muster aus dem Feld log.source.address extrahiert wird. |
Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten