Delinea Secret Server-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Delinea Secret Server-Logs mit dem Bindplane-Agent in Google Security Operations aufnehmen.

Delinea Secret Server (früher Thycotic) ist eine PAM-Lösung (Privileged Access Management), die Syslog-Meldungen im CEF-Format für den Zugriff auf Secrets, die Nutzerauthentifizierung und Audit-Ereignisse generiert. Der Parser extrahiert Felder und ordnet sie dem Unified Data Model (UDM) zu.

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 dem Delinea Secret Server
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Administratoranmeldedaten für Delinea Secret Server

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Collection Agents auf.
  3. Laden Sie die Authentifizierungsdatei für die Aufnahme herunter.
  4. Speichern Sie die Datei sicher auf dem System, auf dem der BindPlane-Agent installiert wird.

Google SecOps-Kundennummer abrufen

  1. Melden Sie sich in der Google SecOps-Konsole an.
  2. Rufen Sie die SIEM-Einstellungen > Profile 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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sc query observiq-otel-collector
    

    Der Dienst sollte als RUNNING (Wird ausgeführt) angezeigt werden.

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
    
  3. Warten Sie, bis die Installation abgeschlossen ist.

  4. Überprüfen Sie die Installation mit folgendem Befehl:

    sudo systemctl status observiq-otel-collector
    

    Der Dienst sollte als aktiv (wird ausgeführt) angezeigt werden.

Zusätzliche Installationsressourcen

Weitere Installationsoptionen und Informationen zur Fehlerbehebung finden Sie in der Installationsanleitung für den Bindplane-Agent.

BindPlane-Agent zum Erfassen von Syslog-Daten und Senden an Google SecOps konfigurieren

Konfigurationsdatei suchen

  • Linux:

    sudo nano /etc/bindplane-agent/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

Konfigurationsdatei bearbeiten

  • Ersetzen Sie den gesamten Inhalt von config.yaml durch die folgende Konfiguration:

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/delinea_secret_server:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: THYCOTIC
            raw_log_field: body
    
    service:
        pipelines:
            logs/delinea_secret_server_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/delinea_secret_server
    

Konfigurationsparameter

Ersetzen Sie die folgenden Platzhalter:

  • Empfängerkonfiguration:

    • listen_address: IP-Adresse und Port, auf die gewartet werden soll:
      • 0.0.0.0, um alle Schnittstellen zu überwachen (empfohlen)
      • Port 514 ist der Standard-Syslog-Port (erfordert Root unter Linux; verwenden Sie 1514 für Nicht-Root).
  • Exporter-Konfiguration:

    • creds_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
    • customer_id: Kunden-ID, die aus der Google SecOps Console kopiert wurde
    • endpoint: 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.

Konfigurationsdatei speichern

  • Speichern Sie die Datei nach der Bearbeitung:
    • Linux: Drücken Sie Ctrl+O, dann Enter und dann Ctrl+X.
    • Windows: Klicken Sie auf Datei > Speichern.

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-collector
    
    1. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    2. Logs auf Fehler prüfen:

      sudo journalctl -u observiq-otel-collector -f
      
  • Wählen Sie eine der folgenden Optionen aus, um den Bindplane-Agent unter Windows neu zu starten:

    • Eingabeaufforderung oder PowerShell als Administrator:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • Services-Konsole:

      1. Drücken Sie Win+R, geben Sie services.msc ein und drücken Sie die Eingabetaste.
      2. Suchen Sie nach observIQ OpenTelemetry Collector.
      3. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
      4. Prüfen Sie, ob der Dienst ausgeführt wird:

        sc query observiq-otel-collector
        
      5. Logs auf Fehler prüfen:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

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 Bindplane-Konfiguration).
    • Syslog-/CEF-Port: Geben Sie die Portnummer ein, die der Syslog-Server oder Bindplane überwachen soll.
  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 basierend auf dem Wert von thycotic_event festgelegt werden.
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