收集 Forcepoint NGFW 日志

支持的平台:

本文档介绍了如何使用 Bindplane 将 Forcepoint NGFW 日志提取到 Google Security Operations。解析器从 JSON 日志或 CEF 格式的消息中提取字段,将其标准化为统一数据模型 (UDM),并使用供应商和产品元数据丰富数据。它使用 grok 模式和条件逻辑来处理 JSON 和 CEF 格式的日志,将原始日志字段映射到 UDM 字段,包括网络连接详细信息、安全结果和元数据。

准备工作

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

  • Google SecOps 实例
  • 搭载 systemd 的 Windows 2016 或更高版本或 Linux 主机
  • 如果在代理后面运行,请确保防火墙端口根据 Bindplane 代理要求处于开放状态
  • 对 Forcepoint Security Management Center (SMC) 的特权访问权限

获取 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. 访问配置文件:

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

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

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

    net stop BindPlaneAgent && net start BindPlaneAgent
    

在 Forcepoint NGFW 上配置 Syslog 转发

  1. 登录 Forcepoint Security Management Center (SMC)
  2. 依次前往配置 > 日志服务器 > 属性
  3. 前往日志转发部分。
  4. 点击添加以创建新的转发规则。
  5. 提供以下配置详细信息:
    • 名称:输入一个描述性名称(例如 Google SecOps BindPlane Syslog)。
    • 主机:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号(例如 514)。
    • 协议:根据实际的 Bindplane 代理配置,选择 TCPUDP
    • 格式:选择 JSON
  6. 配置要转发的日志字段:
    • 点击选择字段,或访问字段选择配置。
    • 根据您的需求选择相关日志字段。以下字段通常是安全分析所必需的:
      • TIMESTAMP(创建时间)
      • LOG_ID(数据标识符)
      • EVENT(活动)
      • EVENT_ID(活动 ID)
      • SRC(来源地址)
      • DST(目的地地址)
      • Sport(来源端口)
      • Dport(目标端口)
      • PROTOCOL(协议)
      • SERVICE(服务)
      • RULE_ID(规则标记)
      • ACTION(操作)
      • NAT_SRCNAT_DSTNAT_SPORTNAT_DPORT(NAT 字段)
      • ACC_RX_BYTESACC_TX_BYTESACC_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/DstNodeId,则直接从 NodeId 映射。
NodeId principal.ip 如果存在 NodeId 但不存在 SrcDst,则直接从 NodeId 映射。
Protocol network.ip_protocol Protocol 映射而来,先将其转换为整数,然后使用查找功能将该数字转换为协议名称(例如,6 变为 TCP)。
RuleId security_result.rule_id 直接从 RuleId 映射。
Service principal.application 如果不是“Dest. Service无法访问(端口无法访问)”。
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 为“通知”,则设置为“低”。如果存在 SrcNodeId,以及 DstCompId,则设置为“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 proto 映射而来,先将其转换为整数,然后使用查找功能将该数字转换为协议名称(例如,6 变为 TCP)在 CEF 块中。
sourceTranslatedAddress principal.nat_ip 直接从 CEF 块中的 sourceTranslatedAddress 映射。
sourceTranslatedPort principal.nat_port 直接从 CEF 块中的 sourceTranslatedPort 映射。
spt principal.port 直接从 CEF 块中的 spt 映射。
src principal.ip 直接从 CEF 块中的 src 映射。

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