收集 CyberArk Privilege Cloud 日志

支持的语言:

本文档介绍了如何使用 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 注入身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。

获取 Google SecOps 客户 ID

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 配置文件
  3. 复制并保存组织详细信息部分中的客户 ID

安装 Bindplane 代理

按照以下说明在 Windows 或 Linux 操作系统上安装 Bindplane 代理。

Windows 安装

  1. 以管理员身份打开命令提示符PowerShell
  2. 运行以下命令:

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

Linux 安装

  1. 打开具有 root 或 sudo 权限的终端。
  2. 运行以下命令:

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

其他安装资源

如需了解其他安装选项,请参阅安装指南

配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:
    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /etc/bindplane-agent/ 目录中,或位于 Windows 上的安装目录中。
    • 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 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 代理以应用更改

  1. 如需在 Linux 中重启 Bindplane 代理,请运行以下命令:

    sudo systemctl restart bindplane-agent
    
  2. 如需在 Windows 中重启 Bindplane 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

安装 Secure Tunnel

  1. 确保您的机器 ID 是唯一的,即使机器部署在多个网域中也是如此。
  2. 部署 Privilege Cloud 连接器(标准)下载 Privilege Cloud 软件包,复制 Secure Tunnel ZIP 文件,然后将其解压缩
  3. 从解压缩的文件夹运行安装。
  4. 选择安装文件夹页面上,输入安装文件夹的位置,然后点击下一步
  5. 准备好安装页面上,点击安装
  6. 安装完成后,点击 Finish;系统会启动配置工具。

配置安全隧道

  1. 向 Privilege Cloud 进行身份验证页面上,输入以下详细信息,然后点击下一步
    • 子网域或客户 ID:子网域是系统地址中的系统标识符,如 Privilege Cloud 门户 FQDN https://<subdomain>.Privilegecloud.cyberark.com 中所示。请仅输入 <subdomain> 标识符,不要输入整个网址。或者,使用 CyberArk 提供给您的客户 ID。
    • 用户名和密码:输入 CyberArk 支持团队提供的凭据。
  2. 配置本地组件页面上,添加要通过安全隧道连接的组件,然后点击配置组件
  3. 提供以下配置详细信息:
    • Component Type(组件类型):选择 SIEM
    • 主机地址:输入 Bindplane 代理主机地址(SIEM 组件必须包含主机名)。
    • 目标端口:输入 Bindplane 代理端口号。
    • 远程端口:CyberArk 用于与安全隧道进行交互的端口(远程端口由 CyberArk 支持团队提供,通常为 1468)。
    • 点击高级即可显示此列。
    • 通过安全隧道进行访问:您可以配置服务器将通过哪些安全隧道进行访问,即使这些安全隧道在不同的机器上运行也是如此。
  4. 依次点击配置组件> 关闭

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 如果 shostdvc 字段包含主机名,则取自这两个字段的值。
principal.asset.ip 如果 shostdvc 字段包含 IP 地址,则从中获取值。
principal.hostname 如果 shostdvc 字段包含主机名,则取自这两个字段的值。
target.asset.hostname 如果 dhost 字段包含主机名,则取自该字段的值。
additional.fields.key 其他字段的键由相应的标签字段确定(例如,cn1Label(适用于 cn1)。

需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。