最近一家客户把三天的防火墙威胁日志导出来给我们,1080 条告警,问了一个很实际的问题:”这些要不要处理?”
分析完之后,我们给的回答是:先别急着处理告警,因为这批日志本身有三个问题,让它几乎没法用。
这三个问题不是这一家的特例——它们在中小企业里非常普遍,而且都有一个共同点:看起来防火墙在正常工作、每天有告警、报表也好看,实际上关键时刻用不上。下面把三个发现和对应的自查方法讲清楚。
发现一:88% 的告警,查不出到底是谁干的
第一件事我们做的是统计”攻击者”字段:1080 条告警,952 条(88%)的来源加起来只有 11 个 IP。
这不正常。真实的互联网扫描,来源应该是几百个分散的 IP。
再看那 11 个 IP 是什么——全都是内网网关的地址。也就是说,防火墙记下的”攻击者”,是自家的网关设备。
原因:流量在到达防火墙之前,已经被上游设备做了地址转换。真实的来源 IP 在这一步被替换成了网关自己的地址,防火墙看到的是转换后的结果。
后果非常实际:你看到某个 IP 攻击了几百次,想把它封掉——封下去的是自家网关,一封全公司断网。这也是为什么很多公司”有告警但从来没处置过”,因为处置不了。
这不是防火墙的问题,是日志链路的问题。设备本身工作正常,但它拿到的信息已经被上游抹掉了关键部分。1080 条里,真正能看到公网来源的只有 128 条。
发现二:34% 只告警、没拦,高危的也在里面
先纠正一个很普遍的误解:很多人看到防火墙有告警,第一反应是”还好防住了”。
恰恰相反。防火墙对威胁有两种动作:阻断和仅告警。”仅告警”的意思是——它看见了,记了一笔,然后放过去了。
这批日志里,369 条(34.2%)的动作是”仅告警”,也就是三分之一的威胁被放行了。
更要紧的是,这里面有 6 条高危。其中最该管的一组是:某个公网 IP 在十秒之内,连续攻击了两个已公开的高危漏洞(一个数据库管理工具的漏洞、一个网络设备授权组件的漏洞)——全部放行。
为什么会这样?通常不是有人故意关掉阻断,而是:
- 默认配置就是”仅告警”。很多安全策略模板出厂偏保守,避免误拦业务,装完没人改。
- 曾经误拦过业务,于是被调回告警模式。这很常见——某次拦错了导致打印机不能用、某个系统连不上,处理办法就是把那条策略放宽,然后再也没调回来。
- 不同区域用了不同的配置文件,有的严有的松,而没人定期对照。
发现三:数量排第一的那类告警,是误报
按类型排序,占比最高的是某类注入攻击,316 条,占 29.3%。如果只看这张排行榜,结论会是”我们正在被大量注入攻击”,然后一头扎进去查。
但我们多做了一步。这 316 条拆开看是两组:
- 一组 158 条是出方向(内网某台主机 → 外部地址)
- 另一组 158 条是回方向(那个地址 → 同一台主机)
- 把两组的时间戳做交集:158 对 158 完全一一对应,一条落单的都没有
→ 这说明同一批通信被记了两次,真实次数只有约 158 次,不是 316。
接着看两端地址,发现更有意思的事:发起方和目标其实是同一台主机——它绕了一圈自己的公网地址,去访问自己的一个服务端口。而那个端口对应的数据库,它的查询接口正好会把查询语句放在网址里。
于是防火墙的规则命中了:”网址里出现了查询关键字”。判定为注入攻击。
也就是说:占了将近三分之一告警量的”头号威胁”,是自家系统的正常通信被误判,而且还被重复计了一遍。真正需要注意的那几条,被埋在这堆噪音底下。
从 1080 到 6:告警数量和真实工作量的差距
这张图想说的不是”告警都没用”,而是:1080 这个数字既夸大了也掩盖了问题。夸大,是因为里面有大量误报和重复;掩盖,是因为最该立刻处理的那几条,和噪音混在一张表里,按数量排序永远排不到前面。
正确的看日志顺序:先看动作,不是先看等级
大多数人打开威胁日志的第一个动作是按威胁等级排序,从”高危”开始看。这个顺序是错的。正确的顺序是:
- 第一步:看”动作”列。把所有非阻断的先挑出来。已经被拦下的,再高危也是”已处理”;没拦的,才是当前敞着的口子。这一列比威胁等级重要得多。
- 第二步:确认能不能归因。看来源 IP 是公网地址还是自家内网地址。如果全是内网网关,先去解决日志链路,否则后面所有分析都建立在错的信息上。
- 第三步:排除误报再排序。把占比最高的那一两类单独验一遍——尤其是源和目标都在自己家的、或者对应自有业务端口的。确认是误报的先摘掉,剩下的再排优先级。
- 第四步:对未阻断的高危逐条决策。该封的封、该打补丁的打补丁、确认是误报的把规则调准。这一步的清单通常很短,几条到几十条,是真正能干完的工作量。
中小企业自查清单
| 查什么 | 怎么查 | 正常应该是 |
|---|---|---|
| 来源能不能归因 | 导出威胁日志,统计”攻击者”字段有多少个不同 IP | 大量分散的公网 IP;若集中在少数内网地址=链路有问题 |
| 有多少只告警没拦 | 按”动作”列分组统计 | 高危应以阻断为主;三成以上未阻断需要复核策略 |
| 占比第一的是不是误报 | 看排名第一那类的源/目标,是否都是自有资产或自有业务端口 | 是自家资产互访的,大概率误报,先验证再当威胁 |
| 有没有重复计数 | 同类告警按方向拆开,比对两侧时间戳 | 若能一一对应且无落单,说明一次通信被记了两次 |
| 策略有没有被放宽过 | 对照各区域的安全配置文件,看动作设置是否一致 | 不同区域的严格程度应当有意为之,而不是历史遗留 |
几个常见疑问
Q:我们装了防火墙,是不是就不用管这些?
A:装上只是第一步。这次的例子里,设备本身运行正常、告警也在正常产生,但三分之一的威胁被放行、九成的来源查不出、头号告警是误报——这些都不会有人主动通知你,只有导出日志分析一次才知道。
Q:多久该看一次防火墙日志?
A:建议每月导一次做统计(不是逐条看,是看上面那几个比例),另外每次调整过安全策略后必须看一次——因为最常见的问题就是”为了不误拦业务把策略放宽了,然后忘了调回来”。
Q:为什么会有重复计数?是设备坏了吗?
A:不是。同一条流量经过不同区域边界时可能被分别记录,出向和回向各记一次,这在设备逻辑上是合理的。问题在于统计时如果不去重,数量会虚高一倍,进而影响判断优先级。
Q:发现”仅告警”的高危,直接改成阻断行不行?
A:别直接改。先确认这条规则历史上有没有误拦过业务。稳妥的做法是先在观察模式下确认命中的都是真威胁,再切换成阻断,并且改完盯几天业务有没有异常。安全策略最容易出的事故不是漏拦,是拦错了导致业务中断。
想知道自己的防火墙日志里,有多少是真威胁、多少是噪音?
思文力得为北京及周边中小企业做网络安全与 IT 运维一体化服务:导出威胁日志做统计分析,先把”来源能不能归因、有多少只告警没拦、头号告警是不是误报”这三件事查清,再给出可执行的处置清单和策略调整建议——而不是给你一份几百条的告警表。防火墙、网络设备与日常运维可以打包托管。访问 siwenlide.com 或拨 400-686-2011 聊聊。





