horrorshow21/Wazuh-Unifi-UDMPFWLogs

GitHub: horrorshow21/Wazuh-Unifi-UDMPFWLogs

为 Wazuh 定制解析与规则,覆盖 Ubiquiti UDM Pro 防火墙日志的解码与告警。

Stars: 0 | Forks: 0

# Wazuh 解码器和 UniFi UDM Pro 的规则 适用于 Ubiquiti UniFi Dream Machine Pro (UDM Pro) 防火墙/策略引擎日志的定制 Wazuh 解码器和规则。 测试环境: - UniFi OS 4.x - UniFi Network 9.x / 10.x - Wazuh 4.14.x ## 解析内容 UDM Pro 的策略引擎会为每条防火墙规则命中记录生成类似 iptables 风格的 syslog 消息。这些日志 **不是** CEF 格式,示例如下: ``` UDMPRO [WAN_LOCAL-D-2147483647] DESCR="[WAN_LOCAL]Block All Traffic" IN=eth8 OUT= MAC=74:ac:b9:... SRC=x.x.x.x DST=x.x.x.x LEN=53 PROTO=UDP SPT=22146 DPT=27016 ``` 提取字段: | 字段 | 描述 | |---|---| | `action` | `A`(允许)或 `D`(拒绝/阻断) | | `extra_data` | 规则链(例如 `WAN_LOCAL`、`CUSTOM1_CUSTOM6`) | | `rule_name` | UniFi UI 中的规则描述 | | `srcip` | 源 IP | | `dstip` | 目标 IP | | `protocol` | TCP、UDP、ICMP 等 | | `srcport` | 源端口 | | `dstport` | 目标端口 | ## 先决条件 ### 1. Wazuh syslog 监听器 在 `/var/ossec/etc/ossec.conf` 的 `` 中添加 syslog 远程块: ``` syslog 514 udp YOUR_UDM_IP_OR_SUBNET YOUR_WAZUH_IP ``` 将 `YOUR_UDM_IP_OR_SUBNET` 替换为 UDM Pro 的 IP 或子网(例如 `192.168.1.0/24`)。如果 Wazuh 服务器与 UDM Pro 的主 IP 不在同一子网,请同时添加两条规则: ``` 192.168.1.0/24 192.168.5.0/24 ``` ### 2. 在 UniFi 防火墙规则中启用 syslog 记录 在 UniFi 网络界面中: **设置 → 网络安全 → 策略引擎 → 策略表** 对于每条需要记录日志的规则,点击 **编辑** 并启用 **Syslog 记录**。 ### 3. 启用 SIEM syslog 目标 在 UniFi 网络界面中: **设置 → 网络安全 → 流量记录 → 活动记录(Syslog)** 选择 **SIEM 服务器**,将 **服务器地址** 设置为 Wazuh IP,**端口** 设置为 `514`。 同时配置: **设置 → 控制平面 → 集成 → 活动记录(Syslog)** 选择 **SIEM 服务器**,并使用相同地址和端口记录管理/CEF 事件。 ## 安装 ``` # 复制文件 sudo cp udmpro_decoders.xml /var/ossec/etc/decoders/ sudo cp udmpro_rules.xml /var/ossec/etc/rules/ # 设置权限 sudo chown wazuh:wazuh /var/ossec/etc/decoders/udmpro_decoders.xml sudo chown wazuh:wazuh /var/ossec/etc/rules/udmpro_rules.xml sudo chmod 660 /var/ossec/etc/decoders/udmpro_decoders.xml sudo chmod 660 /var/ossec/etc/rules/udmpro_rules.xml # 测试配置 sudo /var/ossec/bin/wazuh-analysisd -t # 如果干净则重启 sudo systemctl restart wazuh-manager ``` ## 验证 首先从系统中获取一条真实的日志: ``` sudo grep "UDMPRO" /var/ossec/logs/archives/archives.log | head -5 ``` 复制一条以时间戳开头的日志(例如 `Apr 15 06:32:53 UDMPRO [WAN_LOCAL-D-...`),然后运行: ``` sudo /var/ossec/bin/wazuh-logtest ``` 将日志行粘贴到提示符中。 预期输出: ``` **Phase 2: Completed decoding. name: 'udmpro-firewall' action: 'D' extra_data: 'WAN_LOCAL' rule_name: '[WAN_LOCAL]Block All Traffic' **Phase 3: Completed filtering (rules). id: '110002' level: '5' description: 'UDM Pro: Traffic blocked by firewall rule: ...' ``` 检查实时告警: ``` sudo tail -f /var/ossec/logs/alerts/alerts.log | grep -i udmpro ``` 仪表板筛选器:`rule.groups: udmpro` ## 规则 | 规则 ID | 优先级 | 描述 | |---|---|---| | 110000 | 3 | 任意 UDM Pro 防火墙事件(基础规则) | | 110001 | 3 | 防火墙规则允许的流量 | | 110002 | 5 | 防火墙规则阻断的流量 | | 110003 | 6 | 入站 WAN 流量被阻断 | | 110004 | 5 | 跨 VLAN 流量被阻断 | | 110005 | 7 | 明文 DNS 被阻断(可能的绕过尝试) | | 110006 | 10 | 来自同一源的高频 WAN 阻断(扫描/攻击) | | 110007 | 8 | 来自同一源的重复跨 VLAN 阻断 | 规则 ID 使用范围 `110000-110099`。如果与其他规则集冲突,请在 `udmpro_rules.xml` 中重新编号。 ## 说明 - 这些规则仅解析 **iptables 风格** 的策略引擎日志。控制平面集成中发送的 CEF 格式日志需要单独的解码器(请参见 [Halino/Wazuh-Unifi](https://github.com/Halino/Wazuh-Unifi))。 - UDM Pro 从面向 Wazuh 服务器的接口发送 syslog,请确保该 IP 已被 `allowed-ips` 覆盖。 - 高流量的允许规则(如 DNS、日志记录)会产生大量优先级为 3 的告警。建议将规则 110001 的优先级调低为 0,或添加 `` 例外,在确认一切正常后屏蔽特定规则名称。
标签:iptables, OSSEC, Syslog, UDM Pro, UniFi, Wazuh, Windows日志分析, 日志分析与告警, 日志格式解析, 日志解析, 日志采集, 日志集中管理, 流量监控, 策略引擎, 网络安全, 网络安全挑战, 网络安全监控, 规则配置, 证书伪造, 远程日志, 防火墙日志, 隐私保护, 驱动开发