收集 Extreme Wireless 日志

解析器版本:2.0

支持的平台:

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

Extreme Networks 无线控制器会针对客户端关联和取消关联事件、身份验证、RADIUS 交互以及接入点状态变化生成 syslog 消息。解析器使用 Grok 模式提取字段,并将其映射到统一数据模型 (UDM)。

准备工作

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

  • Google SecOps 实例
  • Windows Server 2016 或更高版本,或者具有 systemd 的 Linux 主机
  • Bindplane 代理与 Extreme Networks CloudIQ 控制器之间的网络连接
  • 如果在代理后面运行,请确保防火墙端口已根据 Bindplane 代理要求打开
  • 对 Extreme Networks CloudIQ 的特权访问权限

获取 Google SecOps 注入身份验证文件

  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 /etc/bindplane-agent/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/extreme_wireless:
            compression: gzip
            creds_file_path: '/etc/bindplane-agent/ingestion-auth.json'
            customer_id: '<customer_id>'
            endpoint: malachiteingestion-pa.googleapis.com
            log_type: EXTREME_WIRELESS
            raw_log_field: body
    
    service:
        pipelines:
            logs/extreme_wireless_to_chronicle:
                receivers:
                    - udplog
                exporters:
                    - chronicle/extreme_wireless
    

配置参数

替换以下占位符:

  • 接收器配置

    • listen_address:要监听的 IP 地址和端口:
      • 0.0.0.0 侦听所有接口(推荐)
      • 端口 514 是标准 syslog 端口(在 Linux 上需要 root 权限;对于非 root 用户,请使用 1514
  • 导出器配置

    • creds_file_path:提取身份验证文件的完整路径:
      • Linux/etc/bindplane-agent/ingestion-auth.json
      • WindowsC:\Program Files\observIQ OpenTelemetry Collector\ingestion-auth.json
    • customer_id:从 Google SecOps 控制台复制的客户 ID
    • endpoint:区域端点网址:
      • 美国malachiteingestion-pa.googleapis.com
      • 欧洲europe-malachiteingestion-pa.googleapis.com
      • 亚洲asia-southeast1-malachiteingestion-pa.googleapis.com
      • 如需查看完整列表,请参阅区域级端点

保存配置文件

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

重启 Bindplane 代理以应用更改

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

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

      sudo systemctl status observiq-otel-collector
      
    2. 检查日志是否存在错误:

      sudo journalctl -u observiq-otel-collector -f
      
  • 如需在 Windows 中重启 Bindplane 代理,请选择以下选项之一:

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

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

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

        sc query observiq-otel-collector
        
      5. 检查日志是否存在错误:

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

在 Extreme Networks CloudIQ 上配置 syslog

  1. 登录 CloudIQ 网页界面。
  2. 依次前往配置 > 通用对象 > 管理 > Syslog 服务器
  3. 点击 +
  4. 提供以下配置详细信息:
    • 名称:为服务器提供一个唯一名称。
    • 严重级别:选择信息
    • 选择菜单中选择现有的 syslog IP 地址,或点击 +
    • 输入 Bindplane 代理 IP 地址。
    • 输入 Bindplane 代理端口号。
    • 点击添加
  5. 点击保存 Syslog 服务器

UDM 映射表

日志字段 UDM 映射 逻辑
action security_result.detection_fields.key 原始日志中的 action 字段的值会映射到 security_result.detection_fields.key
action security_result.detection_fields.value 原始日志中的 action 字段的值会映射到 security_result.detection_fields.value
BSSID principal.resource.attribute.labels.key 字符串“BSSID”已分配给 principal.resource.attribute.labels.key
BSSID principal.resource.attribute.labels.value 原始日志中的 BSSID 字段的值会映射到 principal.resource.attribute.labels.value
collection_time.nanos metadata.event_timestamp.nanos 原始日志中的 collection_time.nanos 值会映射到 metadata.event_timestamp.nanos
collection_time.seconds metadata.event_timestamp.seconds 原始日志中的 collection_time.seconds 值会映射到 metadata.event_timestamp.seconds
collection_time.seconds timestamp.seconds 原始日志中的 collection_time.seconds 值会映射到 timestamp.seconds
collection_time.nanos timestamp.nanos 原始日志中的 collection_time.nanos 值会映射到 timestamp.nanos
data security_result.description 原始日志中的 data 字段的值经过多次 gsub 转换以移除不需要的字符和“不适用”值后,会映射到 security_result.description 字段。
description security_result.description 由 grok 解析器提取的 description 字段的值会映射到 security_result.description 字段。
first security_result.detection_fields.key 字符串“first”已分配给 security_result.detection_fields.key
first security_result.detection_fields.value 原始日志中的 first 字段的值会映射到 security_result.detection_fields.value
hostname principal.asset.hostname 原始日志中 hostname 字段的值会映射到 principal.asset.hostnameprincipal.hostname 字段。
hostname principal.hostname 原始日志中 hostname 字段的值会映射到 principal.asset.hostnameprincipal.hostname 字段。
IP principal.asset.ip 原始日志中 IP 字段的值会映射到 principal.asset.ipprincipal.ip 字段。
IP principal.ip 原始日志中 IP 字段的值会映射到 principal.asset.ipprincipal.ip 字段。
MAC principal.resource.attribute.labels.key 字符串“MAC”已分配给 principal.resource.attribute.labels.key
MAC principal.resource.attribute.labels.value 原始日志中的 MAC 字段的值会映射到 principal.resource.attribute.labels.value
medium security_result.detection_fields.key 字符串“medium”已分配给 security_result.detection_fields.key
medium security_result.detection_fields.value 原始日志中 medium 字段的值会映射到 security_result.detection_fields.valuemetadata.event_type 由解析器中的逻辑确定。如果同时存在 principaltarget 机器 ID,则将其设置为 NETWORK_CONNECTION。如果存在 principaltarget User-ID,则设置为 USER_UNCATEGORIZED。如果仅存在 principal 机器 ID,则将其设置为 STATUS_UPDATE。否则,该值会默认为 GENERIC_EVENT。字符串“EXTREME WIRELESS”已分配给 metadata.product_name
prod_event_type metadata.product_event_type 原始日志中 prod_event_type 字段的值会映射到 metadata.product_event_type 字段。
port principal.port 原始日志中 port 字段的值(转换为整数)会映射到 principal.port 字段。
problem_summary security_result.summary 原始日志中 problem_summary 字段的值会映射到 security_result.summary 字段。
SSID principal.resource.attribute.labels.key 字符串“SSID”已分配给 principal.resource.attribute.labels.key
SSID principal.resource.attribute.labels.value 原始日志中的 SSID 字段的值会映射到 principal.resource.attribute.labels.value
station principal.asset.hostname 原始日志中 station 字段的值会映射到 principal.asset.hostnameprincipal.hostname 字段。
station principal.hostname 原始日志中 station 字段的值会映射到 principal.asset.hostnameprincipal.hostname 字段。
target_host target.asset.hostname 原始日志中 target_host 字段的值会映射到 target.asset.hostnametarget.hostname 字段。
target_host target.hostname 原始日志中 target_host 字段的值会映射到 target.asset.hostnametarget.hostname 字段。
target_ip target.asset.ip 原始日志中 target_ip 字段的值会映射到 target.asset.iptarget.ip 字段。
target_ip target.ip 原始日志中 target_ip 字段的值会映射到 target.asset.iptarget.ip 字段。
target_port target.port 原始日志中 target_port 字段的值(转换为整数)会映射到 target.port 字段。
target_user target.user.userid 原始日志中 target_user 字段的值会映射到 target.user.userid 字段。
user-profile security_result.detection_fields.key 字符串“user profile”已分配给 security_result.detection_fields.key
user-profile security_result.detection_fields.value 原始日志中的 user-profile 字段的值会映射到 security_result.detection_fields.value
username principal.user.userid 原始日志中 username 字段的值会映射到 principal.user.userid 字段。字符串“EXTREME_WIRELESS”已分配给 metadata.vendor_name

更新日志

查看相应解析器的更改日志

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