收集 Cambium Networks 日志
本文档介绍了如何使用 Bindplane 将 Cambium Networks 日志注入到 Google Security Operations。解析器从 Cambium Networks 交换机和路由器 syslog 消息中提取键值对,并将它们映射到统一数据模型 (UDM)。它使用 Grok 来构建初始消息,使用 KV 来分隔键值对,并使用条件语句将提取的字段映射到特定的 UDM 属性,从而将事件归类为“STATUS_UPDATE”或“GENERIC_EVENT”。
准备工作
请确保满足以下前提条件:
- Google SecOps 实例
- Windows 2016 或更高版本,或者具有
systemd
的 Linux 主机 - 如果在代理后运行,防火墙端口处于开放状态
- 对 Cambium Networks 设备的特权访问权限
获取 Google SecOps 注入身份验证文件
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 收集代理。
- 下载注入身份验证文件。将该文件安全地保存在将要安装 Bindplane 的系统上。
获取 Google SecOps 客户 ID
- 登录 Google SecOps 控制台。
- 依次前往 SIEM 设置 > 配置文件。
- 复制并保存组织详细信息部分中的客户 ID。
安装 Bindplane 代理
Windows 安装
- 以管理员身份打开命令提示符或 PowerShell。
运行以下命令:
msiexec /i "https://github.com/observIQ/bindplane-agent/releases/latest/download/observiq-otel-collector.msi" /quiet
Linux 安装
- 打开具有 root 或 sudo 权限的终端。
运行以下命令:
sudo sh -c "$(curl -fsSlL https://github.com/observiq/bindplane-agent/releases/latest/download/install_unix.sh)" install_unix.sh
其他安装资源
如需了解其他安装选项,请参阅安装指南。
配置 Bindplane 代理以注入 Syslog 并将其发送到 Google SecOps
- 访问配置文件:
- 找到
config.yaml
文件。通常,它位于 Linux 上的/etc/bindplane-agent/
目录中或 Windows 上的安装目录中。 - 使用文本编辑器(例如
nano
、vi
或记事本)打开该文件。
- 找到
按如下方式修改
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: 'CAMBIUM_NETWORKS' raw_log_field: body service: pipelines: logs/source0__chronicle_w_labels-0: receivers: - udplog 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
在 ePMP 1000/2000/Force 180/200 和 ePMP Elevate 上配置 Syslog
- 登录 Cambium Networks GUI。
- 依次前往配置 > 系统 > Syslog 记录。
- 提供以下配置详细信息:
- Syslog Mask(Syslog 掩码):点击 Select All(全选)。
- 服务器 1:输入 Bindplane 代理 IP 地址。
- 点击保存。
在 ePMP 1000 HS 和 cnPilot E400/E500/E501 上配置 Syslog
- 登录 Cambium Networks GUI。
- 依次前往配置 > 系统 > 事件日志记录。
- 提供以下配置详细信息:
- Syslog 服务器 1:输入 Bindplane 代理 IP 地址。
- 点击保存。
使用 SSH 登录设备 CLI,然后输入以下命令以启用调试级别:
logging cnmaestro 7
保存并应用设置。
输入以下命令,通过 CLI 验证设备代理日志:
service show debug-logs device-agent
在 cnPilot R200/R201/R190 上配置 Syslog
- 登录 Cambium Networks GUI。
- 依次前往管理 > 管理 > 系统日志设置。
- 提供以下配置详细信息:
- Syslog Enable(Syslog 启用):选择 Enable(启用)。
- Syslog 级别:选择 INFO。
- 远程 Syslog 启用:选择启用。
- 远程 Syslog 服务器:输入 Bindplane 代理 IP 地址。
- 点击保存。
在 PMP 450/450i/450m AP 上配置 Syslog
- 登录 Cambium Networks GUI。
- 依次前往配置 > cnMaestro。
- 提供以下配置详细信息:
- cnMaestro Agent 调试日志级别:选择 INFO。
- 依次前往配置 > Syslog。
- 提供以下配置详细信息:
- Syslog DNS Server Usage:选择 Disable DNS Domain Name。
- Syslog 服务器:输入 Bindplane 代理 IP 地址。
- Syslog 服务器端口:输入 Bindplane 代理端口号。
- AP Syslog Transmit:选择 Enabled。
- SM Syslog Transmit:选择 Enabled。
- Syslog 最低级别:选择 info。
- 点击保存。
在 PMP 450/450i/450m SM 上配置 Syslog
- 登录 Cambium Networks GUI。
- 依次前往配置 > cnMaestro。
- 提供以下配置详细信息:
- cnMaestro Agent 调试日志级别:选择 INFO。
- 依次前往配置 > Syslog。
- 提供以下配置详细信息:
- Syslog 配置来源:选择 AP Preferred。
- Syslog DNS Server Usage:选择 Disable DNS Domain Name。
- Syslog 服务器:输入 Bindplane 代理 IP 地址。
- Syslog 服务器端口:输入 Bindplane 代理端口号。
- Syslog 传输:选择从 AP 获取。
- Syslog Minimum Level Source:选择 AP Preferred。
- Syslog 最低级别:选择 info。
- 点击保存。
UDM 映射表
日志字段 | UDM 映射 | 逻辑 |
---|---|---|
bssid | read_only_udm.principal.mac | 使用密钥 bssid 从 kv_fields 中提取。 |
频道 | read_only_udm.security_result.about.resource.attribute.labels.value | 使用密钥 channel 从 kv_fields 中提取。标签的一部分。 |
host_name | read_only_udm.principal.hostname | 使用 grok 模式从日志消息中提取。 |
ids_event | read_only_udm.security_result.summary | 使用密钥 ids_event 从 kv_fields 中提取。 |
ids_status | read_only_udm.security_result.description | 使用密钥 ids_status 从 kv_fields 中提取。如果存在,则用作说明。 |
iap | read_only_udm.security_result.about.resource.attribute.labels.value | 使用密钥 iap 从 kv_fields 中提取。标签的一部分。 |
制造商 | read_only_udm.security_result.about.resource.attribute.labels.value | 使用密钥 manufacturer 从 kv_fields 中提取。标签的一部分。 |
rssi | read_only_udm.security_result.about.resource.attribute.labels.value | 使用密钥 rssi 从 kv_fields 中提取。标签的一部分。 |
安全 | read_only_udm.security_result.about.resource.attribute.labels.value | 使用密钥 security 从 kv_fields 中提取。标签的一部分。 |
和程度上减少 | read_only_udm.security_result.severity | 使用 grok 模式从日志消息映射。alert 映射到 HIGH ,warn 映射到 MEDIUM ,其他所有内容都映射到 LOW 。 |
和程度上减少 | read_only_udm.security_result.severity_details | 使用 Grok 模式从日志消息映射。保留原始严重程度值。 |
ssid | read_only_udm.principal.application | 使用密钥 ssid 从 kv_fields 中提取。 |
时间戳 | read_only_udm.metadata.event_timestamp | 使用 Grok 模式从日志消息中提取并转换为时间戳。 |
read_only_udm.metadata.event_type | 根据 security_result 和 host_name 字段中是否存在值来确定。如果这两个字段都存在,则事件类型设置为 STATUS_UPDATE ,否则设置为 GENERIC_EVENT 。 |
|
read_only_udm.security_result.about.resource.attribute.labels.key | 此字段的值由解析器逻辑根据正在处理的特定键值对确定。可能的值包括:Internet_Access_Provider 、manufacturer 、channel 、received_signal_strength_indicator 和 encryption_standard 。 |
|
read_only_udm.security_result.description | 如果严重程度为 warn ,则此字段的值为 kv_fields ;否则,此字段的值为 ids_status 。 |
需要更多帮助?从社区成员和 Google SecOps 专业人士那里获得解答。