当网站木马扫描的完整效果要等几个月才能看出来时,不要把“还没被挂马”当成方向正确的证据。更可靠的中间行为是:看扫描动作是否在持续覆盖新产生的页面和文件,看处置动作是否在缩短从告警到清理的时间,并看这两件事是否在按你预设的节奏推进。只要这三类行为在变好,方向大体成立;如果它们长期停滞,即使表面没有新的告警,也应当考虑调整策略。
判断方向之前,先确认一个关键前提:你的站点在扫描周期内是否还在新增内容、上传文件、改动模板或接入新的第三方脚本。这个前提决定了中间行为该怎么读。
两种前提下的选择不同。持续变化的站点,优先投入在扩大覆盖和缩短发现间隔;基本静止的站点,优先投入在减少误报和确认历史遗留项是否真的清理干净。把静止站点的指标套到持续变化的站点上,会得出“一切正常”的错误结论。
假设某站点每月新增约两百个页面和若干上传文件(此为假设数字,仅用于说明比较方法)。如果扫描范围仍停留在建站初期的那批目录,那么覆盖率会随新增量被动下降,而告警数可能不变——这不代表安全,只代表没扫到。
可执行动作:每月记录一次“本期新增对象数”和“本期被扫描到的新增对象数”,算出一个覆盖比值。结果如何影响下一步:
例外:如果新增对象全部来自你无法控制的外部嵌入内容,覆盖比值低可能是合理的,此时应改为监控这些外部引用的变化,而不是强行把不可控对象纳入扫描。
木马扫描的价值不只在“发现”,更在“发现后多久处理完”。这个时间是可以逐月比较的中间行为,而且不依赖最终是否被入侵的结论。
记录方式:给每条告警打上发现时间和处置完成时间,取当月的中位数。注意,这里看的是趋势,不是单次快慢。某个月因为一次批量误报导致中位数拉长,不能单独证明处置能力下降;要结合误报数量一起看。
结果如何影响下一步:
需要说明的是,告警数归零不能单独证明处理正确。它还可能意味着扫描范围缩小、扫描任务失败、或站点变化暂停。遇到归零,先查扫描任务是否正常执行、覆盖范围是否被改动,再谈方向。
如果同一批文件或同一个目录反复触发告警,即使每次都被清理,也说明根因没解决。重复率是一个能提前暴露方向偏差的中间行为。
做法:按对象统计告警出现次数。若某对象在连续两个周期内重复出现,把它标记为“未闭环”,单独跟进。结果如何影响下一步:
例外:如果重复来自你已知的、暂不打算修改的老旧代码,把它记录为已知项并从趋势统计中剔除,避免它掩盖其他对象的真实变化。
把上面三类中间行为放在一起看,可以形成一个粗略的判断:
一个具体的下一步动作:选定一个周期,只改一件事——比如把扫描范围补齐到新增目录——然后观察下一个周期的覆盖比值和重复对象数。如果覆盖比值上升但重复对象没降,说明问题在处置环节;如果两者都改善,说明方向调整有效,可以继续推进其他改动。这样每次只动一个变量,中间行为的走向才有解释力。