当在线安全检测的改动上线后,页面显示、扫描结果或拦截记录没有出现预期变化,第一反应通常是调整规则或加大力度。更稳妥的顺序是反过来:先确认这次试验是否真的作用到了目标对象,再决定保留、改写还是退出。判断依据不是“看起来没变化”,而是能否找到一条从配置到执行再到观测的完整证据链。
这三种情况的处理方向完全不同,混在一起就会把有效改动当成无效改动反复调整。
可区分的证据是:如果执行侧日志里出现了新规则的命中记录,而结果指标没动,问题更可能在观测或掩盖;如果执行侧完全没有命中记录,问题在配置与匹配条件,继续调策略没有意义。
在确认改动确实作用到目标对象之后,取舍取决于它是否可复现、代价是否可接受。
执行侧有稳定命中记录,结果指标方向一致但幅度小,且观测口径在试验前后没有变更。此时变化可能被正常波动或样本不足掩盖,贸然退出会丢掉已经生效的部分。实际动作是固定观测窗口和口径,再跑一轮,而不是改规则。
命中记录存在,但集中在意料之外的路径或参数上,说明规则写得太宽或匹配条件写偏了。例如假设某次检测规则本意是覆盖登录接口,日志却显示大量命中落在静态资源请求上。此时退出等于放弃目标,改写匹配范围更合理。改写后要重新确认命中对象是否回到预期集合,再进入下一轮观测。
执行侧始终没有命中记录,或者命中记录显示目标对象根本不经过这条链路。继续保留只会增加维护成本,并让后续诊断背负无关变量。退出的前提是先记录清楚“为什么没命中”,否则下一轮试验很可能重复同一个匹配错误。
不要用某一个数字的涨跌单独下结论。第三方估算流量、搜索引擎报告和站内统计的口径本就不同:第三方多为抽样与估算,搜索引擎报告反映的是其自身可见范围,站内统计受采集脚本、过滤规则和会话定义影响。三者不一致不等于某一方出错。
可核查的证据链至少包含三层:
三层能对上,才谈得上“试验实施过”。只有观测层有数字、配置层和执行层空白,任何结论都只是推测。
假设某次检测规则上线后,目标接口的请求量统计降到接近零,看上去像是拦截生效了。但请求量归零还有别的合理解释:采集脚本被同一规则误伤、上游路由变更、目标对象本身停止被访问,或者统计任务失败。此时正确动作是先查执行层是否有拦截记录,再查采集链路是否完整。如果拦截记录为零而采集也中断,说明需要先修复观测,而不是宣布规则成功。
反过来,如果拦截记录存在、采集正常,但攻击特征仍然出现,说明规则覆盖的只是部分变体,下一步应扩展特征而不是重复上线同一条规则。
诊断的终点不是“有没有变化”,而是明确下一步该做什么。没有命中记录,就修匹配条件;命中记录异常集中,就收窄或改写规则;命中正常但指标不动,就先核对观测口径和采集完整性;三层证据都支持改动无效,再退出并记录原因。每一步动作的结果都应回写到证据链里,这样下一轮判断才有依据,而不是重新从“感觉没效果”开始。