Delinea Distributed Engine-Logs erfassen

Unterstützt in:

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

Die Delinea Distributed Engine bietet eine sichere Verbindung zwischen der Delinea-Cloudplattform und lokalen Ressourcen. Die Engine generiert Syslog-Nachrichten im CEF-Format für Erkennungs-, Synchronisierungs- und Betriebsereignisse. 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 der Delinea Distributed Engine
  • Wenn Sie den Agent hinter einem Proxy ausführen, müssen die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sein.
  • Privilegierter Zugriff auf die Delinea-Portal-Web-UI

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:
        tcplog:
            listen_address: "0.0.0.0:5145"
    
    exporters:
        chronicle/delinea_distributed_engine:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: DELINEA_DISTRIBUTED_ENGINE
            raw_log_field: body
    
    service:
        pipelines:
            logs/delinea_distributed_engine_to_chronicle:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/delinea_distributed_engine
    

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 5145 ist der konfigurierte Syslog-Port (bei Bedarf anpassen)
  • 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"
        

Delinea-Syslog konfigurieren

  1. Melden Sie sich in der Delinea-Portal-Web-UI an.
  2. Klicken Sie auf Admin > Anwendung.
  3. Klicken Sie auf Bearbeiten.
  4. Klicken Sie das Kästchen Enable Syslog/CEF Log Output (Syslog-/CEF-Protokollausgabe aktivieren) an. Ein Syslog-Abschnitt wird angezeigt.
  5. Geben Sie die IP-Adresse des Bindplane-Agents ein.
  6. Geben Sie die Portnummer des Bindplane-Agents ein.
  7. Klicken Sie auf das Menü Protokoll und wählen Sie TCP aus.
  8. Klicken Sie, um je nach Bedarf Zeitzonenliste für UTC-Zeit oder Serverzeit auszuwählen.
  9. Klicken Sie auf das Menü Website, um die zugehörige Website auszuwählen, auf der Syslog/CEF ausgeführt werden soll.
  10. Optional: Wählen Sie Syslogs als Windows-Ereignisse schreiben aus, um Audits und Ereignisabos in das Windows-Ereignisprotokoll zu schreiben.
  11. Klicken Sie auf Speichern.

Logebene für verteilte Engines konfigurieren

  1. Melden Sie sich in der Delinea-Portal-Web-UI an.
  2. Klicken Sie auf Verwaltung > Distributed Engine.
  3. Klicken Sie über der entsprechenden Engine auf das Dreipunkt-Menü und wählen Sie Einstellungen anzeigen aus.
  4. Wählen Sie das Menü Log-Ebene und dann Info aus.
  5. Klicken Sie auf OK.

Unterstützte Delinea Distributed Engine-Beispiellogs

  • SYSLOG (proprietäres Delinea-Format)

    2024-09-26 21:14:27,369 [CID:] [C:] [TID:PriorityScheduler Elastic Thread @ Normal] INFO Thycotic.DE.Feature.SS.LocalAccountDiscovery.Areas.Discovery.LocalAccountConsumer - server-dummy-01: Send Local Account Results Count: 0 - (null)
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
ACTION security_result.action Wenn ACTION_CODE „1“ ist, legen Sie „ALLOW“ fest. Andernfalls, wenn ACTION_CODE nicht leer ist, auf „BLOCK“ setzen. Andernfalls wird der Standardwert „UNKNOWN_ACTION“ aus dem Parser verwendet.
ACTION_CODE security_result.action Wird in der Logik verwendet, um security_result.action zu bestimmen.
APP_NAME network.http.user_agent Direkt zugeordnet.
BYTES_RECVD network.received_bytes Direkt zugeordnet, in eine vorzeichenlose Ganzzahl konvertiert.
BYTES_SENT network.sent_bytes Direkt zugeordnet, in eine vorzeichenlose Ganzzahl konvertiert.
CLOUDGENIX_HOST principal.hostname Direkt zugeordnet, wenn das Feld NAME leer ist. Wird als Zwischenhostname verwendet, wenn NAME vorhanden ist.
CODE metadata.product_event_type Mit FACILITY verkettet, um metadata.product_event_type zu bilden. Wird auch verwendet, um metadata.event_type zu bestimmen (wenn CODE beispielsweise „DOWN“ enthält, wird metadata.event_type auf „STATUS_SHUTDOWN“ festgelegt).
DESTINATION_ZONE_NAME about.labels Direkt als Label mit dem Schlüssel „DESTINATION_ZONE_NAME“ zugeordnet.
DEVICE_TIME metadata.event_timestamp Wird direkt zugeordnet, nachdem es als Datum geparst wurde.
DST_INTERFACE target.hostname Direkt zugeordnet.
DST_IP target.ip Direkt zugeordnet.
DST_PORT target.port Direkt zugeordnet, in eine Ganzzahl konvertiert.
ELEMENT_ID about.labels Direkt als Label mit dem Schlüssel „ELEMENT_ID“ zugeordnet.
EVENT_TIME metadata.event_timestamp Wird direkt zugeordnet, nachdem es als Datum geparst wurde.
FACILITY metadata.product_event_type Mit CODE verkettet, um metadata.product_event_type zu bilden.
FLOW_EVENT security_result.summary Wird als Teil des security_result.summary-Strings verwendet.
IDENTIFIER about.labels Direkt als Label mit dem Schlüssel „IDENTIFIER“ zugeordnet.
ION_HOST principal.hostname Direkt zugeordnet, wenn die Felder CLOUDGENIX_HOST und NAME leer sind.
MSG metadata.description Direkt zugeordnet. Wird auch für den Abgleich mit regulären Ausdrücken verwendet, um metadata.event_type zu ermitteln und target.ip zu extrahieren.
NAME principal.hostname Direkt zugeordnet. Falls vorhanden, wird CLOUDGENIX_HOST zum intermediary.hostname.
PROCESS_NAME principal.process.file.full_path Direkt zugeordnet.
PROTOCOL_NAME network.ip_protocol Direkt zugeordnet, in Großbuchstaben konvertiert.
REMOTE_HOSTNAME target.hostname Direkt zugeordnet.
REMOTE_IP target.ip Direkt zugeordnet.
RULE_NAME security_result.rule_name Direkt zugeordnet.
SEVERITY security_result.severity, security_result.severity_details Zugeordnet zu security_result.severity_details. Wird auch verwendet, um security_result.severity zu bestimmen (z.B. wenn SEVERITY „minor“ ist, wird security_result.severity auf „LOW“ festgelegt).
SOURCE_ZONE_NAME about.labels Direkt als Label mit dem Schlüssel „SOURCE_ZONE_NAME“ zugeordnet.
SRC_INTERFACE principal.hostname Direkt zugeordnet.
SRC_IP principal.ip Direkt zugeordnet.
SRC_PORT principal.port Direkt zugeordnet, in eine Ganzzahl konvertiert.
VPN_LINK_ID target.resource.id Direkt zugeordnet.
(Parser-Logik) is_alert Wird auf „true“ gesetzt, wenn log_type „alert“ oder „alarm“ ist.
(Parser-Logik) is_significant Wird auf „true“ gesetzt, wenn log_type „alert“ oder „alarm“ ist.
(Parser-Logik) metadata.event_type Wird durch eine Reihe von bedingten Anweisungen basierend auf den Werten von CODE, MSG, src_ip und dest_ip bestimmt. Der Standardwert ist „GENERIC_EVENT“.
(Parser-Logik) metadata.log_type Auf „CLOUDGENIX_SDWAN“ festgelegt.
(Parser-Logik) metadata.product_event_type Die Standardeinstellung ist die Verkettung von CODE und FACILITY. Für Flusslogs auf „cgxFlowLogV1“ festlegen.
(Parser-Logik) metadata.product_name Legen Sie diesen Wert auf „CloudGenix SD-WAN“ fest.
(Parser-Logik) metadata.vendor_name Legen Sie diesen Wert auf „Palo Alto Networks“ fest.
(Parser-Logik) principal.process.pid Wird auf den Wert von pid aus dem Rohlog für Flow-Logs festgelegt.
(Parser-Logik) security_result.action Der Standardwert ist „UNKNOWN_ACTION“.
(Parser-Logik) security_result.severity Der Standardwert ist „UNKNOWN_SEVERITY“. Wird basierend auf dem Wert von SEVERITY festgelegt. Für Flusslogs auf „INFORMATIONAL“ festlegen.
(Parser-Logik) security_result.summary Wird basierend auf dem Wert von CODE für Syslog-Nachrichten festgelegt. Wird für Flow-Logs auf einen beschreibenden String gesetzt, der FLOW_EVENT, SRC_IP und DST_IP enthält.

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