
一、报表的作用:从数字到判断
报表本身不会告诉你”怎么办”,它提供的是原始信息。真正的价值在于你从这些数字里读出趋势、异常和优化空间。
二、六个核心指标
2.1 总请求数
统计周期内的请求总量。它本身没有好坏,关键是看趋势——突然翻倍通常是攻击或爬虫,持续下降可能是 SEO 出了问题。
2.2 拦截次数
被 WAF 挡下的请求数。这个数字大不一定是坏事(说明防护在起作用),但要注意两个极端:
- 拦截数占总请求 > 30%:可能是规则过于严格,或有大规模攻击
- 拦截数长期为 0:可能是规则没开、流量没经过 WAF,或站点太冷门
2.3 攻击类型分布
最有用的一张图。它告诉你主要威胁来自哪里:
| 占比最高的类型 | 说明 | 应对 |
|---|---|---|
| SQL 注入 | 自动化工具在扫 | 规则库覆盖即可 |
| XSS | 扫描器为主 | 检查是否有评论、留言等注入点 |
| CC / 高频 | 有针对性的攻击 | 加强 CC 防护与频率限制 |
| 爬虫 / Bot | 内容被采集 | 开启指纹识别与 Bot 管理 |
| 漏洞利用 | 有人瞄上了具体漏洞 | 尽快打补丁,开虚拟补丁 |
2.4 攻击来源排行
报表维度:
├─ Top 攻击源 IP → 可加入黑名单
├─ Top 攻击来源地区 → 可做区域封禁
└─ Top 攻击来源国家 → 参考决策
2.5 被攻击 URI 排行
被打得最多的路径,往往暴露了你的薄弱点或攻击者的目标:
- /wp-login.php 居首 → 后台被爆破,建议改路径或加白名单
- /api/xxx 居首 → 接口被滥用,考虑 Token 鉴权
- /search 居首 → 搜索接口是 CC 重灾区,需单独限速
- /images/xxx 居首 → 可能是图片被盗链,配置防盗链
2.6 人机验证次数
触发 JS 挑战或验证码的次数。这个指标要结合”用户投诉”看:如果验证次数很高且用户反馈体验变差,说明阈值过严;如果为 0 且攻击很多,说明验证机制没配。
三、解读报表的三个视角
3.1 看趋势而非绝对值
今天拦了 1000 次,这个数字本身没意义。有意义的是”上周日均 200 次,今天 1000 次”——这才是异常。
3.2 看结构性变化
攻击类型占比从”80% 扫描”变成”60% CC”,说明攻击者改变了手法,你的防护策略也要跟着调整。
3.3 看关联性
把 WAF 报表和服务器监控、业务数据放一起看:
WAF 拦截数激增 + 服务器 CPU 正常
→ 防护有效,攻击被挡住了 ✅
WAF 拦截数正常 + 服务器 CPU 飙升
→ 攻击绕过了 WAF,需检查源站是否暴露 ⚠️
WAF 拦截数激增 + 用户投诉变多
→ 可能误杀,需检查规则 ⚠️
四、一个实用报表模板
每日安全简报(建议自动生成)
├─ 昨日总请求: 128,000
├─ 拦截攻击: 3,452 (2.7%)
├─ Top 攻击类型: SQL注入 42%,扫描 31%
├─ Top 攻击源 IP: 45.xx.xx.xx (312 次)
├─ Top 被攻击 URI: /wp-login.php
└─ 异常提示: 无
每周复盘:
├─ 本周 vs 上周趋势对比
├─ 规则调优建议
└─ 待处理的攻击源清单
五、小结
看 WAF 报表的关键不是看数字大小,而是看趋势、结构和关联。攻击类型分布告诉你主要威胁,被攻击 URI 排行告诉你薄弱点,与服务器数据的关联能帮你判断防护是否真的在起作用。把这些形成日常查看习惯,安全运营就有了抓手。
