Delinea Secret Server-Logs erfassen

Unterstützt in:

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

  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 Security Operations-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 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).
  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: '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

  1. Melden Sie sich mit Administratoranmeldedaten in Thycotic Secret Server an.
  2. Klicken Sie auf Verwaltung > Konfiguration.
  3. Klicken Sie auf Bearbeiten.
  4. 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.
  5. 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