业务高峰期遭遇DDoS攻击,最致命的往往不是带宽被塞满,而是防御策略在流量模型突变时产生误判,把正常用户请求和攻击流量一起丢弃。很多团队在平时压测时一切正常,一到促销秒杀、直播抢购或游戏赛季更新,高防IP的清洗阈值、连接数限制、CC防护策略突然触发,导致核心接口大面积超时。要解决这个问题,必须把“稳定性”从单点防御能力提升到“业务流量画像+分层丢弃+动态切换”的组合策略层面。

第一件事是提前做业务流量画像,而不是等到攻击来了再看监控。你需要梳理出核心业务接口的正常QPS峰值、平均包大小、单IP连接数分布、TCP与UDP比例、正常用户的地域和运营商分布。把这些数据作为高防服务的基线配置依据。比如一个电商下单接口平时峰值3000 QPS,大促期间可能到12000 QPS,如果高防上的CC防护阈值还停留在5000 QPS,活动开始五分钟就会把真实用户拦在外面。正确的做法是在活动前48小时就把阈值调整到预估峰值的1.5到2倍,同时把核心接口的URL加入白名单规则,避免基于频率的误封。

清洗阈值与回源链路的动态调整

DDoS防护中有一个常见误区:清洗阈值设置得越低越安全。实际上,过低的清洗阈值会让所有流量都先进入清洗中心,增加延迟和丢包概率,尤其在业务高峰期,正常流量本身就大,清洗设备可能因为规则复杂而处理不过来。建议把清洗阈值设置为平时业务带宽峰值的1.2倍左右,并开启“自动弹性扩容”功能。如果业务是突发型,比如整点秒杀,需要提前和防护服务商沟通,临时提高清洗容量。同时要检查回源链路是否有多路负载均衡,避免清洗后回注流量全部压到单台源站。很多稳定性事故不是因为攻击没防住,而是清洗后的流量回注把源站网卡或CPU打满。

CC攻击防护要按接口粒度做精细化策略

业务高峰期的CC攻击往往针对特定URL,比如搜索接口、登录接口、验证码下发接口。如果全局开启强制验证码或JS挑战,所有用户都会受到影响。正确做法是针对不同接口设置不同防护等级。对于静态资源接口,可以直接开启缓存和限速;对于登录和注册接口,启用滑动验证或行为校验;对于下单和支付回调接口,只做IP信誉库过滤和频率限制,不启用JS挑战。很多高防产品支持“规则组”功能,你可以把接口分为核心交易组、用户账户组、内容浏览组,分别绑定不同的CC策略。这样攻击者打搜索接口时,不会连带影响下单流程。

源站侧必须做好连接数治理与过载保护

高防只能挡住大部分攻击流量,但总会有漏网之鱼,而且清洗后的正常流量在高峰期本身就可能超过源站承载能力。源站Nginx或负载均衡器需要配置合理的连接超时、keepalive复用和每个IP的连接数上限。例如在Nginx中限制单IP并发连接数不超过20,超出直接返回503,避免单个用户或少量攻击源占满worker连接。同时后端应用要启用线程池隔离和熔断降级,当数据库连接池耗尽时,优先返回缓存数据或友好提示,而不是让整个服务崩溃。高峰期稳定性保障的核心是“有损服务”,宁可丢弃部分非核心请求,也要保住交易主链路。

多线路与多节点容灾切换不能只做备用

很多公司买了多线高防IP,但平时只用一条主线路,备用线路只是配置好放在那里。真正发生大规模攻击时,手动切换往往要几分钟甚至十几分钟,这期间业务已经不可用。建议在高峰期前做一次完整的切换演练,把DNS TTL提前降低到60秒以内,并配置健康检查自动切换。对于核心业务,可以考虑同时接入两家高防服务商,通过智能DNS做流量调度。当一家服务商清洗能力饱和或链路拥塞时,自动把流量切到另一家。这里要注意的是,切换不能只看IP是否通,还要检查业务接口返回码和响应时间,因为有些攻击会直接打源站真实IP,导致高防IP正常但回源失败。

日志与监控要能区分“攻击丢包”和“业务超时”

高峰期出现用户无法访问时,第一反应往往是“又被打了”,但实际上可能是源站数据库慢查询或缓存击穿。如果监控只看高防控制台的攻击流量图,很容易误判。你需要把高防的清洗日志、源站Nginx访问日志、应用性能监控(APM)三者的时间线对齐。当某个时间段出现大量5xx错误时,检查高防是否丢弃了请求、源站是否收到了请求、后端处理耗时是否突增。只有把链路打通,才能快速定位是防护策略误杀还是源站性能瓶颈。建议在高峰期开启全量访问日志,虽然存储成本高一点,但出问题时能快速回溯。

提前准备降级方案与静态化兜底

再完善的防护也可能在极端攻击下失效,比如攻击流量超过高防节点总容量,或者攻击者直接打源站真实IP导致回源链路中断。这时候业务不能完全瘫痪。对于电商类业务,可以把首页、商品详情页、下单按钮静态化,当动态接口不可用时,用户至少能看到商品信息和活动页面,下单请求可以进入队列异步处理。对于游戏类业务,可以降级为排队登录模式,限制同时在线人数,保证已登录玩家的体验。降级方案必须在高峰期前就开发完成并测试通过,不能临时改代码。很多团队忽略了这一点,攻击来了只能干等防护恢复。

与防护服务商建立战时沟通机制

业务高峰期前一周,就应该把预计的流量峰值、核心接口列表、源站架构图、紧急联系人同步给高防服务商的技术支持团队。让他们提前在后台把你的实例标记为“重点保障客户”,并配置好应急响应通道。真正发生大规模攻击时,服务商可以人工介入调整清洗策略,比如临时增加清洗节点、调整协议栈防护规则、协助分析攻击特征。这个机制在平时看起来没什么用,但在攻击流量超过自动防护阈值时,人工介入的速度往往决定了业务能否保住。同时要和服务商确认,高峰期期间是否有封禁海外IP、封禁IDC机房的选项,很多攻击流量来自海外IDC,封禁后能显著降低清洗压力。

业务高峰期的DDoS防护稳定性不是靠买一个高防IP就能解决的,它需要从流量画像、清洗策略、源站过载保护、多线路容灾、监控定位到降级兜底形成一套完整的作战方案。攻击者往往选择你最忙的时候下手,因为这时候任何一点误判都会被放大成严重事故。只有把每一个环节都提前压测、提前配置、提前演练,才能在真实攻击中保持核心业务不中断。