收集 CyberArk EPM 日志
支持的平台:
Google SecOps
SIEM
此解析器代码会将 CyberArk EPM 日志数据转换为统一数据模型 (UDM)。它会迭代日志中的每个事件,将相关字段映射到其对应的 UDM 字段,处理“exposedUsers”等特定数据结构,并使用静态供应商和产品信息丰富输出。
准备工作
- 确保您有一个 Google Security Operations 实例。
- 确保您使用的是 Windows 2016 或更高版本,或者使用 systemd 的 Linux 主机。
- 如果在代理后面运行,请确保防火墙端口处于打开状态。
- 确保您拥有对 EPM 服务器管理控制台的特权访问权限。
获取 Google SecOps 提取身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载提取身份验证文件。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次选择 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 BindPlane Agent
- 对于 Windows 安装,请运行以下脚本:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
- 对于 Linux 安装,请运行以下脚本:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
- 如需了解其他安装选项,请参阅此安装指南。
配置 BindPlane Agent 以提取 Syslog 并将其发送到 Google SecOps
- 访问安装了 BindPlane 的机器。
按如下方式修改
config.yaml
文件: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_EPM raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
重启 BindPlane 代理以应用更改:
sudo systemctl restart bindplane
在 EPM 中配置第三方事件转发
- 登录 EPM 服务器管理控制台。
- 依次前往高级 > 服务器配置。
- 在事件监听器部分,找到第三方监听器设置。
- 将此值设置为 On 以启用第三方监听器。
- 提供以下详细信息,配置 Syslog 监听器:
- Syslog 服务器 IP:输入 Syslog 服务器 (Bindplane) 的 IP 地址。
- Syslog 端口:指定 Syslog 服务器 (Bindplane) 的端口号。
- 协议:选择 syslog 服务器中配置的协议(TCP 或 UDP)。
- 格式:选择 Syslog 作为日志格式。
- 点击保存。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
agentId | principal.asset.asset_id | 将“agentId:”与 agentId 字段的值串联起来。 |
computerName | principal.hostname | 直接映射 computerName 字段。 |
displayName | metadata.description | 直接映射 displayName 字段。 |
eventType | metadata.product_event_type | 直接映射 eventType 字段。 |
exposedUsers.[].accountName | target.user.attribute.labels | 创建一个键为“accountName_[index]”且值来自 exposedUsers.[index].accountName 的标签。 |
exposedUsers.[].domain | target.user.attribute.labels | 创建一个键为“domain_[index]”且值来自 exposedUsers.[index].domain 的标签。 |
exposedUsers.[].username | target.user.attribute.labels | 创建一个键为“username_[index]”且值来自 exposedUsers.[index].username 的标签。 |
filePath | target.file.full_path | 直接映射 filePath 字段。 |
哈希 | target.file.sha1 | 直接映射哈希字段。 |
operatingSystemType | principal.platform | 如果 operatingSystemType 字段为“Windows”,则将“Windows”映射为“WINDOWS”。 |
policyName | security_result.rule_name | 直接映射 policyName 字段。 |
processCommandLine | target.process.command_line | 直接映射 processCommandLine 字段。 |
发布方 | additional.fields | 使用 publisher 字段创建键为“Publisher”且值为 string_value 的字段。 |
sourceProcessCommandLine | target.process.parent_process.command_line | 直接映射 sourceProcessCommandLine 字段。 |
sourceProcessHash | target.process.parent_process.file.sha1 | 直接映射 sourceProcessHash 字段。 |
sourceProcessSigner | additional.fields | 使用 sourceProcessSigner 字段创建键为“sourceProcessSigner”且具有 string_value 值的字段。 |
threatProtectionAction | security_result.action_details | 直接映射 threatProtectionAction 字段。 |
metadata.event_timestamp | 将事件时间戳设置为日志条目的 create_time。 | |
metadata.event_type | 已硬编码为“STATUS_UPDATE”。 | |
metadata.log_type | 已硬编码为“CYBERARK_EPM”。 | |
metadata.product_name | 已硬编码为“EPM”。 | |
metadata.vendor_name | 已硬编码为“CYBERARK”。 | |
security_result.alert_state | 已硬编码为“ALERTING”。 | |
userName | principal.user.userid | 直接映射 userName 字段。 |
更改
2023-08-22
- 新创建的解析器