收集 CyberArk PAM 日志

支持的平台:

此解析器代码首先使用正则表达式从 CyberArk Privileged Access Manager (PAM) syslog 消息中提取字段。然后,它会将提取的字段映射到统一数据模型 (UDM),使用其他情境信息丰富数据,并根据具体条件对事件类型进行标准化。

准备工作

  • 确保您有一个 Google Security Operations 实例。
  • 确保您使用的是 Windows 2016 或更高版本,或者使用 systemd 的 Linux 主机。
  • 如果在代理后面运行,请确保防火墙端口处于打开状态。

获取 Google SecOps 提取身份验证文件

  1. 登录 Google SecOps 控制台。
  2. 依次前往 SIEM 设置 > 收集代理
  3. 下载提取身份验证文件

获取 Google SecOps 客户 ID

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

安装 BindPlane Agent

  1. 对于 Windows 安装,请运行以下脚本:
    msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
  2. 对于 Linux 安装,请运行以下脚本:
    sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
  3. 如需了解其他安装选项,请参阅此安装指南

配置 BindPlane Agent 以提取 Syslog 并将其发送到 Google SecOps

  1. 访问安装了 BindPlane 的机器。
  2. 按如下方式修改 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_PAM
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - tcplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 重启 BindPlane 代理以应用更改:

    sudo systemctl restart bindplane
    

为 CyberArk Vault 配置 Syslog 导出

  1. 登录 Vault 服务器。
  2. 打开位于 C:\Program Files (x86)\CyberArk\Vault\Server\dbparm.ini 的配置文件 dbparm.ini
  3. 添加或修改以下参数:

    SyslogServer=<syslog_server_ip>
    SyslogPort=<syslog_server_port>
    SyslogProtocol=<TCP or UDP>
    SyslogFormat=Syslog
    
  4. 保存 dbparm.ini 文件。

  5. 重启 Vault 服务器:

    net stop CyberArkVault
    net start CyberArkVault
    

在 PVWA 中配置 Syslog 导出

  1. 登录 PVWA 服务器。
  2. 打开位于 C:\inetpub\wwwroot\PasswordVault\Web.config 文件
  3. 添加或修改以下键:

    <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. 将更改保存到 Web.config 文件。

  5. 重启 IIS 服务:

    iisreset
    

在 PTA 中配置 Syslog 导出

  1. 使用 SSH 访问 PTA 服务器。
  2. 打开位于 /opt/cta/config/application.propertiesapplication.properties 文件
  3. 添加或修改以下代码行:

    syslog.server.ip=<syslog_server_ip>
    syslog.server.port=<syslog_server_port>
    syslog.protocol=<TCP or UDP>
    
  4. 保存 application.properties 文件。

  5. 重启 PTA 服务以应用更改:

    sudo service pta restart
    

UDM 映射表

日志字段 UDM 映射 逻辑
法案 metadata.description 直接从 act 字段映射。
cn1 additional.fields.value.string_value cn1Label 不为空时,直接从 cn1 字段映射。
cn1Label additional.fields.key cn1 不为空时,直接从 cn1Label 字段映射。
cn2 additional.fields.value.string_value cn2Label 不为空时,直接从 cn2 字段映射。
cn2Label additional.fields.key cn2 不为空时,直接从 cn2Label 字段映射。
cs1 additional.fields.value.string_value cs1Label 不为空时,直接从 cs1 字段映射。
cs1Label additional.fields.key cs1 不为空时,直接从 cs1Label 字段映射。
cs2 additional.fields.value.string_value cs2Label 不为空时,直接从 cs2 字段映射。
cs2Label additional.fields.key cs2 不为空时,直接从 cs2Label 字段映射。
cs3 additional.fields.value.string_value cs3Label 不为空时,直接从 cs3 字段映射。
cs3Label additional.fields.key cs3 不为空时,直接从 cs3Label 字段映射。
cs4 additional.fields.value.string_value cs4Label 不为空时,直接从 cs4 字段映射。
cs4Label additional.fields.key cs4 不为空时,直接从 cs4Label 字段映射。
cs5 additional.fields.value.string_value cs5Label 不为空时,直接从 cs5 字段映射。
cs5Label additional.fields.key cs5 不为空时,直接从 cs5Label 字段映射。
dhost target.hostname 如果 dhost 字段不是 IP 地址,则从该字段映射而来。如果 dhost 为空,则会从 shost(IP 地址或主机名)进行映射。
dhost target.asset.hostname 如果 dhost 字段不是 IP 地址,则从该字段映射而来。如果 dhost 为空,则会从 shost(IP 地址或主机名)进行映射。
dhost target.ip dhost 字段映射而来(如果它是 IP 地址)。
dhost target.asset.ip dhost 字段映射而来(如果它是 IP 地址)。
duser target.user.userid 直接从 duser 字段映射。
dvc intermediary.ip dvc 字段映射而来(如果它是 IP 地址)。
externalId metadata.product_log_id 直接从 externalId 字段映射。
fname target.file.full_path 直接从 fname 字段映射。
名称 metadata.event_type 用于根据 nameshostdhost 字段的组合确定 event_type。可能的值:USER_CHANGE_PASSWORD、FILE_READ、USER_LOGIN、FILE_OPEN、FILE_DELETION。如果未找到匹配项,并且 has_principal 为 true 且 has_target 为 false,则 event_type 会设为 STATUS_UPDATE。否则,默认为 GENERIC_EVENT。
prin_hostname principal.hostname 直接从 prin_hostname 字段映射。如果为空,则从 shost 映射(如果 shost 不是 IP 地址)。
prin_hostname principal.asset.hostname 直接从 prin_hostname 字段映射。如果为空,则从 shost 映射(如果 shost 不是 IP 地址)。
prin_ip principal.ip 直接从 prin_ip 字段映射。如果为空,则从 shost 映射(如果 shost 是 IP 地址)。
prin_ip principal.asset.ip 直接从 prin_ip 字段映射。如果为空,则从 shost 映射(如果 shost 是 IP 地址)。
产品 metadata.product_name 直接从 product 字段映射。如果日志中未包含此字段,则默认为“PAM”。
原因 security_result.description 直接从 reason 字段映射。
和程度上减少 security_result.severity 根据以下逻辑从 severity 字段映射而来:1-3:INFORMATIONAL、4:ERROR、5:CRITICAL。
shost principal.hostname 如果 prin_hostname 为空且 shost 不是 IP 地址,则映射到 prin_hostname
shost principal.asset.hostname 如果 prin_hostname 为空且 shost 不是 IP 地址,则映射到 prin_hostname
shost principal.ip 如果 prin_ip 为空且 shost 是 IP 地址,则映射到 prin_ip
shost principal.asset.ip 如果 prin_ip 为空且 shost 是 IP 地址,则映射到 prin_ip
shost target.hostname 如果 dhost 为空且 shost 不是 IP 地址,则映射到 target.hostname
shost target.asset.hostname 如果 dhost 为空且 shost 不是 IP 地址,则映射到 target.hostname
shost target.ip 如果 dhost 为空且 shost 是 IP 地址,则映射到 target.ip
shost target.asset.ip 如果 dhost 为空且 shost 是 IP 地址,则映射到 target.ip
状态 additional.fields.value.string_value 直接从 status 字段映射。
suser principal.user.userid suser 字段映射而来。如果 duser 为空,则被视为目标用户 ID。
时间 metadata.event_timestamp.seconds 转换为时间戳格式后,直接从 time 字段映射。
时间 metadata.event_timestamp.nanos 转换为时间戳格式后,直接从 time 字段映射。
vendor metadata.vendor_name 直接从 vendor 字段映射。如果日志中未包含此字段,则默认为“CYBERARK”。
版本 metadata.product_version 直接从 version 字段映射。
metadata.log_type 已硬编码为“CYBERARK_PAM”。
extensions.auth.mechanism 如果 event_type 为“USER_LOGIN”,则设置为“USERNAME_PASSWORD”。

更改

2024-05-05

  • 新创建的解析器。