收集 Proofpoint Email Filter 日志

支持范围:

本文档介绍了如何使用 Bindplane 代理将 Proofpoint 电子邮件过滤日志注入 Google Security Operations。

Proofpoint Email Protection (PPS) 是一款电子邮件安全网关,可提供垃圾邮件过滤、威胁检测和电子邮件政策执行功能。它支持 syslog 转发和 CEF 日志集成,可用于导出安全性事件和邮件事务日志。

准备工作

请确保满足以下前提条件:

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者安装了 systemd 的 Linux 主机
  • Bindplane 代理与 Proofpoint Protection Server (PPS) 之间的网络连接
  • 如果在代理后面运行,请确保按照 Bindplane 代理要求打开防火墙端口
  • 拥有管理员权限,可对 Proofpoint Protection Server (PPS) 管理控制台进行特权访问

获取 Bindplane 代理的 Google SecOps 凭证

如需向 Google SecOps 验证 Bindplane 代理,请选择以下方法之一:

  • 新部署:使用 Chronicle API(选项 1)。
  • 旧版部署:继续使用数据注入身份验证文件(方法 2),直到 Ingestion API 于 2027 年 7 月 20 日停用。
  1. 登录 Google Cloud 控制台,然后选择与您的 Google SecOps 实例关联的 Google Cloud 项目。
  2. 依次前往 IAM 和管理 > 服务账号。
  3. 点击创建服务账号。
  4. 提供以下配置详细信息:
    • 服务账号名称:输入账号的名称(例如 bindplane-ingest)。
    • 服务账号说明:输入说明(例如 Bindplane agent log ingestion)。
  5. 点击创建并继续。
  6. 在向此服务账号授予对项目的访问权限部分,点击选择角色,然后选择 Chronicle Editor。
  7. 点击继续,然后点击完成。
  8. 点击您创建的服务账号,然后前往密钥标签页。
  9. 依次点击添加密钥 > 创建新密钥。
  10. 选择 JSON,然后点击创建。密钥文件会下载到您的计算机上。
  11. 将密钥文件另存为 Bindplane 收集器目录(Linux 上的 /opt/observiq-otel-collector/ingestion-auth.json 或 Windows 上的 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json)中的 ingestion-auth.json,或更新 config.yaml 中的 creds_file_path 以匹配您保存它的路径。
  12. 前往 IAM 和管理 > 设置,然后复制项目编号。您在配置导出器时需要用到该名称。

方法 2:下载数据注入身份验证文件(旧版)

  1. 登录 Google SecOps 控制台。
  2. 依次前往设置 > 数据管理 > 收集代理。如果您使用的是仅限 SIEM 的平台,请依次前往设置 > 收集代理。
  3. 下载数据注入身份验证文件。
  4. 将该文件安全地保存在将要安装 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
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sc query observiq-otel-collector
    

    该服务应显示为正在运行。

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
    
  3. 等待安装完成。

  4. 运行以下命令,验证安装是否成功:

    sudo systemctl status observiq-otel-collector
    

    该服务应显示为 active (running)。

其他安装资源

如需了解其他安装选项和问题排查,请参阅 Bindplane 代理安装指南。

配置 Bindplane 代理以注入 syslog 并发送到 Google SecOps

找到配置文件

  • Linux:

    sudo nano /opt/observiq-otel-collector/config.yaml
    
  • Windows:

    notepad "C:\Program Files\observIQ OpenTelemetry Collector\config.yaml"
    

修改配置文件

  • 将 config.yaml 的全部内容替换为以下配置:

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/proofpoint_mail_filter:
        protocol: https
        # Region of your instance, for example us, europe, asia-southeast1
        location: <LOCATION>
        # Project number of the Google Cloud project linked to the instance
        project: '<PROJECT_NUMBER>'
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: chronicle.googleapis.com
        log_type: PROOFPOINT_MAIL_FILTER
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/proofpoint_mail_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/proofpoint_mail_filter
    

配置参数

替换以下占位符:

  • 接收器配置:

    • tcplog:通过 TCP 接收 syslog。如果您在 PPS 中配置 UDP 传输,请使用 udplog。
    • 0.0.0.0:514:在端口 514 上监听所有接口。根据需要更改端口(例如,对于非 root Linux,更改为 1514)。
  • 导出器配置:

    • <CREDS_FILE_PATH>:服务账号 JSON 密钥文件的完整路径(选项 1):
      • Linux:/opt/observiq-otel-collector/ingestion-auth.json
      • Windows:C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • <CUSTOMER_ID>:获取 Google SecOps 客户 ID 步骤中的客户 ID。
    • location:将 <LOCATION> 替换为 Google SecOps 实例所在的区域(例如 us、europe 或 asia-southeast1)。导出工具会在此值前面加上 chronicle.googleapis.com。如需查看完整列表,请参阅区域级端点。
    • project:将 <PROJECT_NUMBER> 替换为 IAM 和管理 > 设置中的项目编号。
    • endpoint:保持设置为 chronicle.googleapis.com。

旧版提取 API 导出工具

  • 如果您使用选项 2 中的数据注入身份验证文件,请将 exporters 代码块替换为以下内容。将 creds_file_path 设置为数据注入身份验证文件的路径,如果您的实例位于美国境外,请将 malachiteingestion-pa.googleapis.com 替换为您的区域端点(例如 europe-malachiteingestion-pa.googleapis.com)。

    exporters:
      chronicle/proofpoint_mail_filter:
        compression: gzip
        creds_file_path: '<CREDS_FILE_PATH>'
        customer_id: '<CUSTOMER_ID>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: PROOFPOINT_MAIL_FILTER
        raw_log_field: body
        ingestion_labels:
          env: production
    

保存配置文件

  • 修改后,保存文件:
    • Linux:依次按 Ctrl+O、Enter 和 Ctrl+X
    • Windows:依次点击文件 > 保存

重启 Bindplane 代理以应用更改

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

    sudo systemctl restart observiq-otel-collector
    
    1. 验证服务是否正在运行:

      sudo systemctl status observiq-otel-collector
      
    2. 检查日志中的错误:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:

    • 以管理员身份运行命令提示符或 PowerShell:

      net stop observiq-otel-collector && net start observiq-otel-collector
      
    • “服务”控制台:

      1. 按 Win+R,输入 services.msc,然后按 Enter 键。
      2. 找到 observIQ OpenTelemetry 收集器。
      3. 右键点击并选择重启。
      4. 验证服务是否正在运行:

        sc query observiq-otel-collector
        
      5. 检查日志中的错误:

        type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
        

配置 Proofpoint Email Protection syslog 转发

方法 1:在 Proofpoint PPS 中配置 syslog 转发

  1. 登录 Proofpoint Protection Server (PPS) 管理控制台。
  2. 依次前往系统 > 日志和报告 > 日志设置。
  3. 在远程日志设置部分中,配置以下内容:
    • 协议:选择 Syslog。
    • Syslog 服务器:输入 Bindplane 代理主机的 IP 地址(例如 192.168.1.100)。
    • 端口:输入 514(必须与 Bindplane 代理接收器端口匹配)。
    • 传输:选择 TCP(必须与 Bindplane 代理接收器配置匹配)。此外,TLS 还支持安全转发。
  4. 在本地日志选项部分中,根据需要配置日志记录详细程度。
  5. 点击保存更改。

选项 2:配置 CEF 日志集成

  1. 登录 Proofpoint Protection Server (PPS) 管理控制台。
  2. 依次前往配置 > 集成 > 集成式 SIEM。
  3. 点击 SIEM Log Integration(SIEM 日志集成)标签页。
  4. 选择启用导出为 ArcSight 格式,以激活 CEF 日志集成。
  5. 配置 syslog 目标服务器:
    • 主机:输入 Bindplane 代理主机的 IP 地址(例如 192.168.1.100)。
    • 端口:输入 514(必须与 Bindplane 代理接收器端口匹配)。
  6. 点击保存。
  7. 通过检查 Bindplane 代理日志,验证是否正在接收 CEF 格式的日志。

UDM 映射表

日志字段 UDM 映射 逻辑
关于 事件的其他信息
adultscore, attachments, hops, routes, notroutes, eid, querydepth, selector, spamscore, phishscore, mod, status, folder additional.fields 无法在 UDM 模型的正式部分中充分表示的供应商特定事件数据
auth extensions.auth.type 使用的身份验证类型
中介 事件中涉及的中介设备的相关信息
网域 intermediary.administrative_domain 中介机构的管理网域
hops-ip, lip, interm_ip intermediary.ip 中介的 IP 地址
metadata.event_type 事件类型(例如 USER_LOGIN、NETWORK_CONNECTION)
prod_event_type metadata.product_event_type 特定产品的事件类型
引擎 metadata.product_version 生成事件的产品版本
proto, mailer network.application_protocol 网络连接中使用的应用协议
hfrom, from network.email.from 电子邮件发件人地址
m、msgid、net_mail_id、hdr_mid network.email.mail_id 电子邮件的唯一标识符
subject network.email.subject 电子邮件的主题行
至 network.email.to 邮件收件人地址
received_byte network.received_bytes 网络连接中接收的字节数
秒 network.session_id 网络会话的唯一标识符
cipher network.tls.cipher 使用的 TLS 加密套件
tls_version, version network.tls.version 使用的 TLS 版本
网域 principal.administrative_domain 主体的管理网域
proc principal.application 事件中涉及的应用
device, host principal.asset.hostname 与主账号关联的资产的主机名
ip, srcip principal.asset.ip 与主账号关联的资产的 IP 地址
guid principal.asset_id 资产的唯一标识符
device, host principal.hostname 主账号的主机名
ip, srcip principal.ip 主体的 IP 地址
国家/地区 principal.location.country_or_region 主体所在位置的国家或区域
cmd principal.process.command_line 用于启动进程的命令行
file, name principal.process.file.full_path 进程中涉及的文件的完整路径
sz、size principal.process.file.size 文件的大小(以字节为单位)
pid, process_id principal.process.pid 进程 ID
action, security_action security_result.action 安全产品采取的操作
分类器 security_result.category 安全结果的类别
class, internalId security_result.detection_fields 用于检测的字段
规则 security_result.rule_name 触发安全结果的规则的名称
security_desc security_result.summary 安全结果摘要
主机名 target.asset.hostname 与目标关联的资产的主机名
主机名 target.hostname 目标的主机名
metadata.product_name 生成事件的产品名称
metadata.vendor_name 生产该产品的供应商的名称
AppAccessContext.AADSessionId event.idm.read_only_udm.network.session_id 从更新日志映射
ClientAppName event.idm.read_only_udm.target.application 从更新日志映射
AppAccessContext.CorrelationId event.idm.read_only_udm.additional.fields 从更新日志映射
AppAccessContext.UniqueTokenId event.idm.read_only_udm.additional.fields 从更新日志映射
AppAccessContext.UserObjectId event.idm.read_only_udm.principal.user.product_object_id 从更新日志映射
Id event.idm.read_only_udm.target.resource.product_object_id 从更新日志映射
Operation event.idm.read_only_udm.metadata.product_event_type 从更新日志映射
RecordType event.idm.read_only_udm.security_result.detection_fields 从更新日志映射
UserKey event.idm.read_only_udm.principal.user.attribute.labels 从更新日志映射
UserType event.idm.read_only_udm.principal.user.attribute.labels 从更新日志映射
Version event.idm.read_only_udm.additional.fields 从更新日志映射
Workload event.idm.read_only_udm.principal.application 从更新日志映射
ClientIP event.idm.read_only_udm.principal.ip, event.idm.read_only_udm.principal.asset.ip 从更新日志映射
UserId event.idm.read_only_udm.principal.user.email_addresses 从更新日志映射
AuthenticationType event.idm.read_only_udm.extensions.auth.auth_details 从更新日志映射
BrowserName event.idm.read_only_udm.network.http.parsed_user_agent 从更新日志映射
BrowserVersion event.idm.read_only_udm.network.http.parsed_user_agent.browser_version 从更新日志映射
CorrelationId event.idm.read_only_udm.additional.fields 从更新日志映射
EventSource event.idm.read_only_udm.additional.fields 从更新日志映射
GeoLocation event.idm.read_only_udm.principal.location.name 从更新日志映射
IsManagedDevice event.idm.read_only_udm.security_result.detection_fields 从更新日志映射
ItemType event.idm.read_only_udm.additional.fields 从更新日志映射
ListId event.idm.read_only_udm.additional.fields 从更新日志映射
ListItemUniqueId event.idm.read_only_udm.additional.fields 从更新日志映射
Platform event.idm.read_only_udm.additional.fields 从更新日志映射
Site event.idm.read_only_udm.additional.fields 从更新日志映射
UserAgent event.idm.read_only_udm.network.http.user_agent 从更新日志映射
WebId event.idm.read_only_udm.additional.fields 从更新日志映射
HighPriorityMediaProcessing event.idm.read_only_udm.additional.fields 从更新日志映射
ListBaseType event.idm.read_only_udm.additional.fields 从更新日志映射
ListServerTemplate event.idm.read_only_udm.additional.fields 从更新日志映射
SourceRelativeUrl event.idm.read_only_udm.principal.url 从更新日志映射
net_mail_id" and "hdr_mid network.email.mail_id 从更新日志映射
delay about.resource.attribute.labels 从更新日志映射
relay intermediary.administrative_domain 从更新日志映射
device" from "intermediary.hostname principal.hostname 从更新日志映射

更新日志

查看此解析器的更新日志

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