Delinea Secret Server-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Delinea (ehemals Thycotic) Secret Server-Logs erfassen. Der Parser wandelt Rohprotokolle in ein strukturiertes Format um, das dem UDM von Google Security Operations entspricht. Zuerst werden Schlüsselfelder wie Zeitstempel, Ereignistypen und Nutzerinformationen extrahiert. Anschließend wird anhand von bedingter Logik basierend auf dem jeweiligen Ereignistyp eine Zuordnung der Daten zu den entsprechenden UDM-Feldern vorgenommen. Schließlich werden die Daten für die Analyse in Google SecOps angereichert.

Hinweise

  • Prüfen Sie, ob Sie eine Google Security Operations-Instanz haben.
  • Achten Sie darauf, dass Sie Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn Sie einen Proxy verwenden, müssen die Firewallports geöffnet sein.
  • Prüfen Sie, ob Sie privilegierten Zugriff auf Delinea haben.

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 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 > „Profil“ auf.
  3. Kopieren und speichern Sie die Kunden-ID aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

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

Bindplane-Agent so konfigurieren, dass Syslog-Daten aufgenommen und an Google SecOps gesendet werden

  1. Greifen Sie auf die Konfigurationsdatei zu:

    • 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 with your specific IP and port
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        compression: gzip
        # Path to the ingestion authentication file
        creds: '/path/to/your/ingestion-auth.json'
        # Your Chronicle customer ID
        customer_id: 'your_customer_id'
        endpoint: malachiteingestion-pa.googleapis.com
        ingestion_labels:
          log_type: SYSLOG
          namespace: thycotic
          raw_log_field: body
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - udplog
          exporters:
            - chronicle/chronicle_w_labels
    
  3. Ersetzen Sie den Port und die IP-Adresse nach Bedarf in Ihrer Infrastruktur.

  4. Ersetzen Sie <customer_id> durch die tatsächliche Kunden-ID.

  5. 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
    

Delinea Secret Server für das Senden von Logs über Syslog konfigurieren

  1. Melden Sie sich mit Administratoranmeldedaten in Delinea 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 Ihrer Bindplane-Instanz ein.
    • Syslog-/CEF-Protokoll: Wählen Sie UDP oder TCP aus (je nach Bindplane-Konfiguration).
    • Syslog-/CEF-Port: Geben Sie die Portnummer ein, auf der Bindplane zum Empfangen von Daten konfiguriert ist.
  5. Klicken Sie auf Speichern.

UDM-Zuordnung

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 hat das Präfix „container_id:“.
Containername event1.idm.read_only_udm.principal.resource.name Der Wert stammt aus dem Feld „Containername“ im Feld „msg“ des Rohlogs.
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“ (Artikelname) im Feld „msg“ des Rohlogs übernommen.
event1.idm.read_only_udm.additional.fields[].key Der Wert ist fest auf „fname“ codiert.
event1.idm.read_only_udm.additional.fields[].key Der Wert ist fest auf „Gruppe oder Nutzer“ codiert.
event1.idm.read_only_udm.additional.fields[].key Der Wert ist fest auf „Details“ codiert.
event1.idm.read_only_udm.additional.fields[].key Der Wert ist als „type_id“ hartcodiert.
event1.idm.read_only_udm.extensions.auth.type Der Wert ist fest auf „MACHINE“ codiert.
event1.idm.read_only_udm.metadata.description Der Wert wird aus dem Feld „thycotic_event“ übernommen, 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 fest auf „THYCOTIC“ codiert.
event1.idm.read_only_udm.metadata.product_event_type Der Wert wird aus dem Feld „thycotic_event“ übernommen, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird.
event1.idm.read_only_udm.metadata.product_log_id Der Wert stammt aus dem Feld „action_id“, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird.
event1.idm.read_only_udm.metadata.product_name Der Wert stammt aus dem Feld „device_product“, 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 stammt aus dem Feld „device_version“, das mithilfe eines Grok-Musters aus dem Rohlog extrahiert wird.
event1.idm.read_only_udm.metadata.vendor_name Der Wert ist fest auf „Thycotic“ codiert.
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:“ gefolgt vom Feld „agent.id“ festgelegt.
event1.idm.read_only_udm.observer.hostname Der Wert wird, falls vorhanden, aus dem Feld „agent.hostname“ und ansonsten aus dem Feld „server“ übernommen.
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 stammt aus dem Feld „agent.name“.
event1.idm.read_only_udm.principal.asset.asset_id Der Wert wird auf „ID:“ in Kombination 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, falls vorhanden, aus dem Feld „server“ und ansonsten aus dem Feld „host.hostname“ übernommen.
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, sofern vorhanden, andernfalls aus dem Feld „server“.
event1.idm.read_only_udm.principal.ip Der Wert wird aus dem Feld „src“ übernommen, falls vorhanden, 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 er auf den Wert des Felds „host_os_platform“ in Großbuchstaben gesetzt.
event1.idm.read_only_udm.principal.platform_patch_level Der Wert stammt aus dem Feld „host.os.kernel“.
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“ (Nach Nutzer) übernommen, wenn „thycotic_event“ „USER – LOGIN“, „USER – LOGOUT“, „USER – LOGINFAILURE“ oder „USER – EDIT“ ist.
event1.idm.read_only_udm.security_result.action Der Wert stammt aus dem Feld „Action“ im Feld „msg“ des Rohlogs. Je nach Wert von „thycotic_event“ kann sie auch auf „ALLOW“ oder „BLOCK“ 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 der Schweregrad 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 einem „/“-Trennzeichen erstellt, wenn 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 stammt aus dem Feld „type_id“.
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“ abgerufen, 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 Ereigniszeitstempels 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