收集 Cofense 日志

解析器版本: 2.0

支持:

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

Cofense Triage 是一个钓鱼式攻击事件响应平台,可自动检测、分析和响应员工举报的钓鱼式攻击电子邮件。它可以将类似威胁归为一类,分配风险评分,提取入侵指标 (IOC),并与安全编排工具集成,以加快钓鱼式攻击事件的解决速度。

准备工作

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

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • Bindplane 代理与 Cofense Triage 服务器之间的网络连接
  • 如果通过代理运行,请确保防火墙端口根据 Bindplane 代理要求处于开放状态
  • 对 Cofense Triage 管理控制台的特权访问权限
  • Cofense Triage 1.20 版或更高版本

获取 Bindplane 代理的 Google SecOps 凭据

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

  • 新部署:使用 Chronicle API(方法 1)。
  • 旧版部署:继续使用注入身份验证文件(方法 2),直到注入 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 收集器目录中的 ingestion-auth.json(在 Linux 上为 /opt/observiq-otel-collector/ingestion-auth.json,在 Windows 上为 C:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json),或者更新 creds_file_path 在 config.yaml 中以与您保存该文件的路径匹配。
  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"
    

修改配置文件

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

    receivers:
      tcplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/cofense:
        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: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'your-customer-id'
        endpoint: chronicle.googleapis.com
        log_type: COFENSE_TRIAGE
        raw_log_field: body
    
    service:
      pipelines:
        logs/cofense_to_chronicle:
          receivers:
            - tcplog
          exporters:
            - chronicle/cofense
    
  2. 替换以下占位符:

    • 接收器配置:

      • listen_address:要监听的 IP 地址和端口:

        • 0.0.0.0:514,用于监听端口 514 上的所有接口(在 Linux 上需要 root 权限)
        • 0.0.0.0:1514,用于监听非特权端口(建议用于 Linux 非 root 用户)
      • 接收器类型选项:

        • tcplog,用于 TCP syslog(建议用于 Cofense Triage)
        • udplog,用于 UDP syslog
    • 导出器配置:

      • 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

      • 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/cofense:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: 'your-customer-id'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: COFENSE_TRIAGE
        raw_log_field: body
    

保存配置文件

修改后,请保存该文件:

  • Linux:按 Ctrl+O,然后按 Enter,再按 Ctrl+X
  • Windows:点击File > Save

重启 Bindplane 代理以应用更改

  • 如需在 Linux 中重启 Bindplane 代理,请执行以下操作:

    1. 运行以下命令:

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

      sudo systemctl status observiq-otel-collector
      
    3. 检查日志中是否有错误:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请执行以下操作:

    1. 请从下列选项中选择一项:

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

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

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

      sc query observiq-otel-collector
      
    3. 检查日志中是否有错误:

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

配置 Cofense Triage syslog 转发

Cofense Triage 可以通过 syslog 将 CEF(通用事件格式)中的钓鱼式攻击报告事件和提醒转发给外部 SIEM 收集器。

在 Cofense Triage 中启用 syslog 输出

  1. 使用管理员凭据登录 Cofense Triage 网页界面。
  2. 依次前往管理 > 系统 > Syslog。
  3. 启用 Syslog 开关。
  4. 配置以下 syslog 参数:
    • Syslog 服务器:输入 Bindplane 代理主机(例如 192.168.1.100)的 IP 地址或主机名。
    • 端口:输入与 Bindplane 代理 listen_address 匹配的端口(例如 514)。
    • 协议:选择 TCP (推荐)或 UDP 以与 Bindplane 代理接收器类型匹配。
    • 格式:选择 CEF(通用事件格式)。
  5. 点击保存 。

配置 syslog 提醒

  1. 在 Cofense Triage 网页界面中,依次前往管理 > 系统 > Syslog 提醒。
  2. 选择要转发的事件类型:
    • 钓鱼式攻击报告:在收到并处理新的钓鱼式攻击报告时转发
    • 集群事件:在报告被归为一类时转发
    • 威胁指标事件:在从报告中提取 IOC 时转发
    • 运行状况提醒:针对系统运行状况和性能事件转发
  3. 点击保存 。

验证 syslog 转发

  1. 保存 syslog 配置后,在 Cofense Triage 中触发测试事件(例如,处理钓鱼式攻击报告)。
  2. 检查 Bindplane 代理日志中是否有传入的 syslog 消息:
    • Linux: sudo journalctl -u observiq-otel-collector -f
    • Windows: type "C:\Program Files\observIQ OpenTelemetry Collector\log\collector.log"
  3. 验证日志中是否显示 CEF 格式的消息,例如:

    CEF:0|Cofense|Triage|1.0|100|Phishing Report Processed|5|suser=reporter@company.com duser=attacker@malicious.com cs4=Urgent: Account Verification cat=Processed:Threats
    

UDM 映射表

日志字段 UDM 映射 逻辑
msg、rule_id、start、rt additional.fields 与 msg 的标签合并(如果非空)、rule_id(如果非空)、start(如果非空)、rt(如果非空)
event_data、descrip metadata.description 来自 event_data 的值(如果非空),否则为 descrip
deviceCustomDate1、log_datetime metadata.event_timestamp 从 deviceCustomDate1 解析(如果非空),否则使用格式 MMM d yyyy HH:mm:ss 或 MMM d HH:mm:ss 解析 log_datetime
suser、duser、has_principal metadata.event_type 如果 suser 和 duser 与电子邮件模式匹配,则设置为 EMAIL_TRANSACTION,否则设置为 GENERIC_EVENT,然后如果 has_principal 为 true 且之前为 GENERIC_EVENT,则设置为 STATUS_UPDATE
cs3 metadata.product_log_id 使用 grok 模式 /%{INT:productlogid} 从 cs3 中提取
metadata.product_name 设置为“Triage”
cs3 metadata.url_back_to_product 直接复制的值
metadata.vendor_name 设置为“Cofense”
suser network.email.from 直接复制的值
cs4 network.email.subject 直接复制的值
duser network.email.to 直接复制的值
host principal.asset.hostname 直接复制的值
ipaddress principal.asset.ip 直接复制的值
host principal.hostname 直接复制的值
ipaddress principal.ip 直接复制的值
processID principal.process.pid 直接复制的值
descrip principal.user.userid 使用 grok 模式 User: (%{WORD:user_id}) 从 descrip 中提取
cat、cs2 security_result.action 如果 cat 在 ["health","Processed:Marketing","Processed:Non-Malicious"] 中,则设置为 ALLOW;如果 cat == "Processed:Spam" 或 "Processed:Threats" 或 cs2 在 ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] 中,则设置为 BLOCK
severity security_result.alert_state 如果 severity 在 ["8","10","11","12","13","14"] 中,则设置为 ALERTING,否则设置为 NOT_ALERTING
cat、cs2、severity security_result.category 如果 cat == "Processed:Spam",则设置为 MAIL_SPAM;如果 cs2 在 ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] 中或 severity 在 ["8","10","11","12","13","14"] 中,则设置为 MAIL_PHISHING
cat security_result.description 直接复制的值
severity security_result.rule_id 直接复制的值
cs2 security_result.rule_name 直接复制的值
cat、cs2 security_result.severity 如果 cat 在 ["health","Processed:Marketing","Processed:Non-Malicious"] 中,则设置为 INFORMATIONAL;如果 cat == "Processed:Spam",则设置为 HIGH;如果 cat == "Processed:Threats",则设置为 CRITICAL;否则,如果 cs2 在 ["PM_Intel_CoronaVirus_Keywords","PM_Intel_CredPhish_106159","VU_Potential_Credential_Stealer"] 中,则设置为 HIGH
msg", "rule_id", "start", and "rt additional.fields 从变更日志映射
ProcessID principal.process.pid 从变更日志映射

更新日志

查看此解析器的更新日志

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