CyberArk-Logs erfassen

Unterstützt in:

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

CyberArk Privileged Access Manager (PAM) ist eine Sicherheitslösung für den privilegierten Zugriff auf Unternehmensniveau, mit der privilegierte Konten und Anmeldedaten in On-Premise- und Cloud-Umgebungen geschützt, verwaltet und überwacht werden. Sie bietet die Speicherung von Anmeldedaten, die Isolierung und Überwachung von Sitzungen, die Erkennung von Bedrohungen durch Privileged Threat Analytics (PTA) und eine umfassende Audit-Protokollierung aller privilegierten Aktivitäten.

Hinweise

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 CyberArk Vault-Server
  • Wenn Sie den Agent hinter einem Proxy ausführen, achten Sie darauf, dass die Firewallports gemäß den Anforderungen des Bindplane-Agents geöffnet sind.
  • Administratorzugriff auf den CyberArk Vault Server (Zugriff auf den Installationsordner Server\Conf)
  • CyberArk Vault-Version 10.0 oder höher

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. 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 Dienststatus sollte RUNNING lauten.

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 Dienststatus sollte active (running) lauten.

Zusätzliche Installationsressourcen

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

BindPlane-Agent so konfigurieren, dass Syslog aufgenommen und an Google SecOps gesendet wird

Konfigurationsdatei suchen

  • Linux:

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

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

Konfigurationsdatei bearbeiten

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

    receivers:
        udplog:
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/cyberark:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: 'your-customer-id'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: CYBERARK
            raw_log_field: body
    
    service:
        pipelines:
            logs/cyberark_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/cyberark
    
  2. Ersetzen Sie die folgenden Platzhalter:

    • Empfängerkonfiguration:

      • listen_address: IP-Adresse und Port, auf dem gelauscht werden soll:

        • 0.0.0.0:514, um alle Schnittstellen auf Port 514 zu überwachen (erfordert Root unter Linux)
        • 0.0.0.0:1514, um einen nicht privilegierten Port zu überwachen (empfohlen für Linux ohne Root-Zugriff)
      • Optionen für Empfängertyp:

        • udplog für UDP-Syslog (Standard für CyberArk Vault)
        • tcplog für TCP-Syslog
        • tcplog verwenden, wenn CyberArk Vault mit SyslogServerProtocol=TCP konfiguriert ist
    • Exporter-Konfiguration:

      • creds_file_path: Vollständiger Pfad zur Authentifizierungsdatei für die Google SecOps-Aufnahme:

        • Linux: /etc/bindplane-agent/ingestion-auth.json
        • Windows: C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
      • customer_id: Google SecOps-Kundennummer

      • 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

  • So starten Sie den Bindplane-Agent unter Linux neu:

    1. Führen Sie dazu diesen Befehl aus:

      sudo systemctl restart observiq-otel-collector
      
    2. Prüfen Sie, ob der Dienst ausgeführt wird:

      sudo systemctl status observiq-otel-collector
      
    3. Prüfen Sie die Logs auf Fehler:

      sudo journalctl -u observiq-otel-collector -f
      
  • So starten Sie den Bindplane-Agent unter Windows neu:

    1. Wählen Sie eine der folgenden Optionen aus:

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

      sc query observiq-otel-collector
      
    3. Prüfen Sie die Logs auf Fehler:

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

Syslog-Weiterleitung für CyberArk konfigurieren

CyberArk Vault sendet Auditereignisse im CEF-Format (Common Event Format) über Syslog. Der Vault-Server konvertiert XML-Prüfprotokolle mithilfe einer XSL-Übersetzerdatei in CEF-Nachrichten und leitet sie dann an den Bindplane-Agent weiter.

Vault-Server für das Senden von Syslog konfigurieren

  1. Melden Sie sich mit Administratorberechtigungen auf dem Hostcomputer des CyberArk Vault-Servers an.
  2. Rufen Sie den Installationsordner des CyberArk Vault-Servers auf, z. B. `C:\Programme (x86)\PrivateArk\Server\Conf`.
  3. Öffnen Sie die Datei DBParm.ini in einem Texteditor.
  4. Kopieren Sie den Abschnitt [SYSLOG] aus der Datei DBParm.sample.ini (im selben Ordner) und fügen Sie ihn unten in DBParm.ini ein.
  5. Konfigurieren Sie im Abschnitt [SYSLOG] die folgenden Syslog-Parameter:

    [SYSLOG]
    SyslogServerIP=<BINDPLANE_AGENT_IP>
    SyslogServerPort=514
    SyslogServerProtocol=UDP
    UseLegacySyslogFormat=No
    SyslogTranslatorFile=Syslog\Arcsight.sample.xsl
    SyslogMessageCodeFilter=0-999
    
  6. Ersetzen Sie die folgenden Werte:

    • SyslogServerIP: Geben Sie die IP-Adresse des Bindplane-Agent-Hosts ein (z. B. 192.168.1.100).
    • SyslogServerPort: Geben Sie den Port ein, der dem Bindplane-Agenten listen_address entspricht (z. B. 514).
    • SyslogServerProtocol: Wählen Sie das Protokoll aus:

      • UDP für UDP-Syslog (Standard)
      • TCP für TCP-Syslog
    • SyslogTranslatorFile: Geben Sie die XSL-Übersetzerdatei für das CEF-Format ein:

      • Syslog\Arcsight.sample.xsl für die Standard-CEF-Ausgabe (empfohlen)
    • SyslogMessageCodeFilter: Geben Sie die weiterzuleitenden Nachrichtencodes ein:

      • 0-999, um alle Termine weiterzuleiten
      • Geben Sie einzelne Codes oder Bereiche an (z. B. 1,2,3,5-10,30), um bestimmte Ereignisse zu filtern.
    • UseLegacySyslogFormat: Auf No für das RFC 5424-Format festlegen.

  7. Speichern Sie die Datei DBParm.ini.

  8. Starten Sie den Dienst PrivateArk Server neu:

    1. Öffnen Sie Windows-Dienste (services.msc).
    2. Suchen Sie den Dienst CyberArk Vault Disaster Recovery und beenden Sie ihn (falls er ausgeführt wird).
    3. Suchen Sie den Dienst PrivateArk Server.
    4. Klicken Sie mit der rechten Maustaste und wählen Sie Neu starten aus.
    5. Starten Sie den Dienst CyberArk Vault Disaster Recovery wieder (falls zutreffend).

Syslog an mehrere Ziele weiterleiten

  • Wenn Sie Vault-Syslog-Ereignisse sowohl an den Bindplane-Agent als auch an andere Ziele (z. B. PTA) weiterleiten möchten, geben Sie mehrere IP-Adressen und Übersetzerdateien an, die durch Kommas getrennt sind:

    SyslogServerIP=<BINDPLANE_AGENT_IP>,<PTA_SERVER_IP>
    SyslogTranslatorFile=Syslog\Arcsight.sample.xsl,Syslog\PTA.xsl
    

Syslog-Weiterleitung für Privileged Threat Analytics (PTA) konfigurieren (optional)

Wenn Sie auch PTA-Sicherheitswarnungen an Google SecOps weiterleiten möchten, konfigurieren Sie die PTA-SIEM-Integration:

  1. Melden Sie sich in der PVWA-Konsole (Password Vault Web Access) an.
  2. Gehen Sie zu Administration > Configuration Options > Privileged Threat Analytics.
  3. Konfigurieren Sie im Abschnitt SIEM Folgendes:
    • Syslog Server IP: Geben Sie die IP-Adresse des Bindplane-Agent-Hosts ein.
    • Syslog-Serverport: Geben Sie den Port ein, der der Bindplane-Agent-Konfiguration entspricht (z. B. 514).
    • Protokoll: Wählen Sie UDP oder TCP aus, damit es mit dem Bindplane-Agent-Empfänger übereinstimmt.
    • Format: Wählen Sie CEF aus.
  4. Klicken Sie auf Speichern.

Verfügbare XSL-Übersetzerdateien

  • Der Unterordner Syslog im Installationsordner des CyberArk-Servers enthält Beispiel-XSL-Übersetzerdateien:

    Übersetzerdatei Format Beschreibung
    Arcsight.sample.xsl CEF Standard-CEF-Format (für Google SecOps empfohlen)
    SplunkCIM.xsl CIM Splunk Common Information Model-Format
    PTA.xsl Benutzerdefiniert Format für die Weiterleitung an CyberArk PTA
    XSIAM.xsl CEF Palo Alto Cortex XSIAM-Format

Syslog-Weiterleitung bestätigen

  1. Führen Sie nach dem Neustart des PrivateArk Server-Diensts eine Testaktion im Vault aus, z. B. ein Passwort abrufen oder sich bei PVWA anmelden.
  2. Prüfen Sie die BindPlane-Agentenlogs auf eingehende Syslog-Nachrichten:
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. Prüfen Sie, ob Nachrichten im CEF-Format in den Logs angezeigt werden, z. B.:

    CEF:0|Cyber-Ark|Vault|10.0|22|CPM password retrieved|5|suser=Administrator src=10.0.0.1 fname=Root\operating system-server1-admin
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
RequestId_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
Category_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
ExtraDetails_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
CAPolicy_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
line_number_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
pasvc_action_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
control_socket_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
data_socket_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
timeout_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
vault_name_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
class_name_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
status_label additional.fields Als Schlüssel/Wert-Paar zugeordnet
Publisher_Event additional.fields Als Schlüssel/Wert-Paar zugeordnet
Last_Event additional.fields Als Schlüssel/Wert-Paar zugeordnet
Total_Events additional.fields Als Schlüssel/Wert-Paar zugeordnet
cs1_var additional.fields Als Schlüssel/Wert-Paar zugeordnet
cs3_var additional.fields Als Schlüssel/Wert-Paar zugeordnet
app_var additional.fields Als Schlüssel/Wert-Paar zugeordnet
reason_var additional.fields Als Schlüssel/Wert-Paar zugeordnet
cs5_var additional.fields Als Schlüssel/Wert-Paar zugeordnet
cs4_var additional.fields Als Schlüssel/Wert-Paar zugeordnet
_auth_mechanism extensions.auth.mechanism Direkt zusammengeführt
dvc intermediary.ip Wenn der Wert dem IP-Adressmuster entspricht
EventName metadata.description Wenn der Prozess nicht dem EXE-Muster entspricht
handeln metadata.description Wenn „fname“ leer ist
EventMessage metadata.description Wenn „act“ leer ist
LastEventDate metadata.event_timestamp Konvertiert mit ISO8601- oder JJJJ-MM-TTTHH:mm:ss-Format
_temp_datetime metadata.event_timestamp Konvertiert im Format TT.MM.JJJJ HH:mm:ss
Datum/Uhrzeit metadata.event_timestamp Konvertiert mit ISO8601- oder MMM d HH:mm:ss-Format
_event_type metadata.event_type Direkt umbenannt
Name metadata.event_type Wird basierend auf Bedingungen festgelegt: FILE_CREATION für „Datei speichern“, USER_LOGIN für „Anmelden“, NETWORK_CONNECTION, wenn has_principal und has_target, FILE_UNCATEGORIZED, wenn has_target_file_details, PROCESS_UNCATEGORIZED, wenn has_target_process_details, STATUS_UPDATE, wenn nur has_principal, NETWORK_UNCATEGORIZED, wenn app_error und has_principal und has_target, andernfalls GENERIC_EVENT
EventType metadata.product_event_type Direkt zugeordnet
signature_id, name metadata.product_event_type Verkettung von signature_id und name
LastEventID metadata.product_log_id In String konvertiert
tid metadata.product_log_id Direkt zugeordnet
Produkt metadata.product_name Direkt umbenannt
Version metadata.product_version Direkt umbenannt
vendor metadata.vendor_name Direkt umbenannt
Host observer.hostname Direkt zugeordnet
LastEventUserName principal.administrative_domain Extrahierte Daten mit dem Grok-Muster „domain\user“
ApplicationType principal.application Direkt zugeordnet
shost principal.asset.hostname Wenn der Wert nicht dem IP-Adressmuster entspricht
shost principal.asset.hostname Fallback, wenn „dhost“ leer ist
shost principal.asset.ip Wenn der Wert dem IP-Adressmuster entspricht
src principal.asset.ip Direkt zugeordnet
ip_address principal.asset.ip Direkt zugeordnet
shost principal.asset.ip Fallback, wenn „dhost“ leer ist
shost principal.ip Wenn der Wert dem IP-Adressmuster entspricht, wird er zusammengeführt.
src principal.ip Direkt zusammengeführt
ip_address principal.ip Direkt zusammengeführt
Standort principal.location.name Direkt zugeordnet
LastEventSourceName principal.platform Auf WINDOWS setzen, wenn der Wert mit dem Windows-Muster übereinstimmt
EventName principal.process.command_line Wenn der Prozess dem EXE-Muster entspricht
LastEventPackageName principal.resource.name Wenn der Wert nicht „EventName“ ist
ApplicationType principal.user.attribute.roles Auf ADMINISTRATOR festlegen, wenn der Wert „AdminTask“ ist
LastEventUserName principal.user.user_display_name Nutzerteil mit dem Grok-Muster „domain\user“ extrahiert
user_name principal.user.user_display_name Direkt zugeordnet
SourceUser principal.user.userid Direkt zugeordnet
suser principal.user.userid Wenn das Ereignis nicht vom Typ USER_ ist
usrName principal.user.userid Direkt zugeordnet
_action security_result.action Direkt zusammengeführt
Name security_result.action Auf BLOCK gesetzt, wenn der Wert mit „Failure“ oder „Failed“ beginnt, andernfalls ALLOW
msg security_result.description Direkt zugeordnet
msg, reason security_result.description Wird aus „msg“ und „reason“ verkettet, wenn die Fehlerbedingung erfüllt ist.
_sec_result_description security_result.description Direkt zugeordnet
PolicyName security_result.rule_name Direkt zugeordnet
cs2 security_result.rule_name Direkt zugeordnet
die Ausprägung security_result.severity Auf LOW setzen, wenn der Wert <= 5 ist, auf MEDIUM, wenn der Wert <= 8 ist, andernfalls auf HIGH
sev security_result.severity Direkt zugeordnet
sev security_result.severity_details Direkt zugeordnet
Grund security_result.summary Direkt zugeordnet
Name security_result.summary Direkt zugeordnet
dhost target.asset.hostname Wenn der Wert nicht dem IP-Adressmuster entspricht
shost target.asset.hostname Fallback, wenn „dhost“ leer ist
dhost target.asset.ip Wenn der Wert dem IP-Adressmuster entspricht
GatewayStation target.asset.ip Direkt zugeordnet
shost target.asset.ip Fallback, wenn „dhost“ leer ist
FileQualifier target.asset_id Mit „ASSET ID:“ als Präfix und in String konvertiert
Datei target.file.full_path Direkt zugeordnet
file_path target.file.full_path Direkt zugeordnet
LastEventSourceName target.file.full_path Wenn der Wert mit „C:“ beginnt
fname target.file.full_path Direkt zugeordnet
Hash target.file.sha1 Das Präfix „SHA1##“ wurde entfernt und der Wert wurde in Kleinbuchstaben umgewandelt, wenn es sich um den Typ „SHA1“ handelt.
GatewayStation target.ip Direkt zusammengeführt
pid target.process.pid In String konvertiert
Sicher target.resource.name Direkt zugeordnet
user_name target.user.user_display_name Direkt zugeordnet
TargetUser target.user.userid Direkt zugeordnet
duser target.user.userid Direkt zugeordnet
suser target.user.userid Wenn das Ereignis vom Typ USER_ ist

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