收集 Ordr IoT 日志

支持范围:

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

Ordr 系统控制引擎 (SCE) 是一个已连接的设备安全平台,可提供对 IoT、OT 和 IoMT 设备的可见性和威胁检测。它支持通过 CEF(通用事件格式)中的 syslog 将安全提醒、设备事件和提醒数据转发到外部 SIEM 平台。Ordr 于 2024 年被 Palo Alto Networks 收购。

准备工作

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

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

获取 Bindplane 代理的 Google SecOps 凭据

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

  • 新部署:使用 Chronicle API(方法 1)。
  • 旧版部署:继续使用注入身份验证文件(方法 2),直到注入 API 于 2027 年 7 月 20 日停用为止。
  1. 登录 Google Cloud 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
    

该服务应显示为活跃(正在运行) 。

其他安装资源

如需了解其他安装选项和问题排查信息,请参阅 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:
      udplog:
        listen_address: "0.0.0.0:514"
    
    exporters:
      chronicle/ordr_iot:
        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: '<customer_id>'
        endpoint: chronicle.googleapis.com
        log_type: ORDR_IOT
        raw_log_field: body
        ingestion_labels:
          env: production
    
    service:
      pipelines:
        logs/ordr_to_chronicle:
          receivers:
            - udplog
          exporters:
            - chronicle/ordr_iot
    

配置参数

替换以下占位符:

  • 接收器配置:

    • udplog:基于协议的接收器类型:
      • UDP syslog 的 udplog
      • TCP syslog 的 tcplog
    • 0.0.0.0:要监听的 IP 地址:
      • 0.0.0.0 以监听所有接口(推荐)
      • 要监听一个接口的特定 IP 地址
    • 514:要监听的端口号(例如 514、1514、6514)
  • 导出器配置:

    • ordr_iot:导出器的描述性名称
    • 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>:上一步中的客户 ID
    • location:将 <LOCATION> 替换为 Google SecOps 实例的区域(例如 us、europe 或 asia-southeast1)。导出器会以此值作为 chronicle.googleapis.com 的前缀。如需查看完整列表,请参阅区域级端点。
    • project:将 <PROJECT_NUMBER> 替换为 IAM 和管理 > 设置 中的项目编号。
    • endpoint:保持设置为 chronicle.googleapis.com。
    • ORDR_IOT:日志类型,与 Chronicle 中显示的内容完全一致
    • ingestion_labels:YAML 格式的可选标签(例如 env: production)
  • 流水线配置:

    • ordr_to_chronicle:流水线的描述性名称

旧版注入 API 导出器

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

    exporters:
      chronicle/ordr_iot:
        compression: gzip
        creds_file_path: '/opt/observiq-otel-collector/ingestion-auth.json'
        customer_id: '<customer_id>'
        endpoint: malachiteingestion-pa.googleapis.com
        log_type: ORDR_IOT
        raw_log_field: body
        ingestion_labels:
          env: production
    

保存配置文件

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

重启 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"
    

配置 Ordr SCE syslog 转发

  1. 使用管理员凭据登录 Ordr SCE 管理控制台。
  2. 依次前往设置 > 集成 > SIEM。
  3. 点击添加 或配置 以设置新的 syslog 集成。
  4. 提供以下配置详细信息:
    • Syslog 服务器 IP/主机名:输入 Bindplane 代理主机的 IP 地址(例如 192.168.1.100)。
    • 端口:输入 514(必须与 Bindplane 代理接收器端口匹配)。
    • 协议:选择 UDP (必须与 Bindplane 代理接收器类型匹配)。
    • 格式:选择 CEF(通用事件格式)。
  5. 选择要转发的事件类型(例如提醒、安全性事件、设备分类事件)。
  6. 点击保存 以应用配置。
  7. 通过检查 Bindplane 代理日志,验证是否收到了 syslog 消息。

UDM 映射表

日志字段 UDM 映射 逻辑
additional_alarmHash、additional_connectionState、additional_reference additional.fields UDM 架构未涵盖的其他元数据字段。
deviceDescr、desc metadata.description 事件的说明。
has_principal、has_target metadata.event_type 事件类型(例如 USER_LOGIN、NETWORK_CONNECTION)。
eventType metadata.product_event_type 特定于产品的事件类型。
protocol network.ip_protocol 网络连接中使用的 IP 协议。
principal principal 事件涉及的主体实体。
deviceType principal.asset.category 资产的类别。
modelNameNo、manufacturer、mfgName principal.asset.hardware 资产的硬件信息。
fqdn、deviceName principal.asset.hostname 资产的主机名。
ipAddress、srcIp principal.asset.ip 资产的 IP 地址。
fqdn、deviceName principal.hostname 与主体关联的主机名。
ipAddress、srcIp principal.ip 与主体关联的 IP 地址。
srcHost、srcMac、deviceId、equipMac、clientId principal.mac 与主体关联的 MAC 地址。
osType principal.platform 操作系统平台。
osVersion principal.platform_version 操作系统平台的版本。
srcPort principal.port 与主体关联的端口号。
groupList、deviceGroup principal.user.group_identifiers 用户的群组标识符列表。
alarmType、alarmCategory、riskState、level、severityLevel security_result 安全结果信息。
dstHost target.asset.hostname 目标资产的主机名。
dstIp、ip target.asset.ip 目标资产的 IP 地址。
dstHost target.hostname 目标的主机名。
dstIp、ip target.ip 目标的 IP 地址。
dstPort target.port 目标的端口号。
metadata.vendor_name 供应商/公司名称。
metadata.product_name 商品名称。
timestamp metadata.event_timestamp 从变更日志映射

更新日志

查看此解析器的更新日志

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