WAF防火墙部署位置:别放错地方,火墙不然等于白装
上周去一家电商公司做安全评估,部署技术总监指着机柜里的位置WAF设备说:"我们装了防火墙,应该没问题了吧?火墙"我问他部署在哪,他指了指核心交换机旁边——流量根本没经过它。部署这场景我见得太多了。位置WAF不是火墙买来插上就完事,位置放错,部署它就是位置个昂贵的摆设。
最常见的火墙部署位置是串联在Web服务器前端,也就是部署在负载均衡器和源站之间。流量先进WAF,位置过滤完再转发给后端。火墙这种"直路模式"最直观,部署所有HTTP/HTTPS请求都得过安检门。位置有个做在线教育的客户这么部署后,SQL注入攻击拦截率直接从0飙到97%。代价是延迟增加1-3毫秒,对绝大多数业务可以忽略。但如果你的WAF性能不够强,又碰上大促流量,它反而成了瓶颈——去年双十一就有客户因为WAF扛不住峰值流量,被迫临时旁路,结果被爬虫薅秃了库存数据。
另一种思路是把WAF放在CDN后面、源站前面。流量先经过CDN节点分散压力,再汇聚到WAF统一过滤。好处是CDN能挡掉一部分简单攻击,WAF只需处理真实回源流量,性能压力小很多。但有个坑:如果CDN和WAF的规则库没做联动,攻击者可以伪造X-Forwarded-For头绕过CDN直接打源站。我见过一个金融客户,CDN和WAF是不同厂商,两边策略没对齐,结果被人用畸形HTTP头穿了个洞,拖走了两万条用户信息。
还有种更隐蔽的部署方式——旁路镜像模式。交换机把流量复制一份给WAF分析,WAF只检测不拦截,发现攻击后通过BGP或SDN下发阻断规则。这种模式对业务延迟零影响,适合那些对响应时间极度敏感的交易系统。但问题在于,从检测到下发规则存在时间差,高速自动化攻击可能已经打进来了。我建议只把旁路模式当辅助,比如用来做威胁情报收集,别指望它实时防护。
部署位置的选择还得考虑一个常被忽略的点——WAF和源站之间的网络拓扑。如果中间隔着NAT设备或防火墙,WAF看到的源IP可能是转换后的地址,导致IP黑白名单失效。有个游戏公司就吃过这亏,他们WAF部署在DMZ区,但源站数据库在内部网络,中间隔了三层NAT。攻击者换着IP打,WAF的封禁规则形同虚设,最后还是靠加装二层串联设备才解决。
说到底,WAF部署没有标准答案,得看你的业务流量模型、安全预算和运维能力。但有一条铁律:WAF必须能看到完整的HTTP请求,包括请求头、请求体、Cookie。如果部署位置导致它只能看到加密流量或分片流量,那基本等于白装。我见过最离谱的案例,有人把WAF放在SSL卸载设备后面,结果WAF看到的全是明文,但回源流量又走了另一条加密通道——规则完全错乱,连正常用户都被误封。
最后建议你做个简单测试:部署完后,用sqlmap对着自己的网站打一发,看WAF拦不拦得住。拦不住就调整位置,别等被黑时才想起来检查。毕竟WAF不是保险箱,它是一道需要放在正确门口的安检门。

喜欢
讨厌