防火墙策略清理:600条规则删240条的实战账

这个月给一家做精密模具的深圳客户做季度巡检,顺手把核心防火墙的策略彻底清了一遍。这台设备跑了四年,规则堆到632条,实际在用的不到一半。清理完,CPU占用从65%掉到22%,还揪出两条直通外网的隐藏规则。

先看几个数字

这个月给一家做精密模具的深圳客户做季度巡检,顺手把核心防火墙的策略彻底清了一遍。这台设备跑了四年,规则堆到 632 条,实际在用的不到一半。清理完,CPU 占用从 65% 掉到 22%,还揪出两条直通外网的隐藏规则。2 个人干了 3 天,这笔账下面拆开算。

  • 632 条:核心防火墙累积的策略总数,四年没系统清理过
  • 238 条:审计后确认的废弃策略,占比 37.6%
  • 65% → 22%:清理后 CPU 平均占用,业务高峰期不再报警
  • 2 条:藏在规则堆里的「全部放行」规则,直接暴露内网管理网段
  • 3 天:两人配合完成全量审计、分批清理、业务验证的总耗时

这些数字说明什么

策略膨胀不是运维偷懒,是每台防火墙的必经之路。销售提需求加一条、测试环境留一条、供应商调试开一条,四年下来就是几百条。真正的问题在两方面:一是性能,每次流量进门都要和几百条规则逐条比对,规则越多,匹配耗时越长,高峰期 CPU 自然顶上去;二是攻击面,这次找到的两条「permit any」是某次排障时临时放开、事后忘了收的,被人扫到等于把大门钥匙挂在门口。

项目清理前清理后
策略总数632 条394 条
CPU 平均占用65%22%
高危放行规则2 条0 条
平均匹配耗时3.8ms1.2ms

企业该怎么做

  • 先离线分析,别在设备上乱动:把规则按源地址、目的端口、动作三个字段导出,先圈出「any-any」「permit any」这类高危项,半天能出第一版报告
  • 按命中次数定废弃:防火墙日志里有每条规则的命中统计,90 天零命中的先打标,列成清单找业务方逐个确认,不要自己拍板删
  • 分批删、留回滚:一次删 20-30 条,删完立即验证核心业务链路;动工前备份配置文件,出问题 5 分钟内能恢复

FAQ 快速问答

Q1:策略多久清一次合适?

至少一年一次,配合季度巡检做最省事。规则超过 200 条,或者出现「any-any」规则,就应该提前安排,不用等年底。

Q2:公司没有专职安全人员,自己清风险大不大?

可以清,前提是先备份、再离线分析、最后小批量删除验证。如果防火墙连着核心业务,第一次建议找专业团队带一遍流程,之后按这套方法自己就能复现。

Q3:清理会不会影响线上业务?

只动零命中、已确认废弃的规则就不会。风险集中在「平时不触发、高峰期才用」的规则上,所以删除前留两周观察期替代直接删,更稳。

算一笔总账

这次清理客户花了不到 1 万块,换来的是:CPU 占用降 43 个百分点,设备至少多撑两年不用换代;两条暴露内网的高危规则封堵,省下的是一次潜在勒索事件的损失——按现在行情,中招一次少说几十万。对大多数深圳中小企业来说,防火墙策略清理是投入产出比最高的安全动作之一,前提是动手前把规则摸清楚,动手时留好退路。

// 百度统计 - 转化追踪 (在线客服点击) $('.fixedSide li').on('click', function() { var txt = $(this).find('p').text().trim(); if(txt === '在线客服') { _hmt.push(['_trackEvent', '转化', '点击', '在线客服']); } });