先确认是不是真的被打了
打不开不一定是 DDoS。也可能是程序死循环占满 CPU、数据库连接打满、或者带宽被自己的大图跑满。这几种情况在服务器内部就能查到。
真的攻击有两个特征:外部流量明显异常、来源分散且量大;同时服务器自己的 CPU 和磁盘并不忙,但公网带宽跑满、网站连不上。确认这一步很重要,误判会白花钱。
攻击打的是哪一层 处理方式完全不同
打四层的洪水流量,特征是带宽被占满、连接数暴涨。这种只能靠上游做流量清洗,站内怎么改都没用。
打七层的请求洪水,特征是一个个正常的 HTTP 请求但数量异常,常见于刷接口、刷搜索页、刷动态页面。这种可以用 CDN、WAF、限频、验证码拦住,成本比清洗低得多。
清洗服务是怎么工作的
原理是把域名解析切到清洗节点,正常流量经过过滤后再回源到你的服务器,攻击流量在节点上被丢弃。你对外只暴露清洗节点的地址,源站 IP 隐藏起来。
关键条件是源站 IP 不能泄露,回源要限制只允许清洗节点访问。否则攻击者绕过节点直接打源站,清洗就形同虚设。
换机房能解决什么 不能解决什么
换机房有用的场景是:当前机房对攻击零容忍、被打就直接封停,或者上游没有清洗能力。换到一个有基础防护、对攻击容忍度高的机房,能让你先活下来。
换机房解决不了的是持续大流量攻击。攻击者跟着域名走,换到哪都能打,除非新机房自带清洗且防护量足够。
两种做法的成本和适用场景
清洗服务的成本按月计,防护量越大越贵,还要额外小心回源配置。适合有持续被攻击风险、或者业务不能长时间中断的站。
换机房的成本是一次性的迁移和一段时间的排名波动。适合偶发被扫、攻击量不大的站,或者当前主机商已经封你机器、必须马上搬的情况。
被攻击的时候先做这三件事
第一,把域名解析切到 CDN 或清洗节点,先把源站藏起来。第二,服务器上限制只允许 CDN 节点段的 IP 访问 80 和 443,把直连通道关掉。第三,把攻击时段的日志留下来,这是判断攻击类型和后续申请防护的依据。
这三步做完再谈长期方案。平时也要注意别把源站 IP 暴露在邮件头、第三方统计、历史解析记录里。选主机商时可以直接问一句有没有基础 DDoS 防护和封停策略,这比出事后再补救省很多事。更多关于防护方案怎么挑的拆解,可以去zhujishang.com翻相关文章。




