防护等级机制
详解 0~5 级防护等级定义、独立与夹杂特征差异化拦截策略及动态临时升档机制。
CheeseWAF 支持为每个站点独立配置防护等级(sites[].waf.paranoia_level)。取值范围为 0 至 5,系统默认推荐值为 3。
防护等级机制的核心目标是在保证高检出率的同时最大程度降低误报率。语义分析引擎在对单个解码后的参数值进行检测时,会根据特征形态(独立特征 vs 夹杂特征)与当前防护等级执行分级处置。
双独立开关模型(Two Independent Knobs):
waf.paranoia_level(0~5)驱动的是语义分析引擎本身——决定引擎判定载荷形态(独立特征 vs 夹杂特征)的敏感度与严格程度。- 代理层的拦截与挑战阈值来自另一个配置项
protection_policy.web_attack(可选off、low、smart、high、strict,默认smart)。它决定检出威胁后代理层如何处置(严重度与置信度门槛、聚合风险分判断,以及 100ms 检测预算耗尽时的失败降级策略)。两者相互解耦。
防护等级对照表
| 等级 | 策略定位 | 独立特征(Isolated) | 夹杂特征(Embedded) | 动态升档支持 |
|---|---|---|---|---|
| 0 | 仅记录 | 记录告警日志并放行 | 记录告警日志并放行 | 否 |
| 1 | 监控观察 | 记录告警日志并放行 | 记录告警日志并放行 | 否 |
| 2 | 基础防御 | 当场阻断 | 放行,异步投递 ALAP 审查 | 否 |
| 3 | 智能标准(推荐) | 当场阻断 | 放行,异步投递 ALAP 审查 | 否 |
| 4 | 积极防御 | 当场阻断 | 放行,触发限时升档并投递审查 | 支持(升至 5 级) |
| 5 | 严格防御 | 当场阻断 | 当场阻断,投递审查 | 已处于最高级 |
动态临时升档机制
在 防护等级 4 下,当系统检测到业务流量中出现疑似攻击的夹杂特征时,为防止攻击者正处于探测阶段,系统会自动将该站点的防护等级临时上调至 5 级(严格模式),持续时间由 promote_seconds(例如 300 秒)指定。
- 状态持久化:升档截止时间戳保存在本地管理存储中,重启后依然生效;访问日志可异步投递至 PostgreSQL 存储。
- 自动衰减:当升档时间窗口结束且无新的可疑特征触发时,站点将自动恢复至原本的 4 级状态。
严格等级(5 级)审查说明
在防护等级 5 下被阻断的请求样本仍会被投递至 ALAP 审查队列,并附带 blocked 标记:
- 不可追溯放行:由于该请求已被物理拦截,管理员无法在审查控制台中将其变更为“已放行”状态。
- 规则沉淀转换:审查通过后,可将样本一键转化为长期的全局防护规则(包括特征规则、URL 路径规则、IP 黑名单或客户端软指纹封禁)。