
一、”装了 WAF 就安全了”是危险的错觉
WAF 是安全体系中的一层,不是全部。把它当成”万能盾牌”,就会在其他环节放松警惕,反而制造更大的风险。
二、WAF 能防住的
| 攻击类型 | 原理 |
|---|---|
| SQL 注入 | payload 有固定语法特征 |
| XSS | 含脚本标签或事件属性 |
| 命令注入 | 含 shell 特殊字符 |
| 文件包含/路径穿越 | 含 ../ 等路径特征 |
| Webshell 上传 | 文件类型/内容特征 |
| CC 攻击 | 频率和行为特征 |
| 恶意爬虫 | 指纹和 UA 特征 |
| 已知漏洞利用 | 虚拟补丁规则 |
| 敏感文件扫描 | 路径黑名单 |
三、WAF 防不住的
3.1 业务逻辑漏洞
典型场景:
├─ 优惠券可重复领取(接口被反复调用)
├─ 订单金额可被前端篡改
├─ 支付回调可被伪造
├─ 秒杀可被脚本刷(真人也是一样请求)
为什么防不住:
这些请求"看起来完全正常",
参数合法、频率正常、格式正确,
WAF 没有依据去拦截。
必须在业务代码层做校验。
3.2 越权访问
典型场景:
├─ 改 URL 中的用户 ID 就能看别人数据
├─ 普通用户能调用管理员接口
├─ 未登录可访问需要鉴权的接口
为什么防不住:
请求本身完全合法(就是个 GET),
WAF 不知道"这个用户有没有权限"。
必须在应用层做权限校验。
3.3 已认证用户的恶意操作
如果一个攻击者已经拿到了合法账号,他发出的请求在 WAF 看来完全正常。要防这类攻击,需要靠行为分析、风控系统和权限最小化。
3.4 社工和钓鱼
WAF 保护的是你的服务器,保护不了你的员工。钓鱼邮件、假冒客服、诱导点击这类攻击完全不经过 WAF。
3.5 供应链攻击
如果攻击者通过第三方组件、CDN、依赖包入侵,流量可能来自”信任”的通道,WAF 难以识别。
3.6 内网横向攻击
WAF 工作在南北向流量(外部到内部)上。内网东西向的横向渗透,WAF 完全看不到。
四、完整的安全体系
纵深防御的各层:
第一层:网络层
├─ 防火墙、安全组
└─ DDoS 防护 / 高防
第二层:应用层(WAF)
├─ 规则防护
├─ CC / Bot 防护
└─ 虚拟补丁
第三层:应用代码层
├─ 参数化查询
├─ 输入校验、输出转义
├─ 权限校验
└─ 业务逻辑风控
第四层:数据层
├─ 最小权限
├─ 加密存储
└─ 备份
第五层:管理
├─ 人员安全意识
├─ 权限管理
└─ 应急响应
WAF 只是其中一层,任何一层被突破,
都需要其他层来兜底。
五、正确的心态
| 错误心态 | 正确心态 |
|---|---|
| 装了 WAF 就安全了 | WAF 是其中一层,不是全部 |
| WAF 能防一切 | 理解边界,补齐其他环节 |
| 有 WAF 就不用修漏洞 | 补丁该打还是要打 |
| 有 WAF 就不用管代码 | 代码安全是根本 |
| 有 WAF 就不用做权限 | 权限管理不可替代 |
六、小结
WAF 能高效防住”有特征”的攻击——注入、XSS、CC、爬虫、Webshell 等,这是它的价值所在。但业务逻辑漏洞、越权、社工、供应链、内网横向这些它防不住。正确的做法是把 WAF 作为纵深防御的一层,同时做好代码安全、权限管理、数据保护和人员培训。
如果你的站点正被恶意爬虫、CC 攻击困扰,或需要一套开箱即用的 Web 应用防护,可以了解百度云防护 Web 应用防火墙(专业版 299 元/月,年付 2399 元,可联系主机吧客服购买)——支持自定义访问策略、URI 频率限制、BOT 防护、威胁情报与 API 防护,无需改动源站代码,改 DNS 即可接入。包年包月计费,流量峰值买多少防多少,无后付费陷阱。
