游客发表
防火墙的非法访问包过滤规则被绕过的那一刻,内网里没人会收到弹窗警告。旦突2017年某车企被入侵的破数复盘报告里写得清楚:攻击者用伪造源IP的UDP碎片包,让边界防火墙的据包ACL表直接失效——规则匹配不上分片后的第二个数据包,就这么简单。过滤那台防火墙还在跑,型防日志里连一条拒绝记录都没留下。火墙
包过滤型防火墙的非法访问工作方式像小区保安只查车牌。它看每个数据包的旦突源地址、目的破数地址、端口号,据包对照规则表决定放行还是过滤丢弃。问题在于,型防数据包不是火墙整辆车,是非法访问拆成零件运进来的。TCP三次握手能拆,UDP分片能拆,IP选项字段能塞东西,甚至数据包到达顺序都能乱序重组。防火墙只看单个零件,不管拼起来是什么。
一旦突破,攻击者面对的就是一片没有纵深的内网。我见过一个典型场景:办公网和服务器网段之间只隔了一台老旧的包过滤设备,规则是“允许办公网访问服务器80端口”。攻击者拿下办公区一台打印机——对,打印机——然后以它为跳板,源IP是办公网段,目标端口80,防火墙放行。接下来他用HTTP隧道把SSH流量封装进去,内网横向移动畅通无阻。那台打印机成了整个入侵链条里最不起眼也最关键的节点。
更麻烦的是,包过滤防火墙对“合法流量里的恶意内容”完全无感。它不解析HTTP请求体,不检查DNS查询类型,不关心中间人攻击重放的有效凭证。2021年某医疗机构的勒索软件事件里,攻击者就是利用防火墙允许的RDP端口,用偷来的域账号直接登录跳板机。防火墙看到的是正常的3389连接,源IP在白名单里,端口没毛病,放行。等安全团队发现时,加密已经开始。
内网的安全假设往往建立在“边界牢不可破”之上。很多运维默认防火墙后面就是可信区域,于是数据库不设密码,Redis绑0.0.0.0,内部API不做鉴权。这种“硬壳软心”的结构,包过滤防火墙一旦被穿透,整个内网就像剥了壳的鸡蛋。攻击者甚至不需要提权漏洞,用默认口令扫一圈就能拿到核心数据。
有人会说,那就上下一代防火墙、上IDS、上零信任。方向没错,但现实是大量中小企业的边界还在跑十年前的iptables脚本,规则几百条,没人敢删,也没人敢改。一次策略变更要走三天审批,攻击者利用的恰恰是那些“历史遗留放行规则”——比如一条五年前为临时测试开的“allow any any”,测试结束了,规则还在。
我个人的判断是:包过滤防火墙不是没价值,它挡脚本小子和扫描器够用。但把它当唯一防线,等于把保险柜钥匙挂在门把手上。真正的教训不在技术层面,而在思维层面——任何单一机制被突破后,必须有第二层、第三层能独立起作用的东西。否则,突破那一刻,游戏就结束了。
友情链接