WAF防护策略怎么分级?不同业务不同强度

速读摘要:WAF 策略应该分级而非一刀切。建议分三级——宽松级(静态站,基础规则+情报库)、标准级(内容站,OWASP+CC+Bot)、严格级(后台/支付/登录,全量规则+指纹识别+强验证)。落地时按 URI 路径分配级别,让关键入口严、普通页面宽。本文讲清分级模型和落地方法。
WAF 防护策略怎么分级?
WAF 防护策略与调优篇 · 第 55 问 · 主机吧 WAF 知识库

一、为什么要分级

一个站点里,不同页面的”正常”标准天差地别。首页每秒 10 次请求可能是正常刷新的用户,登录接口每秒 10 次一定是爆破。用一套策略必然要么过严、要么过松。

分级的意义在于:把防护强度对准风险等级——高风险的入口严加看管,低风险的页面别添麻烦。

二、三级防护强度模型

2.1 宽松级

适用:静态页面、纯展示内容
配置:
  ├─ 基础规则防护(OWASP 精简版)
  ├─ IP 情报库            [开启]
  ├─ CC 防护              [宽松阈值]
  ├─ Bot 管理             [不开启]
  └─ 频率限制             [30 次/秒]

2.2 标准级

适用:内容站、企业站、常规页面
配置:
  ├─ 完整 OWASP 规则      [开启]
  ├─ IP 情报库            [开启]
  ├─ CC 防护              [标准阈值]
  ├─ Bot / 爬虫管理        [开启]
  ├─ 敏感文件防护          [开启]
  └─ 频率限制             [10 次/秒]

2.3 严格级

适用:后台、登录、支付、注册
配置:
  ├─ 全量规则 + 自定义规则  [开启]
  ├─ IP 情报库             [开启]
  ├─ JA3/JA4 指纹识别      [开启]
  ├─ 强制人机验证          [开启]
  ├─ IP 白名单(可选)      [仅办公 IP]
  ├─ 频率限制              [5 次/分钟]
  └─ 失败锁定              [3 次锁 10 分钟]

三、按 URI 落地分级

分级不是按”域名”分的,而是按”路径”分的。同一个域名下不同路径用不同级别:

www.example.com
  ├─ /                    → 标准级
  ├─ /article/*           → 标准级
  ├─ /search              → 标准级(高频CC防护)
  ├─ /static/*            → 宽松级(静态资源)
  ├─ /images/*            → 宽松级 + 防盗链
  ├─ /download/*          → 标准级 + 下载限速
  ├─ /api/*               → 标准级 + Token 鉴权
  ├─ /wp-login.php        → 严格级
  ├─ /wp-admin/*          → 严格级(白名单)
  └─ /pay/*               → 严格级

四、按业务类型的整体建议

业务类型整体级别特殊注意
企业官网标准级重点防篡改、防篡改内容
内容/资讯站标准级给爬虫加白,保证收录
电商标准级 + 关键页严格支付、下单链路要严格
论坛社区标准级发帖、登录接口单独严格
SaaS/API 服务标准 + TokenAPI 用鉴权替代 UA 检测
游戏/下载站标准级下载接口限速,防带宽滥用
政府/事业单位严格级合规要求高,日志留存要足

五、分级配置的实施步骤

  1. 梳理 URI 清单:列出站点所有路径类别
  2. 标注风险等级:哪些是公开的、哪些是敏感的
  3. 映射防护级别:给每类路径指定级别
  4. 异常路径兜底:不存在的路径统一返回 404,别暴露框架信息
  5. 逐级灰度上线:先上宽松级,再标准级,最后严格级
  6. 建立巡检机制:每月复核分级是否还合理

六、分级带来的两个好处

6.1 误报率大幅下降

把严格规则只用在真正需要的地方,普通页面的误报自然就少了。

6.2 防护效果明显提升

关键入口能用上最强的防护手段(指纹识别、强制验证、白名单),而不必担心影响普通用户的体验。

七、小结

策略分级的核心思路是”把力气用在刀刃上”。三级强度模型 + 按 URI 落地,让静态资源轻装、普通页面够用、关键入口严防。这是从”能用”到”好用”的关键一步,也是降低误报、提升防护效果最有效的手段。

给TA打赏
共{{data.count}}人
人已打赏
在线客服
在线客服
热线电话
QQ客服
电子邮箱
suduwangluo