|
2023年,何防一家中型电商平台在促销日遭遇了持续三小时的流量UDP洪水攻击,峰值流量冲破1.2Tbps。攻击他们的何防防火墙规则在攻击开始后的第七分钟就彻底失效,所有业务中断。流量事后复盘发现,攻击攻击者只用了不到两千台被控的何防物联网摄像头。 防御流量攻击的流量第一原则,是攻击别把希望全押在自家机房的带宽上。你的何防出口带宽再宽,也宽不过攻击者租用的流量反射放大资源。真正有效的攻击做法,是何防把清洗动作前置到骨干网层面——也就是买高防IP或接入云清洗服务。流量还没到你服务器,流量就先被分流、攻击过滤、丢弃。这个钱不能省,它买的是“距离”。 但光有清洗还不够。你得知道攻击长什么样。我见过太多公司,买了高防就高枕无忧,结果攻击者换了个手法,用慢速应用层请求绕过流量清洗,直接打穿源站。所以第二层防御,是给自己的源站IP加密。用CDN做前置缓存,源站只对CDN节点开放端口,并且用防火墙限定来源IP段。别小看这个笨办法,它能挡住九成以上的直连源站攻击。 再往下说,是协议层面的韧性。TCP的SYN Flood是最经典的攻击方式,但很多人不知道,Linux内核参数里有一组现成的调优选项——net.ipv4.tcp_syncookies设为1,能有效应对半连接耗尽;net.core.somaxconn调大,能缓解队列溢出。这些参数改起来不难,难的是你愿不愿意花半小时去压测验证。我认识一个运维老哥,每次上线前都会用hping3模拟小规模SYN攻击,确保内核参数没被系统更新重置。 应用层的CC攻击更难缠。它不占带宽,就跟你耗并发。对付这种,光靠硬件防火墙没用,得用行为分析。比如,同一IP在十秒内请求超过二十次就拉黑,或者对登录接口做滑块验证。但别搞得太死板——我见过有人把正常用户的爬虫也误杀了,导致SEO流量暴跌。合理做法是分层限速:静态资源放行,动态请求限频,核心接口做二次校验。 还有一点容易被忽略:DNS。攻击者经常打你的DNS解析服务,让用户连域名都查不到。这时候就算你源站稳如泰山,用户也进不来。解决办法是部署多地域的DNS集群,用Anycast技术让解析请求分散到不同节点。另外,把TTL调低到60秒,这样切换IP时能快速生效,别让攻击者掐着TTL时间窗口反复试探。 最后说点实在的。防御体系建好之后,一定要做演练。不是那种“大家开个会讨论一下”的纸面演练,是真刀真枪把流量引到备用节点,让核心人员实际操作一遍。2022年某云厂商出过事故,客户买了清洗服务,但攻击发生时,工单系统排队排了两小时,等人工介入时业务早挂了。自动化的告警和切换机制,比任何手册都靠谱。 流量攻击防不住是常态,防得住是运气加准备。别追求百分百拦截,那是骗自己。目标应该是:攻击来时,核心业务不瘫,数据不丢,用户最多觉得卡顿几秒。做到这三点,你已经比大多数同行强了。 |