收集 FireEye HX 日志

支持的平台:

本文档介绍了如何使用 Bindplane 将 FireEye Endpoint Security (HX) 日志收集到 Google 安全运营团队。解析器会尝试将输入消息作为 JSON 进行处理。如果消息不是 JSON 格式,则该服务会使用 Grok 模式提取字段,然后根据提取的事件类型和其他条件执行条件 UDM 映射。

准备工作

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

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

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

获取 Google SecOps 客户 ID

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

安装 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:
        udplog:
            # 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: '/path/to/ingestion-authentication-file.json'
            # Replace with your actual customer ID from Step 2
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            # Add optional ingestion labels for better organization
            ingestion_labels:
                log_type: 'FIREEYE_HX'
                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 代理,您可以使用服务控制台,也可以输入以下命令:

    net stop BindPlaneAgent && net start BindPlaneAgent
    

使用界面配置 FireEye HX Event Streamer syslog

  1. 登录 FireEye HX 管理控制台。
  2. 前往活动直播
  3. 选择在宿主上启用 Event Streamer
  4. 保存政策更改。
  5. 依次前往目的地 > 服务器设置 > 添加 syslog 目的地
  6. 提供以下配置详细信息:
    • 名称:输入一个唯一名称来标记 Google SecOps 日志收集器。
    • IP 地址:输入 Bindplane 代理 IP 地址。
    • 端口:输入 Bindplane 代理端口号。
  7. 保存要应用的更改。

使用 CLI 配置 FireEye HX Event Streamer syslog

  1. 使用命令行界面 (CLI) 登录 FireEye HX 设备。
  2. 运行以下命令以启用配置模式:

    enable
    configure terminal
    
  3. 运行以下命令以添加远程 syslog 服务器目的地:

    logging BINDPLANE_IP_ADDRESS port PORT_NUMBER port
    
    • 替换以下内容:
      • BINDPLANE_IP_ADDRESS:Google SecOps 转发器 IP 地址
      • PORT_NUMBER:端口号
  4. 运行以下命令以保存配置详细信息:

    write mem
    

UDM 映射表

日志字段 UDM 映射 逻辑
alert.agent._id principal.asset.asset_id 原始日志中的代理 ID,前缀为 AGENT ID:
alert.agent.url principal.labels.value 原始日志中的代理网址。
alert.condition._id additional.fields.value.string_value 原始日志中的条件 ID,其中移除了 = 个字符。
alert.condition.url additional.fields.value.string_value 原始日志中的条件网址,其中移除了 = 个字符。
alert.decorators[].data.fireeye_report.indicator_verdict.malware_families.0 security_result.threat_name 原始日志的 decorators 字段中 FireEye 报告中的恶意软件系列。
alert.decorators[].data.fireeye_report.risk_summary security_result.description 原始日志的 decorators 字段中 FireEye 报告中的风险摘要。
alert.decorators[].data.fireeye_verdict security_result.severity_details 原始日志的 decorators 字段中的 FireEye 判定结果。
alert.event_at read_only_udm.metadata.event_timestamp 原始日志中的事件时间戳。
alert.event_id read_only_udm.metadata.product_log_id 原始日志中的事件 ID。
alert.event_type read_only_udm.metadata.product_event_type 原始日志中的事件类型。
alert.event_values.fileWriteEvent/fullPath target.file.full_path 从原始日志写入的文件的完整路径。
alert.event_values.fileWriteEvent/md5 target.file.md5 从原始日志写入的文件的 MD5 哈希。
alert.event_values.fileWriteEvent/pid principal.process.pid 从原始日志写入文件的进程 ID。
alert.event_values.fileWriteEvent/processPath principal.process.file.full_path 从原始日志写入文件的进程的路径。与 alert.event_values.fileWriteEvent/process 结合使用,以便在操作系统为 Windows 时创建完整路径。
alert.event_values.fileWriteEvent/size target.file.size 从原始日志写入的文件的大小。
alert.event_values.fileWriteEvent/username principal.user.userid 从原始日志写入文件的用户。
alert.event_values.ipv4NetworkEvent/localIP principal.ip 原始日志中的本地 IP 地址。
alert.event_values.ipv4NetworkEvent/localPort principal.port 原始日志中的本地端口。
alert.event_values.ipv4NetworkEvent/pid principal.process.pid 原始日志中的进程 ID。
alert.event_values.ipv4NetworkEvent/process principal.process.file.full_path 原始日志中的进程名称。如果操作系统是 Windows,则与 alert.event_values.ipv4NetworkEvent/processPath 结合使用以创建完整路径。
alert.event_values.ipv4NetworkEvent/processPath principal.process.file.full_path 原始日志中的进程路径。与 alert.event_values.ipv4NetworkEvent/process 结合使用,以便在操作系统为 Windows 时创建完整路径。
alert.event_values.ipv4NetworkEvent/protocol network.ip_protocol 原始日志中的网络协议。
alert.event_values.ipv4NetworkEvent/remoteIP target.ip 原始日志中的远程 IP 地址。
alert.event_values.ipv4NetworkEvent/remotePort target.port 原始日志中的远程端口。
alert.event_values.ipv4NetworkEvent/timestamp read_only_udm.metadata.event_timestamp 原始日志中的事件时间戳。
alert.event_values.ipv4NetworkEvent/username principal.user.userid 原始日志中的用户。
alert.event_values.processEvent/md5 target.process.file.md5 原始日志中进程的 MD5 哈希。
alert.event_values.processEvent/parentPid principal.process.pid 原始日志中的父进程 ID。
alert.event_values.processEvent/parentProcess principal.process.file.full_path 原始日志中的父进程名称。
alert.event_values.processEvent/parentProcessPath principal.process.file.full_path 原始日志中的父进程路径。
alert.event_values.processEvent/pid target.process.pid 原始日志中的进程 ID。
alert.event_values.processEvent/process target.process.file.full_path 原始日志中的进程名称。
alert.event_values.processEvent/processCmdLine target.process.command_line 原始日志中的进程命令行。
alert.event_values.processEvent/processPath target.process.file.full_path 原始日志中的进程路径。
alert.event_values.processEvent/timestamp read_only_udm.metadata.event_timestamp 原始日志中的事件时间戳。
alert.event_values.processEvent/username principal.user.userid 原始日志中的用户。
alert.event_values.urlMonitorEvent/hostname target.hostname 原始日志中的主机名。
alert.event_values.urlMonitorEvent/localPort principal.port 原始日志中的本地端口。
alert.event_values.urlMonitorEvent/pid principal.process.pid 原始日志中的进程 ID。
alert.event_values.urlMonitorEvent/process principal.process.file.full_path 原始日志中的进程名称。与 alert.event_values.urlMonitorEvent/processPath 结合使用,以便在操作系统为 Windows 时创建完整路径。
alert.event_values.urlMonitorEvent/processPath principal.process.file.full_path 原始日志中的进程路径。与 alert.event_values.urlMonitorEvent/process 结合使用,以便在操作系统为 Windows 时创建完整路径。
alert.event_values.urlMonitorEvent/remoteIpAddress target.ip 原始日志中的远程 IP 地址。
alert.event_values.urlMonitorEvent/remotePort target.port 原始日志中的远程端口。
alert.event_values.urlMonitorEvent/requestUrl target.url 原始日志中的请求网址。
alert.event_values.urlMonitorEvent/timestamp read_only_udm.metadata.event_timestamp 原始日志中的事件时间戳。
alert.event_values.urlMonitorEvent/urlMethod network.http.method 原始日志中的 HTTP 方法。
alert.event_values.urlMonitorEvent/userAgent network.http.user_agent 原始日志中的用户代理。
alert.event_values.urlMonitorEvent/username principal.user.userid 原始日志中的用户。
alert.indicator._id security_result.about.labels.value 原始日志中的指示器 ID。
alert.indicator.name read_only_udm.security_result.summary 原始日志中的指示器名称。
alert.indicator.url security_result.about.labels.value 原始日志中的指示器网址。
alert.multiple_match read_only_udm.metadata.description 原始日志中的多匹配消息。
alert.source additional.fields.value.string_value 原始日志中的提醒来源。
authmethod extensions.auth.mechanism 原始日志中的身份验证方法。如果值为 localLOCAL,则设置为 LOCAL;否则,设置为 MECHANISM_OTHER
authsubmethod extensions.auth.auth_details 原始日志中的身份验证子方法,已转换为大写。
客户端 principal.ip 原始日志中的客户端 IP 地址。
conditions.data.tests[].token security_result.detection_fields.key 原始日志中条件测试的令牌。
conditions.data.tests[].value security_result.detection_fields.value 原始日志中条件测试的值。
说明 read_only_udm.metadata.description 原始日志中的说明。
host.agent_version read_only_udm.metadata.product_version 原始日志中的代理版本。
host.containment_state read_only_udm.principal.containment_state 原始日志中的容器化状态。
host.domain read_only_udm.principal.administrative_domain 原始日志中的网域。
host.hostname read_only_udm.principal.hostname 原始日志中的主机名。
host.os.platform read_only_udm.principal.platform 原始日志中的操作系统平台。
host.os.product_name read_only_udm.principal.platform_version 原始日志中的操作系统产品名称。
host.primary_ip_address read_only_udm.principal.ip 原始日志中的主 IP 地址。
host.primary_mac read_only_udm.principal.mac 原始日志中的主 MAC 地址,其中 - 字符已替换为 :
host_ principal.hostname 原始日志中的主机名。
host_details.data.agent_version read_only_udm.metadata.product_version 原始日志中的代理版本。
host_details.data.containment_state read_only_udm.security_result.severity_details 原始日志中的容器化状态。
host_details.data.domain read_only_udm.principal.administrative_domain 原始日志中的网域。
host_details.data.hostname read_only_udm.principal.hostname 原始日志中的主机名。
host_details.data.os.platform read_only_udm.principal.platform 原始日志中的操作系统平台。
host_details.data.os.product_name read_only_udm.principal.platform_version 原始日志中的操作系统产品名称。
host_details.data.primary_ip_address read_only_udm.principal.ip 原始日志中的主 IP 地址。
host_details.data.primary_mac read_only_udm.principal.mac 原始日志中的主 MAC 地址,其中 - 字符已替换为 :
indicators.data.description read_only_udm.metadata.description 原始日志中的指示器说明。
line target.application 原始日志中的行。
localusername target.user.user_display_name 原始日志中的本地用户名。
principal_ip principal.ip 原始日志中的主 IP 地址。
原始事件 read_only_udm.principal.application 原始日志中的进程名称。
process_id read_only_udm.principal.process.pid 原始日志中的进程 ID。
referrer network.http.referral_url 原始日志中的引荐来源网址。
remoteaddress principal.ip 原始日志中的远程地址。
请求 additional.fields.value.string_value 原始日志中的请求。
角色 target.user.role_name 原始日志中的角色。
服务器 target.resource.attribute.labels.value 原始日志中的服务器。
sessionID network.session_id 原始日志中的会话 ID。
和程度上减少 security_result.severity 根据原始日志中的严重级别设置为 LOWMEDIUMHIGH
target_host read_only_udm.target.hostname 原始日志中的目标主机名。
target_ip target.ip 原始日志中的目标 IP 地址。
target_ip1 target.ip 原始日志中的目标 IPv6 地址。
时间戳 时间戳 原始日志中的时间戳。
上行 target.url 原始日志中的上游网址。
用户名 target.user.userid 原始日志中的用户名。

变化

2024-12-12

增强功能

  • 添加了对新格式 JSON 日志的支持。

2024-10-23

增强功能

  • cs12 映射到 additional.fields
  • cs9 映射到 target.process.file.md5

2024-10-15

增强功能

  • account_nameUUIDMitrehost_details.data.sysinfo.urlhost_details.routehost_details.data.reported_clonehost_details.data.timezone 映射到 security_result.detection_fields
  • Desc 映射到 metadata.description
  • Confidence 映射到 security_result.confidence
  • alert.appliance._id 映射到 additional.fields
  • host_details.data.stats.acqshost_details.data.stats.alerting_conditionshost_details.data.stats.alertshost_details.data.stats.exploit_alertshost_details.data.stats.exploit_blockshost_details.data.stats.false_positive_alerts 映射到 security_result.detection_fields

2024-09-12

增强功能

  • categoryOutcomecs13 映射到 additional.fields
  • cs6 映射到 target.process.file.sha1
  • cs9 映射到 target.process.file.md5

2024-08-28

增强功能

  • host_details.message 映射到 security_result.action_details
  • alert.md5valuesalert.resolutionalert.is_false_positivealert.alert_type 映射到 additional.fields
  • type.threat_type 映射到 security_result.threat_name
  • ent.lms_event_id 映射到 metadata.product_log_id
  • email.smtp.mail_from 映射到 network.email.from
  • email.headers.subject 映射到 network.email.subject
  • email.headers.to 映射到 network.email.to
  • ent.typeent.ident.nameent.object_sourceent.binaryent.attributes.scan_id 映射到 security_result.detection_fields

2024-08-13

增强功能

  • cs11Label 映射到 additional_cs11Label.key
  • cs11 映射到 additional_cs11.value

2024-04-04

增强功能

  • 添加了 Grok 模式,用于检索 JSON 数据以解析未解析的日志。
  • alert.sysinfo.mac_address 映射到 principal.mac
  • host_details.data.agent_version 映射到 metadata.product_version
  • alert.url 映射到 metadata.url_back_to_product
  • description 映射到 metadata.description
  • alert.event_type 映射到 metadata.product_event_type
  • alert.agent._id 映射到 principal.asset.asset_id
  • alert.event_id 映射到 metadata.product_log_id

2024-04-03

增强功能

  • deviceCustomDate1Label 映射到 additional_deviceCustomDate1.key
  • deviceCustomDate1 映射到 additional_deviceCustomDate1.value
  • deviceCustomDate2 映射到 additional_deviceCustomDate2.value

2024-04-02

增强功能

  • fileHash 添加了正则表达式检查,以分别映射 md5 和 sha256。

2024-01-04

增强功能

  • 添加了对丢弃的日志的支持。
  • client 映射到 principal.ip
  • principal_ip 映射到 principal.ip
  • remoteaddress 映射到 principal.ip
  • host_ 映射到 principal.hostname
  • line 映射到 principal.application
  • username 映射到 principal.user.userid
  • client_app_type 映射到 principal.resource.attribute.labels
  • upstream 映射到 target.url
  • role 映射到 target.user.role_name
  • server 映射到 target.resource.attribute.labels
  • localusername 映射到 target.user.user_display_name
  • request 映射到 additional.fields
  • mlocked 映射到 additional.fields
  • kernel_stack 映射到 additional.fields
  • sessionID 映射到 network.session_id
  • auth_mechanism 映射到 extensions.auth.mechanism
  • authsubmethod 映射到 extensions.auth.auth_details

2023-05-08

增强功能

  • 支持新的 JSON 日志类型。
  • client_ip 已映射到 principal.ip
  • client_src_port 已映射到 principal.port
  • ssl_version映射tonetwork.tls.version_protocol`。
  • ssl_cipher 已映射到 network.tls.cipher
  • method 已映射到 network.http.method
  • uri_path 已映射到 network.http.referral_url
  • persistent_session_id 已映射到 network.session_id
  • uri_query 已映射到 additional.fields
  • rewritten_uri_query 已映射到 additional.fields
  • virtualservice 已映射到 additional.fields
  • service_engine 已映射到 additional.fields
  • etag 已映射到 additional.fields
  • pool 已映射到 additional.fields
  • pool_name 已映射到 additional.fields
  • request_state 已映射到 additional.fields
  • compression 已映射到 additional.fields
  • vs_name 已映射到 additional.fields
  • request_id 已映射到 additional.fields
  • headers_received_from_server.Server 已映射到 additional.fields
  • headers_received_from_server.X-Request-Id 已映射到 additional.fields
  • headers_received_from_server.X-Server-Id 已映射到 additional.fields

2023-04-24

增强功能

  • 添加了对 CEF 格式日志的支持。

2022-08-19

bug 修复

  • 将 event_values.ipv4NetworkEvent/localIP 映射到 principal.ip
  • 将日志中的事件重命名为 event1,以避免出现描述符错误。
  • 在将 host_details.data.primary_ip_address 映射到 principal.ip 之前,向其添加了 null 检查。
  • 在映射到 principal.mac 之前,向 host_details.data.primary_mac 添加了 null 检查。
  • 在将 alert.reported_at 映射到 event.timestamp 之前,添加了 null 检查。

需要更多帮助?向社区成员和 Google SecOps 专业人士寻求解答。