kboykov/wazuh-fortigate-json

GitHub: kboykov/wazuh-fortigate-json

专为 FortiGate 防火墙 JSON 日志设计的 Wazuh 检测规则集,提供从流量监控到关联分析的全面安全覆盖。

Stars: 1 | Forks: 0

# 适用于 FortiGate FortiOS 8.0.0 的 Wazuh 规则 (JSON 日志) 一套适用于运行 FortiOS 8.0.0 的 Fortinet FortiGate 防火墙的 Wazuh 检测规则集,用于接收原生 JSON 格式的 syslog 输出。 ## 概述 FortiGate 设备可以通过 syslog 以 JSON 格式输出日志。Wazuh 内置的 `json` 解码器会处理这些日志,并将所有 JSON 键提升为顶层解码字段。本规则集锚定 `devid` 字段(在 FortiGate 硬件和虚拟机上总是以 `FG` 开头),以在所有 JSON 来源中精准识别 FortiGate 事件,并由此构建结构化的检测层级。 **规则 ID 范围:** 118100 – 118299 **规则总数:** 149 **目标固件:** FortiOS 8.0.0(日志格式与 6.4 和 7.x 版本基本兼容) ## 文件 ``` decoders/ fortigate-json_decoders.xml # Optional custom decoder (not required when using built-in JSON decoder) rules/ fortigate-json_rules.xml # 149 detection rules references/ fortios_8_0_log_ids.csv # FortiOS 8.0.0 log ID reference with pre-assigned Wazuh rule IDs fortiguard_web_filter_categories.csv # FortiGuard URL category number-to-name mapping ``` ## 解码器说明 这些规则依赖于 **Wazuh 内置的 `json` 解码器**,而不是本仓库中的自定义解码器。当日志事件是有效的 JSON 时,Wazuh 会自动选择内置解码器。无需安装自定义解码器。 提供的 `fortigate-json_decoders.xml` 主要用于通过特定程序名 (`devname`) 路由 FortiGate syslog 的环境,但本规则集并不依赖它。 ## 规则覆盖范围 ### 流量 (118101 – 118108) | 规则 | 描述 | |------|-------------| | 118101 | 流量日志父规则 (锚点) | | 118102 | 允许的流量 (`action: accept/allow`) | | 118103 | 被策略拒绝/丢弃的流量 | | 118104 | 被客户端或服务器重置的连接 | | 118105 | 连接尝试失败 (`logid: 0000000011`) | | 118106 | 转发流量统计 (`logid: 0000000020`) | | 118107 | 本地流量 (管理平面) | | 118108 | ZTNA 流量 (`logid: 0005000024`) | ### UTM — 防病毒 (118110 – 118118) 恶意软件拦截/通过、FortiSandbox 判定、Outbreak Prevention、EMS 威胁源、内容解除与重构 (CDR)、0day 恶意软件流、超大文件。 ### UTM — IPS / 异常 (118119 – 118128) IPS 攻击特征 (alert/warning/notice)、僵尸网络 C&C 拦截与检测、恶意 URL、L2 协议攻击、异常攻击。 ### UTM — Web 过滤 (118129 – 118144) URL 过滤列表拦截、FortiGuard 类别拦截 (包括针对恶意网站、钓鱼、黑客攻击、代理规避的特定规则)、FortiGuard 风险级别拦截、防钓鱼、域名前置、命令拦截、评级错误、配额到期、视频过滤、FortiGuard 不可达。 ### UTM — 应用控制 (118145 – 118150) 应用拦截、高/严重/高风险应用、端口强制违规、协议强制违规。 ### UTM — DLP (118151 – 118154) 数据丢失拦截、检测到数据丢失 (监控模式)、指纹源错误。 ### UTM — WAF (118155 – 118159) 请求被拦截 (特征、自定义特征、地址列表)、WAF 异常拦截。 ### UTM — 电子邮件 / 垃圾邮件 (118160) 垃圾邮件 / MIME 垃圾邮件通知。 ### UTM — CASB (118161) SaaS 应用活动被拦截。 ### 事件 — 管理员身份验证 (118162 – 118170) 登录成功、登录失败、账户锁定、注销、会话断开、密码过期、进入/离开 VDOM、FortiToken 推送失败。 ### 事件 — 配置更改 (118171 – 118182) CLI 和 GUI 配置更改、全局设置更改、配置备份、配置恢复、系统启动/关闭/重启/恢复出厂设置、固件升级、镜像加载失败、无效/被篡改的固件、应用程序崩溃。 ### 事件 — VPN (118183 – 118185) IPsec 隧道建立、隧道断开、VPN 统计。 ### 事件 — 系统健康 (118186 – 118213) 内存保护模式、极低内存、IPS 直通、接口 link/admin 状态更改、内核错误、套接字池耗尽、IP 池耗尽、电源故障/冗余、温度告警、风扇异常、磁盘不可用、日志磁盘故障、SSD 备用块、磁盘日志已满/损坏。 ### 事件 — 路由 (118214 – 118218) BGP/OSPF 邻居状态更改、路由信息更改、路由日志严重。 ### 事件 — SD-WAN (118219 – 118222) 链路质量更改、质量下降、故障检测、邻居状态。 ### 事件 — 许可 (118223 – 118232) AV/IPS/webfilter 许可即将到期与已过期、VM 许可过期、许可状态更改、重复许可、证书即将过期、CRL 已过期。 ### 事件 — 安全 Fabric / CSF (118233 – 118236) FortiAnalyzer 连接建立/断开/失败、写入权限违规、硬链接违规、内核/固件加载违规、可执行文件哈希缺失/不匹配。 ### 事件 — 杂项 (118237 – 118242) DHCP 池已满/过高、Security Fabric 循环、上游 SN 更改、指向 IoC 的本地生成流量、FNBAM 身份验证错误、日志上传错误。 ### 频率 / 关联 (118250 – 118257) | 规则 | 触发条件 | 阈值 | |------|---------|-----------| | 118250 | 管理员暴力破解 | 5 次失败 / 60 秒 (同一 srcip) | | 118251 | 管理员暴力破解升级 | 10 次失败 / 120 秒 | | 118252 | 防火墙拒绝洪泛 (端口扫描 / 攻击) | 10 次拒绝 / 30 秒 (同一 srcip) | | 118253 | IPS 攻击活动 | 5 个 IPS 告警 / 60 秒 (同一 srcip) | | 118254 | 受感染主机传播恶意软件 | 3 次检测 / 120 秒 (同一 srcip) | | 118255 | 连接洪泛 / 扫描 | 15 次连接失败 / 30 秒 (同一 srcip) | | 118256 | 数据外发尝试 | 5 次 DLP 违规 / 300 秒 (同一 srcip) | | 118257 | Web 攻击活动 | 10 次 WAF 拦截 / 60 秒 (同一 srcip) | ## 严重级别映射 | FortiGate 级别 | Wazuh 级别 | |----------------|-------------| | emergency | 15 | | alert | 14 | | critical | 12 | | error | 8 | | warning | 6 | | notice | 5 | | information | 3 | | debug | 2 | ## 合规性标签 在适用的情况下,规则已为以下框架打上标签: - **PCI DSS** (1.3.4, 5.1, 6.5, 6.6, 10.2.x, 10.5.5, 11.4) - **GDPR** (IV 35.7.d) - **HIPAA** (164.312.a, 164.312.b) - **NIST 800-53** (AC, AU, CM, IA, SC, SI) - **GPG13** (4.13) ## MITRE ATT&CK 覆盖范围 规则中映射的选定技术 ID: `T1048` `T1059` `T1071` `T1078` `T1098` `T1102` `T1110.001` `T1133` `T1190` `T1204.002` `T1486` `T1499` `T1505` `T1531` `T1543` `T1562` `T1571` ## 安装 ### 1. FortiGate syslog 配置 将 FortiGate 配置为向 Wazuh 发送 JSON 格式的 syslog: ``` config log syslogd setting set status enable set server set port 514 set format json end ``` ### 2. 部署解码器 (可选) 仅当您的 FortiGate syslog 使用 `devname` 作为程序名标记,并且您希望进行显式解码器链接时才需要: ``` cp decoders/fortigate-json_decoders.xml /var/ossec/etc/decoders/ ``` ### 3. 部署规则 ``` cp rules/fortigate-json_rules.xml /var/ossec/etc/rules/ ``` ### 4. 重启 Wazuh 管理器 ``` systemctl restart wazuh-manager ``` ### 5. 使用 wazuh-logtest 进行验证 ``` /var/ossec/bin/wazuh-logtest ``` 粘贴一条 FortiGate JSON 日志样本行并确认: - **Phase 2** 解码器: `name: 'json'` - **Phase 3** 规则: 触发了一条 118xxx 规则 ## 系统要求 - Wazuh Manager 4.3 或更高版本 - 运行 FortiOS 6.4 / 7.x / 8.0 的 FortiGate - FortiGate 上的 Syslog 格式设置为 `json` ## 参考资料 - [FortiOS 8.0.0 日志消息参考](https://docs.fortinet.com/document/fortigate/8.0.0/fortios-log-message-reference) - [Wazuh 规则集文档](https://documentation.wazuh.com/current/user-manual/ruleset/index.html) - [Wazuh 解码器语法](https://documentation.wazuh.com/current/user-manual/ruleset/ruleset-xml-syntax/decoders.html)
标签:AMSI绕过, FortiGate, Fortinet, FortiOS, Homebrew安装, JSON, Log Decoder, PB级数据处理, Syslog, UTM, Wazuh, 威胁检测, 安全信息与事件管理, 安全策略, 安全运维, 提示词设计, 搜索引擎爬取, 红队行动, 网络安全, 防火墙规则, 隐私保护