Delinea Secret Server-Logs erfassen

Unterstützt in:

In diesem Dokument wird beschrieben, wie Sie Secret Server-Logs von Delinea (früher Thycotic) erfassen. Der Parser wandelt Rohprotokolle in ein strukturiertes Format um, das dem UDM von Google Security Operations entspricht. Zuerst werden wichtige Felder wie Zeitstempel, Ereignistypen und Nutzerinformationen extrahiert. Anschließend werden die Daten anhand der spezifischen Ereignistypen mithilfe bedingter Logik den entsprechenden UDM-Feldern zugeordnet. Schließlich werden die Daten für die Analyse in Google SecOps angereichert.

Hinweise

  • Sie benötigen eine Google Security Operations-Instanz.
  • Sie müssen Windows 2016 oder höher oder einen Linux-Host mit systemd verwenden.
  • Wenn die Ausführung hinter einem Proxy erfolgt, müssen die Firewallports geöffnet sein.
  • Sie benötigen Berechtigungen für Delinea.

Authentifizierungsdatei für die Aufnahme in Google SecOps abrufen

  1. Melden Sie sich in der Google SecOps Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Erfassungsagenten.
  3. Lade die Datei für die Datenaufnahmeauthentifizierung 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 Console an.
  2. Gehen Sie zu SIEM-Einstellungen > Profil.
  3. Kopieren und speichern Sie die Kundennummer aus dem Bereich Organisationsdetails.

BindPlane-Agent installieren

Windows-Installation

  1. Öffnen Sie die Eingabeaufforderung oder die 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
    

Weitere Installationsressourcen

Bindplane-Agent so konfigurieren, dass er Syslog-Dateien aufnimmt und an Google SecOps sendet

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

  5. Aktualisieren Sie /path/to/ingestion-authentication-file.json im Abschnitt Authentifizierungsdatei für die Datenaufnahme von Google SecOps abrufen auf den Pfad, unter dem die Authentifizierungsdatei gespeichert wurde.

Bindplane-Agent neu starten, um die Änderungen anzuwenden

  • Führen Sie den folgenden Befehl aus, um den Bindplane-Agenten unter Linux neu zu starten:

    sudo systemctl restart bindplane-agent
    
  • Sie können den Bindplane-Agenten unter Windows entweder über die Dienste-Konsole oder mit dem folgenden Befehl neu starten:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

Delinea Secret Server für das Senden von Protokollen ü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-Protokollierung aktivieren an und geben Sie die folgenden Details an:
    • Syslog/CEF-Server: Geben Sie die IP-Adresse Ihrer Bindplane ein.
    • Syslog/CEF-Protokoll: Wählen Sie je nach Bindplane-Konfiguration UDP oder TCP aus.
    • Syslog/CEF-Port: Geben Sie die Portnummer ein, auf die das Bindplane zugreifen soll.
  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 „Nach Nutzer“ 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:“ vorangestellt.
Containername event1.idm.read_only_udm.principal.resource.name Der Wert wird aus dem Feld „Containername“ 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 „Artikelname“ im Feld „msg“ des Rohlogs übernommen.
event1.idm.read_only_udm.additional.fields[].key Der Wert ist auf „vorname“ hartcodiert.
event1.idm.read_only_udm.additional.fields[].key Der Wert ist auf „Gruppe oder Nutzer“ 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 stammt aus dem Feld „thycotic_event“, das mit einem Grok-Muster aus dem Rohprotokoll 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 Rohprotokoll 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 stammt aus dem Feld „thycotic_event“, das mit einem Grok-Muster aus dem Rohprotokoll extrahiert wird.
event1.idm.read_only_udm.metadata.product_log_id Der Wert wird aus dem Feld „action_id“ übernommen, das mit einem Grok-Muster aus dem Rohprotokoll extrahiert wird.
event1.idm.read_only_udm.metadata.product_name Der Wert wird aus dem Feld „device_product“ übernommen, das mit einem Grok-Muster aus dem Rohprotokoll extrahiert wird. Wenn das Feld leer ist, wird der Wert „Secret Server“ hartcodiert.
event1.idm.read_only_udm.metadata.product_version Der Wert wird aus dem Feld „device_version“ übernommen, das mit einem Grok-Muster aus dem Rohprotokoll 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“ den Wert „tcp“ hat.
event1.idm.read_only_udm.observer.application Der Wert wird aus dem Feld „agent.type“ übernommen, falls vorhanden. Andernfalls ist „Secret Server“ hartcodiert.
event1.idm.read_only_udm.observer.asset_id Der Wert wird auf „Kundenservicemitarbeiter-ID:“ festgelegt, gefolgt vom Feld „agent.id“.
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:“ festgelegt, gefolgt vom Feld „host.id“.
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“, falls vorhanden, andernfalls aus dem Feld „src_ip“ übernommen.
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 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 der 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 „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 wird aus dem Feld „Action“ im Feld „msg“ des Rohlogs übernommen. Sie kann auch auf „ALLOW“ oder „BLOCK“ festgelegt 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 der Schweregrad auf „HIGH“ festgelegt. Wenn „thycotic_event“ „System Log“ ist, wird die Wichtigkeit 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 Zusammenführen 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 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 „Artikelname“ ü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 Rohprotokoll 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.

Änderungen

2024-06-04

  • Verbessertes Parsen nicht geparster Protokolle.
  • Die Felder „Host“ und „Server“ wurden auf UDM-Felder für den Hostnamen umgestellt.
  • „Container_Id“ und „Container_name“ wurden UDM-Feldern zugewiesen, die sich auf Asset- und Ressourcennamen beziehen.

2023-09-22

  • Die Parsinglogik wurde angepasst, um nicht geparste Protokolle besser zu verarbeiten.
  • Fehlerbehandlung für die Felder „rt“ und „ts“ hinzugefügt.

2023-06-12

  • Die Parselogik wurde aktualisiert, um ein neues Protokollformat zu unterstützen.
  • Die Felder „fname“, „cs2“ und „details“ wurden auf UDM-Felder für zusätzliche Informationen und eine Zusammenfassung der Sicherheitsergebnisse zugeordnet.

2022-08-01

  • Unterstützung für das Parsen von Protokollen im JSON-Format hinzugefügt.
  • Wir haben zahlreiche Felder aus den JSON-Protokollen den entsprechenden UDM-Feldern zugeordnet, einschließlich Feldern zu Geräte- und Kundenservicemitarbeiterinformationen, IP-Adressen, Hostdetails, Plattforminformationen und Sicherheitsstufe.
  • Das Parsen von Protokollen vom Typ „SECRET – SECRETPASSWORDCHANGEFAILURE“ wurde hinzugefügt.

Benötigen Sie weitere Hilfe? Antworten von Community-Mitgliedern und Google SecOps-Experten erhalten