收集 Trend Micro Apex One 日志

支持的平台:

本文档介绍了如何收集 Trend Micro Apex One 日志。解析器会从 syslog 消息中提取数据,尤其是采用键值对格式且前缀为“CEF:”的消息。它使用正则表达式和条件逻辑将 CEF 字段映射到 UDM,根据用户或系统信息的存在情况对事件进行分类,并识别操作系统平台。系统会丢弃非 CEF 格式的消息。

准备工作

  • 确保您有一个 Google Security Operations 实例。
  • 确保您使用的是 Windows 2016 或更高版本,或者使用了带有 systemd 的 Linux 主机。
  • 如果在代理后面运行,请确保防火墙端口处于打开状态。
  • 确保您拥有对 Apex Central 控制台的管理员访问权限

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

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

获取 Google SecOps 客户 ID

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

安装 BindPlane Agent

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 Agent 以提取 Syslog 并将其发送到 Google SecOps

  1. 访问配置文件:

    • 找到 config.yaml 文件。通常,在 Linux 上,该目录位于 /etc/bindplane-agent/ 目录中;在 Windows 上,该目录位于安装目录中。
    • 使用文本编辑器(例如 nanovi 或记事本)打开该文件。
  2. 按如下方式修改 config.yaml 文件:

    receivers:
        udplog:
            # 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: trendmicro_apex_one
            raw_log_field: body
    service:
        pipelines:
            logs/source0__chronicle_w_labels-0:
                receivers:
                    - udplog
                exporters:
                    - chronicle/chronicle_w_labels
    
  3. 根据基础架构中的需要替换端口和 IP 地址。

  4. <customer_id> 替换为实际的客户 ID。

  5. 获取 Google SecOps 提取身份验证文件部分,将 /path/to/ingestion-authentication-file.json 更新为身份验证文件的保存路径。

重启 BindPlane 代理以应用更改

  • 在 Linux 中,如需重启 BindPlane 代理,请运行以下命令:

    sudo systemctl restart bindplane-agent
    
  • 在 Windows 中,如需重启 BindPlane Agent,您可以使用 Services 控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Trend Micro Apex One 中配置 Syslog 转发

  1. 使用您的管理员凭据登录 Apex Central 控制台。
  2. 依次前往管理 > 设置 > Syslog 设置
  3. 选中标记为 Enable syslog forwarding(启用 syslog 转发)的复选框。
  4. 配置 Syslog 服务器详细信息

    • 服务器地址:输入 Syslog 服务器 (Bindplane) 的 IP 地址或 FQDN。
    • 端口:指定 Syslog 服务器监听的端口号(绑定平面)。
    • 协议:选择 UDP 作为传输协议 ()。
    • 可选:配置代理设置:勾选使用 SOCKS 代理服务器

    • 日志格式:选择 CEF

    • 频率:定义将日志转发到 Syslog 服务器的频率。

    • 日志类型:选择安全日志产品信息

  5. 点击测试连接,确保 Apex Central 可以与 Syslog 服务器 (Bindplane) 通信。

  6. 点击保存以应用设置。

UDM 映射表

日志字段 UDM 映射 逻辑
act security_result.action_details 直接从 act 字段映射。
ApexCentralHost about.asset.asset_id 用于 asset_id 生成逻辑的一部分。将值“Trend Micro.Apex Central:”附加到 deviceExternalId 字段。
app target.port 直接从 app 字段映射。
cat security_result.category_details 直接从 cat 字段映射。
cn1 additional.fields[4].value.string_value 直接从 cn1 字段映射。键派生自 cn1Label
cn1Label additional.fields[4].key 直接从 cn1Label 字段映射。
cn2 additional.fields[6].value.string_value 直接从 cn2 字段映射。键派生自 cn2Label
cn2Label additional.fields[6].key 直接从 cn2Label 字段映射。
cn3 additional.fields[2].value.string_value 直接从 cn3 字段映射。键派生自 cn3Label
cn3Label additional.fields[2].key 直接从 cn3Label 字段映射。
cs1 additional.fields[0].value.string_value 直接从 cs1 字段映射。键派生自 cs1Label
cs1Label additional.fields[0].key 直接从 cs1Label 字段映射。
cs2 additional.fields[1].value.string_value 直接从 cs2 字段映射。键派生自 cs2Label
cs2Label additional.fields[1].key 直接从 cs2Label 字段映射。
cs3 additional.fields[5].value.string_value 直接从 cs3 字段映射。键派生自 cs3Label
cs3Label additional.fields[5].key 直接从 cs3Label 字段映射。
cs4 additional.fields[0].value.string_value 直接从 cs4 字段映射。键派生自 cs4Label
cs4Label additional.fields[0].key 直接从 cs4Label 字段映射。
cs5 additional.fields[2].value.string_value 直接从 cs5 字段映射。键派生自 cs5Label
cs5Label additional.fields[2].key 直接从 cs5Label 字段映射。
cs6 additional.fields[7].value.string_value 直接从 cs6 字段映射。键派生自 cs6Label
cs6Label additional.fields[7].key 直接从 cs6Label 字段映射。
deviceExternalId about.asset.asset_id 用于 asset_id 生成逻辑的一部分。此字段会附加值“Trend Micro.Apex Central:”。
deviceNtDomain about.administrative_domain 直接从 deviceNtDomain 字段映射。
devicePayloadId additional.fields[3].value.string_value 直接从 devicePayloadId 字段映射。键已硬编码为“devicePayloadId”。
deviceProcessName about.process.command_line 直接从 deviceProcessName 字段映射。
dhost target.hostname 直接从 dhost 字段映射。
dntdom target.administrative_domain 直接从 dntdom 字段映射。
dst target.ip 直接从 dst 字段映射。
duser target.user.useridtarget.user.user_display_name 直接从 duser 字段映射。
dvchost about.hostname 直接从 dvchost 字段映射。
fileHash about.file.full_path 直接从 fileHash 字段映射。
fname additional.fields[9].value.string_value 直接从 fname 字段映射。键已硬编码为“fname”。
message metadata.product_event_type CEF 标头会从消息字段中提取。
request target.url 直接从 request 字段映射。
rt metadata.event_timestamp 直接从 rt 字段映射。
shost principal.hostname 直接从 shost 字段映射。
src principal.ip 直接从 src 字段映射。
TMCMdevicePlatform principal.platform 根据解析器中的逻辑进行映射。值会归一化为“WINDOWS”“MAC”或“LINUX”。
TMCMLogDetectedHost principal.hostname 直接从 TMCMLogDetectedHost 字段映射。
TMCMLogDetectedIP principal.ip 直接从 TMCMLogDetectedIP 字段映射。根据其他字段的存在情况从解析器逻辑派生而来。可能的值为“USER_UNCATEGORIZED”“STATUS_UPDATE”或“GENERIC_EVENT”。已硬编码为“TRENDMICRO_APEX_ONE”。已硬编码为“TRENDMICRO_APEX_ONE”。从 message 字段中的 CEF 标头中提取。已硬编码为“LOW”。

更改

2023-12-18

  • 新创建的解析器。