CyberArk-PAM-Logs erfassen

Unterstützt in:

Mit diesem Parsercode werden zuerst Felder aus PAM-Syslog-Nachrichten (CyberArk Privileged Access Manager) mithilfe von regulären Ausdrücken extrahiert. Anschließend werden die extrahierten Felder einem einheitlichen Datenmodell (Unified Data Model, UDM) zugeordnet. Die Daten werden mit zusätzlichem Kontext angereichert und der Ereignistyp wird anhand bestimmter Kriterien standardisiert.

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.

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.

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

  1. Führen Sie für die Windows-Installation das folgende Script aus:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. Führen Sie für die Linux-Installation das folgende Script aus:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. Weitere Installationsoptionen finden Sie in diesem Installationsleitfaden.

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

  1. Rufen Sie den Computer auf, auf dem der Bindplane-Agent installiert ist.
  2. Bearbeiten Sie die Datei config.yamlso:

    receivers:
        tcplog:
            # Replace the below port <54525> and IP <0.0.0.0> with your specific values
            listen_address: "0.0.0.0:54525" 
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the creds location below according the placement of the credentials file you downloaded
            creds: '{ json file for creds }'
            # Replace <customer_id> below with your actual ID that you copied
            customer_id: <customer_id>
            endpoint: malachiteingestion-pa.googleapis.com
            # You can apply ingestion labels below as preferred
            ingestion_labels:
            log_type: SYSLOG
            namespace: Cyberark_PAM
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. Starten Sie den Bindplane-Agent neu, um die Änderungen anzuwenden:

    sudo systemctl restart bindplane
    

Syslog-Export für CyberArk Vault konfigurieren

  1. Melden Sie sich beim Vault-Server an.
  2. Öffnen Sie die Konfigurationsdatei dbparm.ini unter C:\Program Files (x86)\CyberArk\Vault\Server\dbparm.ini.
  3. Fügen Sie die folgenden Parameter hinzu oder ändern Sie sie:

    SyslogServer=<syslog_server_ip>
    SyslogPort=<syslog_server_port>
    SyslogProtocol=<TCP or UDP>
    SyslogFormat=Syslog
    
  4. Speichern Sie die Datei dbparm.ini.

  5. Starten Sie den Vault-Server neu:

    net stop CyberArkVault
    net start CyberArkVault
    

Syslog-Export in PVWA konfigurieren

  1. Melden Sie sich beim PVWA-Server an.
  2. Öffnen Sie die Datei Web.config unter C:\inetpub\wwwroot\PasswordVault\.
  3. Fügen Sie die folgenden Schlüssel hinzu oder ändern Sie sie:

    <add key="SyslogServer" value="<syslog_server_ip>" />
    <add key="SyslogPort" value="<syslog_server_port>" />
    <add key="SyslogProtocol" value="<TCP or UDP>" />
    <add key="SyslogFormat" value="Syslog" />
    
  4. Speichern Sie die Änderungen in der Datei Web.config.

  5. Starten Sie den IIS-Dienst neu:

    iisreset
    

Syslog-Export in PTA konfigurieren

  1. Greifen Sie über SSH auf den PTA-Server zu.
  2. Öffnen Sie die Datei application.properties unter /opt/cta/config/application.properties.
  3. Fügen Sie die folgenden Zeilen hinzu oder ändern Sie sie:

    syslog.server.ip=<syslog_server_ip>
    syslog.server.port=<syslog_server_port>
    syslog.protocol=<TCP or UDP>
    
  4. Speichern Sie die Datei application.properties.

  5. Starten Sie den PTA-Dienst neu, um die Änderungen anzuwenden:

    sudo service pta restart
    

UDM-Zuordnungstabelle

Logfeld UDM-Zuordnung Logik
handeln metadata.description Direkt aus dem Feld act zugeordnet.
cn1 additional.fields.value.string_value Wird direkt aus dem Feld cn1 zugeordnet, wenn cn1Label nicht leer ist.
cn1Label additional.fields.key Wird direkt aus dem Feld cn1Label zugeordnet, wenn cn1 nicht leer ist.
cn2 additional.fields.value.string_value Wird direkt aus dem Feld cn2 zugeordnet, wenn cn2Label nicht leer ist.
cn2Label additional.fields.key Wird direkt aus dem Feld cn2Label zugeordnet, wenn cn2 nicht leer ist.
cs1 additional.fields.value.string_value Wird direkt aus dem Feld cs1 zugeordnet, wenn cs1Label nicht leer ist.
cs1Label additional.fields.key Wird direkt aus dem Feld cs1Label zugeordnet, wenn cs1 nicht leer ist.
cs2 additional.fields.value.string_value Wird direkt aus dem Feld cs2 zugeordnet, wenn cs2Label nicht leer ist.
cs2Label additional.fields.key Wird direkt aus dem Feld cs2Label zugeordnet, wenn cs2 nicht leer ist.
cs3 additional.fields.value.string_value Wird direkt aus dem Feld cs3 zugeordnet, wenn cs3Label nicht leer ist.
cs3Label additional.fields.key Wird direkt aus dem Feld cs3Label zugeordnet, wenn cs3 nicht leer ist.
cs4 additional.fields.value.string_value Wird direkt aus dem Feld cs4 zugeordnet, wenn cs4Label nicht leer ist.
cs4Label additional.fields.key Wird direkt aus dem Feld cs4Label zugeordnet, wenn cs4 nicht leer ist.
cs5 additional.fields.value.string_value Wird direkt aus dem Feld cs5 zugeordnet, wenn cs5Label nicht leer ist.
cs5Label additional.fields.key Wird direkt aus dem Feld cs5Label zugeordnet, wenn cs5 nicht leer ist.
dhost target.hostname Wird aus dem Feld dhost zugeordnet, wenn es sich nicht um eine IP-Adresse handelt. Wenn dhost leer ist, wird es von shost (IP-Adresse oder Hostname) zugeordnet.
dhost target.asset.hostname Wird aus dem Feld dhost zugeordnet, wenn es sich nicht um eine IP-Adresse handelt. Wenn dhost leer ist, wird es von shost (IP-Adresse oder Hostname) zugeordnet.
dhost target.ip Wird aus dem Feld dhost zugeordnet, wenn es sich um eine IP-Adresse handelt.
dhost target.asset.ip Wird aus dem Feld dhost zugeordnet, wenn es sich um eine IP-Adresse handelt.
duser target.user.userid Direkt aus dem Feld duser zugeordnet.
dvc intermediary.ip Wird aus dem Feld dvc zugeordnet, wenn es sich um eine IP-Adresse handelt.
externalId metadata.product_log_id Direkt aus dem Feld externalId zugeordnet.
fname target.file.full_path Direkt aus dem Feld fname zugeordnet.
Name metadata.event_type Wird verwendet, um event_type anhand der Kombination der Felder name, shost und dhost zu bestimmen. Mögliche Werte: USER_CHANGE_PASSWORD, FILE_READ, USER_LOGIN, FILE_OPEN, FILE_DELETION. Wenn keine Übereinstimmung gefunden wird, has_principal wahr und has_target falsch ist, wird event_type auf STATUS_UPDATE gesetzt. Andernfalls wird standardmäßig GENERIC_EVENT verwendet.
prin_hostname principal.hostname Direkt aus dem Feld prin_hostname zugeordnet. Wenn das Feld leer ist, wird es von shost zugeordnet, sofern shost keine IP-Adresse ist.
prin_hostname principal.asset.hostname Direkt aus dem Feld prin_hostname zugeordnet. Wenn das Feld leer ist, wird es von shost zugeordnet, sofern shost keine IP-Adresse ist.
prin_ip principal.ip Direkt aus dem Feld prin_ip zugeordnet. Wenn das Feld leer ist, wird es von shost zugeordnet, sofern shost eine IP-Adresse ist.
prin_ip principal.asset.ip Direkt aus dem Feld prin_ip zugeordnet. Wenn das Feld leer ist, wird es von shost zugeordnet, sofern shost eine IP-Adresse ist.
Produkt metadata.product_name Direkt aus dem Feld product zugeordnet. Wenn dieser Wert nicht im Log vorhanden ist, wird standardmäßig „PAM“ verwendet.
reason security_result.description Direkt aus dem Feld reason zugeordnet.
die Ausprägung security_result.severity Wird anhand der folgenden Logik aus dem Feld severity zugeordnet: 1–3: INFORMATIONSMELDUNG, 4: FEHLER, 5: KRITISCH.
shost principal.hostname Wird prin_hostname zugeordnet, wenn prin_hostname leer ist und shost keine IP-Adresse ist.
shost principal.asset.hostname Wird prin_hostname zugeordnet, wenn prin_hostname leer ist und shost keine IP-Adresse ist.
shost principal.ip Wird prin_ip zugeordnet, wenn prin_ip leer ist und shost eine IP-Adresse ist.
shost principal.asset.ip Wird prin_ip zugeordnet, wenn prin_ip leer ist und shost eine IP-Adresse ist.
shost target.hostname Wird target.hostname zugeordnet, wenn dhost leer ist und shost keine IP-Adresse ist.
shost target.asset.hostname Wird target.hostname zugeordnet, wenn dhost leer ist und shost keine IP-Adresse ist.
shost target.ip Wird target.ip zugeordnet, wenn dhost leer ist und shost eine IP-Adresse ist.
shost target.asset.ip Wird target.ip zugeordnet, wenn dhost leer ist und shost eine IP-Adresse ist.
Status additional.fields.value.string_value Direkt aus dem Feld status zugeordnet.
suser principal.user.userid Aus dem Feld suser zugeordnet. Wenn duser leer ist, wird sie als Zielnutzer-ID betrachtet.
Zeit metadata.event_timestamp.seconds Wird direkt aus dem Feld time nach der Umwandlung in das Zeitstempelformat zugeordnet.
Zeit metadata.event_timestamp.nanos Wird direkt aus dem Feld time nach der Umwandlung in das Zeitstempelformat zugeordnet.
vendor metadata.vendor_name Direkt aus dem Feld vendor zugeordnet. Wenn der Wert nicht im Protokoll vorhanden ist, wird standardmäßig „CYBERARK“ verwendet.
Version metadata.product_version Direkt aus dem Feld version zugeordnet.
metadata.log_type Hartcodiert auf „CYBERARK_PAM“.
extensions.auth.mechanism Legen Sie „USERNAME_PASSWORD“ fest, wenn event_type „USER_LOGIN“ ist.

Änderungen

2024-05-05

  • Neu erstellter Parser.

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