先做资源隔离,再保存证据,顺序不能反。异常流量正在挤占正常服务资源时,每多等一分钟,日志被覆盖、连接被耗尽、正常用户请求被丢弃的概率都在上升。正确动作是:先用限流或临时封禁把异常来源挡在业务链路之外,让正常服务恢复,然后在隔离后的环境里固定证据。证据保存的目标不是找出谁在刷量,而是留下可核对的材料,以便区分“确实存在外部异常请求”和“服务器自身故障、配置错误、正常促销流量”这几种不同解释。
条件一:异常流量仍在持续,且已经影响到正常用户访问。此时先隔离。判断依据是服务可用性指标——正常请求的成功率、响应时间、连接数是否已经偏离日常区间。如果偏离明显且在扩大,继续在原环境里取证只会让证据随服务崩溃一起丢失。隔离动作可以是临时限流、按来源IP段拒绝、暂停某个入口,动作本身要记录时间和操作人。
条件二:异常流量已经停止,或只是间歇出现,服务未受明显影响。此时可以先取证再处理。判断依据是异常是否可复现、是否仍在增长。间歇性异常适合先抓一轮完整样本,再决定是否隔离,避免误伤正常流量。
两种条件的分界不是流量大小,而是正常服务是否已经被挤占。这个判断决定下一步动作:先隔离的,证据从隔离时刻开始固定;先取证的,证据要覆盖异常出现前后的完整窗口。
证据要能回答三个问题:异常从哪来、异常做了什么、正常服务受到了什么影响。对应三类材料:
三类材料要带统一的时间基准,最好用同一台机器或同一时区的时间戳,否则后续比对会出现对不上的情况。
假设某站点在某个时段请求量明显上升,但正常用户访问速度没有变化。此时有两种解释:一是异常流量被缓存或CDN吸收,没有到达源站;二是请求量上升本身来自正常渠道,比如一次外部推荐带来的真实访问。
区分方法:比对源站日志与边缘层日志。如果边缘层请求量上升而源站日志没有对应增长,说明流量在边缘被处理,源站资源未被挤占,此时不需要按异常流量处理,重点转向确认流量来源是否正常。如果源站日志同步上升,且连接数、CPU随之上升,才符合“挤占正常服务资源”的特征。这个例子的关键是:请求量上升不能单独证明存在异常,必须结合资源占用和服务质量一起看。
以下现象常被当作异常流量的证据,但都有其他合理解释,不能单独使用:
例外情况:如果异常流量伴随明确的资源耗尽(连接数打满、带宽跑满、进程被拖垮),且隔离后服务立即恢复,那么这类证据的指向性较强,可以作为优先处理依据。即便如此,也要保留隔离前后的对比记录,避免把“隔离动作生效”误读为“已确认攻击来源”。
证据固定完成后,动作分两条线。一条是服务侧:根据证据判断是否需要长期限流规则、是否需要调整资源配额、是否需要联系上游服务商。另一条是判断侧:把证据交给能核对来源的一方,比如服务器运维、安全响应人员或平台方,由他们判断异常性质。不要自己根据单一日志下结论,也不要在证据不完整时对外说明原因。
如果证据显示异常来自操纵性流量,处理方向是阻断和记录,而不是反向利用。围绕搜狗关键词快速排名的正常做法,仍然是让页面内容、结构和访问体验本身符合搜索质量要求;异常流量挤占资源时,保护正常服务比追查来源更优先。