|
去年秋天,漏洞某省级政务云平台被一个老掉牙的防护SQL注入漏洞打穿了。攻击者没用什么高级0day,设备就是漏洞利用了一个三年前就公开过的漏洞,绕过了WAF,防护直接拖走了两百多万条公民信息。设备事后复盘,漏洞问题出在哪?防护他们的WAF规则库整整八个月没更新,设备还在跑,设备日志也在记,漏洞但防护早就形同虚设。防护 这事让我重新审视一个被说烂了的设备概念——漏洞防护设备。很多人把它当成一个"买了就安心"的漏洞硬件盒子,插上网线、防护配好策略,设备然后就不管了。实际情况是,这类设备更像一辆需要持续保养的车,你不换机油、不检查刹车,它照样会把你扔在半路上。 它到底在防什么漏洞防护设备的核心任务不是"防所有攻击",而是"防已知漏洞被利用"。这个区别很关键。它依赖的是漏洞特征库、行为规则、虚拟补丁这些东西。厂商发现了一个新CVE,分析出攻击流量长什么样,然后更新到设备里。设备看到匹配的流量,就拦下来。 所以它天然有一个时间窗口的问题。从漏洞公开到厂商更新规则,再到你手动升级设备,这中间的每一天都是裸奔状态。2021年Log4j2那个核弹级漏洞,Apache官方发布补丁到主流厂商推出虚拟补丁规则,快的用了不到24小时,慢的拖了将近一周。那一周里,没做临时缓解措施的企业,基本等于敞开大门。 部署位置决定了它的价值我见过不少企业把IPS串联在核心交换机旁边,觉得流量都经过这里,肯定万无一失。但加密流量呢?现在超过90%的流量是HTTPS,设备如果没配证书解密,看到的全是密文,规则匹配根本无从谈起。配了解密,性能又扛不住,延迟飙升,业务部门第一个跳出来投诉。 旁路部署倒是没这个问题,但旁路只能检测不能阻断,发现攻击了发个告警,等安全团队反应过来,数据早没了。串联和旁路之间的选择,本质上是在可用性和安全性之间做权衡。我的经验是:面向互联网的入口用串联,内网东西向流量用旁路加联动阻断,别指望一台设备解决所有问题。 规则调优比买什么牌子重要有个做电商的朋友,花大价钱买了某国际大牌的IPS,结果上线第一周误报率高达30%,正常的下单请求被当成SQL注入拦了。安全团队只好把规则模式从"阻断"改成"告警",然后这条设备就变成了一个昂贵的日志生成器。 问题出在规则没做本地化调优。厂商的默认规则集是基于通用场景写的,你的业务逻辑、参数格式、API调用方式,它根本不了解。上线前必须做一段时间的流量学习,把误报规则一条条梳理、加白名单、调整阈值。这个过程通常要两到四周,急不得。跳过这一步,设备要么误杀业务,要么被运维关掉,结局都一样。 虚拟补丁不是万能药很多人把虚拟补丁当成不打补丁的借口。"反正IPS能拦,系统补丁下个季度再打。"这种想法很危险。虚拟补丁本质上是在网络层做模式匹配,攻击者稍微改一下payload编码方式、换个混淆手法,就可能绕过。真正的修复永远在系统层面,虚拟补丁只是给你争取时间的缓冲带,不是替代方案。 我自己的做法是:虚拟补丁上线后,立刻创建工单跟踪系统补丁的安装进度,设定硬性截止日期。虚拟补丁的有效期,不应该超过两周。 漏洞防护设备不是买来就完事的。它需要持续的规则更新、贴合业务的策略调优、合理的部署架构,以及最重要的——不要把它当成唯一的安全防线。那些被漏洞打穿的系统,往往不是因为没买设备,而是因为买了之后,就再也没认真看过它一眼。 |
