确定异常开始时间,不是找“感觉不对”的那一刻,而是找最早可被证据支持的异常迹象。对网站漏洞检测来说,这个时间通常来自三类记录的交集:访问日志中首次出现异常请求、文件或配置的首次变更时间、以及外部告警或人工发现时间。三者不一致时,以最早且有原始记录支撑的时间为准,同时标注证据强度。
实际排查中常出现三个时间:首次异常行为时间、首次被发现时间、首次被确认利用时间。发现时间往往最晚,不能当作起点;确认时间依赖分析进度,也不适合直接作为处置排期依据。真正要确定的是首次异常行为时间,它决定日志回溯范围和需要检查的备份版本。
如果只有告警截图或同事口述,没有原始日志行,只能记为“疑似起点”,并注明证据来源。后续用日志补齐后再修正。
网站漏洞检测的异常起点,多数能在Web访问日志中找到痕迹。按时间正序排列,而不是倒序看最近记录,因为倒序容易只看到攻击高峰,漏掉最早的探测请求。
判断结果:若最早可疑请求明显早于文件变更时间,起点应定在请求时间;若文件变更更早,则说明入侵可能不经过该请求,需要转向其他入口排查。
日志可能被清理或未开启,此时文件系统时间戳是重要补充。检查网站根目录、上传目录、模板目录和配置文件中的修改时间,重点看非发布时段的变更。
适用条件:服务器时间与日志时区必须一致。若时区不同,先统一换算,否则会把起点算错数小时。验收信号是:至少两个独立来源指向同一时间窗口,且能解释异常是如何进入的。
人手有限时,不必追求一次性还原全部时间线。优先处理最早异常时间到发现时间之间的区间,因为这段时间决定了攻击者可能已接触哪些数据、留下哪些持久化入口。
可以按以下顺序安排:
判断结果:能定位到具体日志行和文件变更的,按精确起点处置;只能定位到大致区间的,按区间上限扩大检查范围,并在记录中写明不确定性。
把首次告警时间当起点,是最常见的误判。告警通常来自规则命中,而规则上线时间、扫描周期和日志采集延迟都会让告警晚于实际行为。核查方法是直接查原始日志,不依赖告警面板的汇总时间。
另一个误判是把正常发版当成入侵。核查方法是比对发布单、代码仓库提交记录和文件哈希。若变更与发布记录完全吻合,就不应计入异常起点。
第三方估算流量、搜索引擎报告与站内统计口径不同,不能用来推断漏洞利用时间。它们最多提示某段时间流量异常,不能替代访问日志和文件记录。若只有流量曲线,应把它当作线索,而不是起点证据。
下一步:把已确定的最早异常时间、证据来源和不确定项写成一页时间线,再据此决定是清理并恢复,还是继续扩大日志回溯范围。