收集 Forcepoint NGFW 日志

解析器版本:16.0

支持范围:

本文档介绍了如何使用 Bindplane 代理将 Forcepoint NGFW 日志注入到 Google Security Operations。

准备工作

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

  • Google SecOps 实例
  • 装有 systemd 的 Windows 2016 或更高版本或 Linux 主机
  • 如果在代理后面运行,请确保按照 Bindplane 代理要求打开防火墙端口
  • 对 Forcepoint Security Management Center (SMC) 的特权访问权限

获取 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
    

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 代理安装指南。

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

  1. 访问配置文件:

    • 找到 config.yaml 文件。通常,它位于 Linux 上的 /opt/observiq-otel-collector/ 目录中,或 Windows 上的安装目录中。
    • 使用文本编辑器(例如 nano、vi 或记事本)打开该文件。
  2. 按如下方式修改 config.yaml 文件:

    receivers:
      tcplog:
        # Replace the port and IP address as required
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/chronicle_w_labels:
        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
        # 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: YOUR_CUSTOMER_ID
        endpoint: chronicle.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    
    service:
      pipelines:
        logs/source0__chronicle_w_labels-0:
          receivers:
            - tcplog
          exporters:
            - chronicle/chronicle_w_labels
    
    • 根据基础架构的要求替换端口和 IP 地址。
    • 将 <LOCATION> 替换为 Google SecOps 实例所在的区域(例如 us、europe 或 asia-southeast1)。导出工具会在此值前面加上 chronicle.googleapis.com。
    • 将 <PROJECT_NUMBER> 替换为 IAM 和管理 > 设置中的项目编号。
    • 将 YOUR_CUSTOMER_ID 替换为实际客户 ID。
    • 将 /path/to/ingestion-authentication-file.json 更新为第 1 步中保存服务账号密钥文件(选项 1)的文件路径。

旧版提取 API 导出工具

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

    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: YOUR_CUSTOMER_ID
        endpoint: malachiteingestion-pa.googleapis.com
        # Add optional ingestion labels for better organization
        log_type: 'FORCEPOINT_FIREWALL'
        raw_log_field: body
        ingestion_labels:
    

重启 Bindplane 代理以应用更改

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

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

    net stop observiq-otel-collector && net start observiq-otel-collector
    

在 Forcepoint NGFW 上配置 Syslog 转发

  1. 登录 Forcepoint Security Management Center (SMC)。
  2. 依次前往 Configuration(配置)> Log Server(日志服务器)> Properties(属性)。
  3. 前往日志转发部分。
  4. 点击添加以创建新的转发规则。
  5. 提供以下配置详细信息:
    • 名称:输入一个描述性名称(例如 Google SecOps Bindplane Syslog)。
    • 主机:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号(例如 514)。
    • 协议:选择 TCP 或 UDP,具体取决于您的实际 Bindplane 代理配置。
    • 格式:选择 JSON。
  6. 配置要转发的日志字段:
    • 点击选择字段或访问字段选择配置。
    • 根据您的要求选择相关的日志字段。安全分析通常需要以下字段:
      • TIMESTAMP(创建时间)
      • LOG_ID(数据标识符)
      • EVENT(事件)
      • EVENT_ID(活动 ID)
      • SRC(来源地址)
      • DST(目标地址)
      • Sport(源端口)
      • Dport(目标端口)
      • PROTOCOL(协议)
      • SERVICE(服务)
      • RULE_ID(规则代码)
      • ACTION(操作)
      • NAT_SRC、NAT_DST、NAT_SPORT、NAT_DPORT(NAT 字段)
      • ACC_RX_BYTES、ACC_TX_BYTES、ACC_ELAPSED(会计字段)
      • NODE_ID(发件人)
      • COMP_ID(组件 ID)
      • FACILITY(设施)
      • INFO_MSG(信息性消息)
      • SITUATION(情境)
      • APPLICATION(应用)
    • 如需查看可导出字段的完整列表,请参阅 Forcepoint NGFW 可导出防火墙和第 2 层防火墙日志条目字段文档。
  7. 向下滚动到事件部分,然后选择相关的日志类型或全部。
  8. 保存配置。
  9. 将更改应用于日志服务器。

UDM 映射表

日志字段 UDM 映射 逻辑
AccElapsed network.session_duration.seconds 如果不为空或 0,则直接从 AccElapsed 映射。转换为整数。
AccRxBytes network.received_bytes 直接从 AccRxBytes 映射。已转换为无符号整数。
AccTxBytes network.sent_bytes 直接从 AccTxBytes 映射。已转换为无符号整数。
Action security_result.action_details 直接从 Action 映射。
Action security_result.action 如果 Action 为“Allow”,则设置为“ALLOW”。如果 Action 为“Discard”,请设置为“BLOCK”。
CompId target.hostname 直接从 CompId 映射。
Dport target.port 如果不是 0,则直接从 Dport 映射。转换为整数。
Dst target.ip 直接从 Dst 映射。
Event metadata.product_event_type 直接从 Event 映射。
Facility metadata.description 直接从 Facility 映射。
InfoMsg security_result.description 直接从 InfoMsg 映射。
LogId metadata.product_log_id 直接从 LogId 映射。
NatDport target.nat_port 如果不是 0,则直接从 NatDport 映射。转换为整数。
NatDst target.nat_ip 直接从 NatDst 映射。
NatSport principal.nat_port 如果不是 0,则直接从 NatSport 映射。转换为整数。
NatSrc principal.nat_ip 直接从 NatSrc 映射。
NodeId intermediary.ip 如果 Src 或 Dst 以及 NodeId 均存在,则直接从 NodeId 映射。
NodeId principal.ip 如果 NodeId 存在,但 Src 和 Dst 不存在,则直接从 NodeId 映射。
Protocol network.ip_protocol 从 Protocol 映射而来,先转换为整数,然后使用查找功能将数字转换为协议名称(例如,6 变为 TCP)。
RuleId security_result.rule_id 直接从 RuleId 映射。
Service principal.application 如果 Service 不是“Dest. Unreachable (Port Unreachable)”
Service network.application_protocol 如果 Service 为“HTTP”或“HTTPS”,则设置为 Service 的值。如果 Service 包含“DNS”,则设置为“DNS”。
Service metadata.event_type 如果 Service 为“HTTP”或“HTTPS”,请将 metadata.event_type 设置为“NETWORK_HTTP”。
Situation security_result.summary 直接从 Situation 映射。
Sport principal.port 如果不是 0,则直接从 Sport 映射。转换为整数。
Src principal.ip 直接从 Src 映射。
Timestamp metadata.event_timestamp 在将 Timestamp 解析为日期后,直接从该字段映射。
Type security_result.severity_details 直接从 Type 映射。
Type security_result.severity 如果 Type 为“Notification”,则设置为“LOW”。如果存在 Src 或 NodeId 以及 Dst 或 CompId,则设置为“NETWORK_CONNECTION”。如果仅存在 principal.ip,则设置为“STATUS_UPDATE”。否则,请设置为“GENERIC_EVENT”。设置为“FORCEPOINT_FIREWALL”。设置为“FORCEPOINT FIREWALL”。设置为“FORCEPOINT”。
rt metadata.event_timestamp 在 CEF 块中解析为日期后,直接从 rt 映射。
act security_result.action_details 直接从 CEF 块中的 act 映射。
app principal.application 直接从 CEF 块中的 app 映射。
deviceFacility metadata.description 直接从 CEF 块中的 deviceFacility 映射。
destinationTranslatedAddress target.nat_ip 直接从 CEF 块中的 destinationTranslatedAddress 映射。
destinationTranslatedPort target.nat_port 直接从 CEF 块中的 destinationTranslatedPort 映射。
dst target.ip 直接从 CEF 块中的 dst 映射。
dpt target.port 直接从 CEF 块中的 dpt 映射。
dvchost intermediary.ip 直接从 CEF 块中的 dvchost 映射。
event_name metadata.product_event_type 直接从 CEF 块中的 event_name 映射。
msg security_result.description 直接从 CEF 块中的 msg 映射。
proto network.ip_protocol 在 CEF 块中,从 proto 映射,先将其转换为整数,然后使用查找功能将数字转换为协议名称(例如,6 变为 TCP)。
sourceTranslatedAddress principal.nat_ip 直接从 CEF 块中的 sourceTranslatedAddress 映射。
sourceTranslatedPort principal.nat_port 直接从 CEF 块中的 sourceTranslatedPort 映射。
spt principal.port 直接从 CEF 块中的 spt 映射。
src principal.ip 直接从 CEF 块中的 src 映射。
NodeId event.idm.read_only_udm.intermediary.ip 从更新日志映射
CompId event.idm.read_only_udm.intermediary.hostname 从更新日志映射
eventid metadata.product_log_id 从更新日志映射

更新日志

查看此解析器的更新日志

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