收集 CyberArk Privilege Cloud 日志
支持的语言:
Google SecOps
SIEM
本文档介绍了如何使用 Bindplane 将 CyberArk Privilege Cloud 日志注入到 Google Security Operations。解析器代码会将日志从原始 SYSLOG + KV 格式转换为 Google SecOps 统一数据模型 (UDM) 格式。它首先使用 Grok 模式和键值解析从 CEF 格式的消息中提取字段,然后将这些字段和其他字段映射到相应的 UDM 字段,并使用供应商、产品和严重程度的标准值来丰富数据。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机 - 如果在代理后运行,防火墙端口处于开放状态
- 对 CyberArk Privilege Cloud 的特权访问权限
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
如需了解其他安装选项,请参阅安装指南。
配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps
- 访问配置文件:
- 找到
config.yaml
文件。通常,它位于 Linux 上的/etc/bindplane-agent/
目录中,或位于 Windows 上的安装目录中。 - 使用文本编辑器(例如
nano
、vi
或记事本)打开该文件。
- 找到
按如下方式修改
config.yaml
文件:receivers: tcplog: # Replace the port and IP address as required listen_address: "0.0.0.0:6514" 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: <customer_id> endpoint: malachiteingestion-pa.googleapis.com # Add optional ingestion labels for better organization log_type: 'CYBERARK_PRIVILEGE_CLOUD' raw_log_field: body ingestion_labels: service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - tcplog exporters: - chronicle/chronicle_w_labels
- 根据基础架构的需要替换端口和 IP 地址。
- 将
<customer_id>
替换为实际的客户 ID。 - 将
/path/to/ingestion-authentication-file.json
更新为获取 Google SecOps 提取身份验证文件部分中保存身份验证文件的路径。
重启 Bindplane 代理以应用更改
如需在 Linux 中重启 Bindplane 代理,请运行以下命令:
sudo systemctl restart bindplane-agent
如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:
net stop BindPlaneAgent && net start BindPlaneAgent
安装 Secure Tunnel
- 确保您的机器 ID 是唯一的,即使机器部署在多个网域中也是如此。
- 从部署 Privilege Cloud 连接器(标准)下载 Privilege Cloud 软件包,复制 Secure Tunnel ZIP 文件,然后将其解压缩。
- 从解压缩的文件夹运行安装。
- 在选择安装文件夹页面上,输入安装文件夹的位置,然后点击下一步。
- 在准备好安装页面上,点击安装。
- 安装完成后,点击 Finish;系统会启动配置工具。
配置安全隧道
- 在向 Privilege Cloud 进行身份验证页面上,输入以下详细信息,然后点击下一步:
- 子网域或客户 ID:子网域是系统地址中的系统标识符,如 Privilege Cloud 门户 FQDN
https://<subdomain>.Privilegecloud.cyberark.com
中所示。请仅输入<subdomain>
标识符,不要输入整个网址。或者,使用 CyberArk 提供给您的客户 ID。 - 用户名和密码:输入 CyberArk 支持团队提供的凭据。
- 子网域或客户 ID:子网域是系统地址中的系统标识符,如 Privilege Cloud 门户 FQDN
- 在配置本地组件页面上,添加要通过安全隧道连接的组件,然后点击配置组件。
- 提供以下配置详细信息:
- Component Type(组件类型):选择 SIEM。
- 主机地址:输入 Bindplane 代理主机地址(SIEM 组件必须包含主机名)。
- 目标端口:输入 Bindplane 代理端口号。
- 远程端口:CyberArk 用于与安全隧道进行交互的端口(远程端口由 CyberArk 支持团队提供,通常为
1468
)。 - 点击高级即可显示此列。
- 通过安全隧道进行访问:您可以配置服务器将通过哪些安全隧道进行访问,即使这些安全隧道在不同的机器上运行也是如此。
- 依次点击配置组件> 关闭。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
act | security_result.action_details | 直接从原始日志中的 act 字段映射。 |
应用 | network.application_protocol | 从原始日志中的 app 字段映射,并使用 parse_app_protocol.include 中的逻辑进行转换。 |
cn1 | additional.fields.value.string_value | 直接从原始日志中的 cn1 字段映射。 |
cn1Label | additional.fields.key | 直接从原始日志中的 cn1Label 字段映射。 |
cn2 | additional.fields.value.string_value | 直接从原始日志中的 cn2 字段映射。 |
cn2Label | additional.fields.key | 直接从原始日志中的 cn2Label 字段映射。 |
cs1 | additional.fields.value.string_value | 直接从原始日志中的 cs1 字段映射。 |
cs1Label | additional.fields.key | 直接从原始日志中的 cs1Label 字段映射。 |
cs2 | additional.fields.value.string_value | 直接从原始日志中的 cs2 字段映射。 |
cs2Label | additional.fields.key | 直接从原始日志中的 cs2Label 字段映射。 |
cs3 | additional.fields.value.string_value | 直接从原始日志中的 cs3 字段映射。 |
cs3Label | additional.fields.key | 直接从原始日志中的 cs3Label 字段映射。 |
cs4 | additional.fields.value.string_value | 直接从原始日志中的 cs4 字段映射。 |
cs4Label | additional.fields.key | 直接从原始日志中的 cs4Label 字段映射。 |
cs5 | additional.fields.value.string_value | 直接从原始日志中的 cs5 字段映射。 |
cs5Label | additional.fields.key | 直接从原始日志中的 cs5Label 字段映射。 |
device_event_class_id | metadata.product_event_type | 直接从原始日志中的 device_event_class_id 字段映射。 |
device_version | metadata.product_version | 直接从原始日志中的 device_version 字段映射。 |
dhost | target.hostname | 直接从原始日志中的 dhost 字段映射。 |
duser | target.user.user_display_name | 直接从原始日志中的 duser 字段映射。 |
dvc | about.ip | 直接从原始日志中的 dvc 字段映射。 |
event_name | metadata.product_event_type | 直接从原始日志中的 event_name 字段映射。 |
externalId | metadata.product_log_id | 直接从原始日志中的 externalId 字段映射。 |
fname | additional.fields.value.string_value | 直接从原始日志中的 fname 字段映射。 |
msg | metadata.description | 直接从原始日志中的 msg 字段映射。 |
reason | security_result.summary | 直接从原始日志中的 reason 字段映射。 |
和程度上减少 | security_result.severity | 从原始日志中的 severity 字段映射,并根据其值转换为“LOW”“MEDIUM”“HIGH”或“CRITICAL”。 |
shost | principal.ip | 直接从原始日志中的 shost 字段映射。 |
suser | principal.user.user_display_name | 直接从原始日志中的 suser 字段映射。 |
时间 | metadata.event_timestamp.seconds | 在原始日志经过解析并转换为时间戳后,直接从原始日志中的 time 字段进行映射。 |
metadata.event_type | 如果存在 suser 但不存在 duser ,则设置为“USER_UNCATEGORIZED”。否则,请设置为“GENERIC_EVENT”。 |
|
metadata.log_type | 设置为“CYBERARK_PRIVILEGE_CLOUD”。 | |
metadata.product_name | 设置为“CYBERARK_PRIVILEGE_CLOUD”。 | |
principal.asset.hostname | 如果 shost 或 dvc 字段包含主机名,则取自这两个字段的值。 |
|
principal.asset.ip | 如果 shost 或 dvc 字段包含 IP 地址,则从中获取值。 |
|
principal.hostname | 如果 shost 或 dvc 字段包含主机名,则取自这两个字段的值。 |
|
target.asset.hostname | 如果 dhost 字段包含主机名,则取自该字段的值。 |
|
additional.fields.key | 其他字段的键由相应的标签字段确定(例如,cn1Label (适用于 cn1 )。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。