[优化] 添加自动 IP 组功能,支持按 Expr 规则聚合请求日志并更新 IP 列表

This commit is contained in:
ryan
2026-06-01 09:33:04 +08:00
parent dfb3972b15
commit bc1b861841
17 changed files with 665 additions and 41 deletions
+6 -1
View File
@@ -139,10 +139,15 @@ WAF 以规则组为配置边界。系统固定一个全局规则组,默认应
IP 组约束:
* 手动 IP 组由管理端直接维护 IP/IP 段列表。
* 自动 IP 组当前只保存结构化配置,不执行请求日志挖掘。
* 自动 IP 组使用 Expr 语法保存自定义规则,由 Server 定时按单个 IP 聚合请求日志并更新 IP 列表。
* 订阅 IP 组由 Server 定时从 HTTP/HTTPS URL 同步,支持文本列表和 JSON 映射。
* WAF 运行时不访问数据库;发布时将规则组引用的启用 IP 组展开进完整配置版本。
自动 IP 组首批内置预设规则:
* 单个 IP 请求数大于 100,且 404 状态码占比不低于 80%:`request_count > 100 && status_404_ratio >= 0.8`
* 单个 IP 通过 IP 地址访问次数大于 50,且通过 IP 地址访问占比大于 50%:`ip_host_count > 50 && ip_host_ratio > 0.5`
判定顺序:
* 白名单是放行例外,任意启用规则组命中白名单即放行。