Collect CyberArk Endpoint Privilege Manager logs

Parser Version: 2.0

Supported in:

This document explains how to ingest CyberArk Endpoint Privilege Manager (EPM) logs to Google Security Operations using Bindplane. CyberArk EPM enforces least privilege on endpoints by removing local admin rights while enabling users to run approved applications. It provides application control, privilege management, and credential theft protection for Windows, macOS, and Linux endpoints.

Before you begin

Make sure you have the following prerequisites:

  • A Google SecOps instance.
  • A Windows 2016 or later or Linux host with systemd.
  • If running behind a proxy, ensure firewall ports are open per the Bindplane agent requirements.
  • Privileged access to the CyberArk EPM management console with administrator permissions.

Get Google SecOps ingestion authentication file

  1. Sign in to the Google SecOps console.
  2. Go to SIEM Settings > Collection Agent.
  3. Download the Ingestion Authentication File.
    • Save the file securely on the system where Bindplane will be installed.

Get Google SecOps customer ID

  1. Sign in to the Google SecOps console.
  2. Go to SIEM Settings > Profile.
  3. Copy and save the Customer ID from the Organization Details section.

Install the Bindplane agent

Install the Bindplane agent on your Windows or Linux operating system according to the following instructions.

Windows installation

  1. Open the Command Prompt or PowerShell as an administrator.
  2. Run the following command:

    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
    

Linux installation

  1. Open a terminal with root or sudo privileges.
  2. Run the following command:

    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
    

Additional installation resources

For additional installation options, consult this installation guide.

Configure the Bindplane agent to ingest Syslog and send to Google SecOps

  1. Access the Configuration File:

    • Locate the config.yaml file. Typically, it's in the /opt/observiq-otel-collector/ directory on Linux or in the installation directory on Windows.
    • Open the file using a text editor (for example, nano, vi, or Notepad).
  2. Edit the config.yaml file as follows:

    receivers:
        tcplog:
            # Replace the port and IP address as required
            listen_address: "0.0.0.0:514"
    
    exporters:
        chronicle/chronicle_w_labels:
            compression: gzip
            # Adjust the path to the credentials file you downloaded in Step 1
            creds_file_path: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: <PLACEHOLDER_CUSTOMER_ID>
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            log_type: 'CYBERARK_EPM'
            raw_log_field: body
            ingestion_labels:
    
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  • Replace the port and IP address as required in your infrastructure.
  • Replace <PLACEHOLDER_CUSTOMER_ID> with the actual Customer ID.
  • Update /path/to/ingestion-authentication-file.json to the file path where the authentication file was saved in the Get Google SecOps ingestion authentication file section.

Restart the Bindplane agent to apply the changes

  1. To restart the Bindplane agent in Linux, run the following command:

    sudo systemctl restart observiq-otel-collector
    
  2. To restart the Bindplane agent in Windows, you can either use the Services console or enter the following command:

    net stop observiq-otel-collector && net start observiq-otel-collector
    

Configure CyberArk EPM syslog forwarding

  1. Sign in to the CyberArk EPM Console as an administrator.
  2. Go to Administration > System Configuration > SIEM Integration.
  3. Select Enable SIEM to activate syslog forwarding.
  4. Provide the following configuration details:
    • SIEM Type: Select Syslog.
    • Server Address: Enter the IP address of the Bindplane agent host (for example, 192.168.1.100).
    • Port: Enter the port number matching the Bindplane agent configuration (for example, 514).
    • Protocol: Select TCP.
    • Format: Select CEF (Common Event Format).
  5. In the Event Types section, select the event categories to forward:
    • Policy Audit Events: Policy enforcement actions.
    • Admin Audit Events: Administrative actions in EPM console.
    • Threat Protection Events: Credential theft and ransomware protection events.
    • Application Control Events: Application allow/block events.
  6. Click Save.
  7. Verify logs are being received by checking the Bindplane agent logs:

    sudo journalctl -u observiq-otel-collector -f
    

For more information about CyberArk EPM syslog integration, see the CyberArk EPM administration guide.

UDM mapping table

Log Field UDM Mapping Logic
Header.deviceVendor metadata.vendor_name Mapped from the CEF header vendor field.
Header.deviceProduct metadata.product_name Mapped from the CEF header product field.
Header.deviceVersion metadata.product_version Mapped from the CEF header version field.
Header.signatureId metadata.product_event_type Mapped from the CEF signature ID field.
Header.name metadata.description Mapped from the CEF event name field.
Header.severity security_result.severity Mapped from CEF severity (0-3=LOW, 4-6=MEDIUM, 7-8=HIGH, 9-10=CRITICAL).
shost principal.hostname The source hostname where the event occurred.
src principal.ip The source IP address.
suser principal.user.userid The source username associated with the event.
fname target.file.full_path The file name or path involved in the event.
fileHash target.file.md5 The MD5 hash of the file involved.
dhost target.hostname The destination hostname.
dst target.ip The destination IP address.
duser target.user.userid The destination or target username.
act security_result.action_details The action taken by EPM (for example, Block, Allow, Elevate).
cs1 security_result.detection_fields Custom string field 1 (policy name or additional context).
cs2 security_result.detection_fields Custom string field 2 (additional context).
rt metadata.event_timestamp The event receipt time.
userIsAdmin event.idm.read_only_udm.additional.fields Mapped from changelog
workingDirectory event.idm.read_only_udm.additional.fields Mapped from changelog
exposeduser.username event.idm.read_only_udm.target.resource.attribute.labels Mapped from changelog
exposeduser.source event.idm.read_only_udm.target.resource.attribute.labels Mapped from changelog
exposeduser.domain event.idm.read_only_udm.target.resource.attribute.labels Mapped from changelog
sourceProcessPublisher event.idm.read_only_udm.target.resource.attribute.labels Mapped from changelog
exposeduser.accountName event.idm.read_only_udm.target.resource.attribute.labels Mapped from changelog
evidencesuser.accessedObject.name event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.accessedProcess.commandLine event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.accessedProcess.hash event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.accessedProcess.publisher event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.accessedProcess.username event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.accessedProcess.hashAlgorithm event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.accessedProcess.fullImageName event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.evidenceCounter event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.datetimeUTC event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.evidenceAction event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.additionalData event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
evidencesuser.comment event.idm.read_only_udm.security_result.detection_fields Mapped from changelog
displayName event.idm.read_only_udm.metadata.description Mapped from changelog
policyName event.idm.read_only_udm.security_result.rule_name Mapped from changelog
processCommandLine event.idm.read_only_udm.target.process.command_line Mapped from changelog
sourceProcessCommandLine event.idm.read_only_udm.target.process.parent_process.command_line Mapped from changelog
sourceProcessUsername event.idm.read_only_udm.target.user.userid Mapped from changelog
sourceProcessHash event.idm.read_only_udm.target.process.parent_process.file.sha1 Mapped from changelog
threatProtectionActionId event.idm.read_only_udm.additional.fields Mapped from changelog
skippedCount event.idm.read_only_udm.additional.fields Mapped from changelog
eventCount event.idm.read_only_udm.additional.fields Mapped from changelog
sourceProcessSigner event.idm.read_only_udm.additional.fields Mapped from changelog
deceptionType event.idm.read_only_udm.additional.fields Mapped from changelog
winEventType event.idm.read_only_udm.additional.fields Mapped from changelog
winEventRecordId event.idm.read_only_udm.additional.fields Mapped from changelog
logonAttemptTypeId event.idm.read_only_udm.additional.fields Mapped from changelog
logonStatusId event.idm.read_only_udm.additional.fields Mapped from changelog
fileDescription event.idm.read_only_udm.security_result.description Mapped from changelog
accessAction event.idm.read_only_udm.additional.fields Mapped from changelog
accessTargetType event.idm.read_only_udm.additional.fields Mapped from changelog
agentEventCount event.idm.read_only_udm.additional.fields Mapped from changelog
modificationTime event.idm.read_only_udm.additional.fields Mapped from changelog
arrivalTime event.idm.read_only_udm.additional.fields Mapped from changelog
originalFileName event.idm.read_only_udm.additional.fields Mapped from changelog
owner event.idm.read_only_udm.additional.fields Mapped from changelog
packageName event.idm.read_only_udm.additional.fields Mapped from changelog
publisher event.idm.read_only_udm.additional.fields Mapped from changelog
setID event.idm.read_only_udm.additional.fields Mapped from changelog
sourceType event.idm.read_only_udm.additional.fields Mapped from changelog
threatProtectionAction event.idm.read_only_udm.additional.fields Mapped from changelog
lastEventDate event.idm.read_only_udm.metadata.event_timestamp Mapped from changelog
agentId event.idm.read_only_udm.principal.asset.asset_id Mapped from changelog
company event.idm.read_only_udm.principal.user.company_name Mapped from changelog
computerName event.idm.read_only_udm.principal.hostname Mapped from changelog
computerName event.idm.read_only_udm.principal.asset.hostname Mapped from changelog
eventType event.idm.read_only_udm.metadata.product_event_type Mapped from changelog
fileDescription event.idm.read_only_udm.metadata.description Mapped from changelog
fileName event.idm.read_only_udm.target.process.file.names Mapped from changelog
filePath event.idm.read_only_udm.target.file.full_path Mapped from changelog
fileQualifier event.idm.read_only_udm.target.asset.asset_id Mapped from changelog
fileSize event.idm.read_only_udm.target.file.size Mapped from changelog
fileVersion event.idm.read_only_udm.target.asset.software.version Mapped from changelog
hash event.idm.read_only_udm.target.file.sha1 Mapped from changelog
justification event.idm.read_only_udm.security_result.summary Mapped from changelog
operatingSystemType event.idm.read_only_udm.principal.platform Mapped from changelog
productName event.idm.read_only_udm.metadata.product_version Mapped from changelog
productVersion event.idm.read_only_udm.metadata.product_version Mapped from changelog
sourceName event.idm.read_only_udm.principal.file.full_path Mapped from changelog
url event.idm.read_only_udm.network.http.referral_url Mapped from changelog
userName event.idm.read_only_udm.principal.user.userid Mapped from changelog

Change Log

View the Change Log for this parser

Need more help? Get answers from Community members and Google SecOps professionals.