发现新文章

我们已经通过 Google Adsense 审核!不出意外,在未开启广告拦截器的情况下,应该已经可以看到广告了

如果您对广告位置不满意(如:占据面积大,挡住主要内容等情况),请前往 置顶文章 告知我们!

2871 字
14 分钟
连着被打了4个月,来做一个彻头彻尾的复盘吧!
自25年11月至今,该网站被连续不断攻击了总计高达几百TiB,攻击峰值高达6.8Gbps,且攻击者从最开始的纯印度IP攻击到如今的纯中国大陆IP攻击。今天,就跟大家谈谈攻击者为什么要攻击,他们想得到什么,以及如何防范DDOS
2026年2月10日 19:18:55
0 次

引言#

本站建站初使用 静态 架构就是防止别有用心之人进行DDoS

你想啊,一个静态网站,所有攻击流量都是打在 CDN的边缘节点 上,也就是等于攻打 整个CDN厂商

一是很难打死,二是没必要,毕竟静态网站的背后没有源站,也不涉及利益,纯粹是白打

正常来说,DDOS应该是针对单个IP的,因为正常来说,运营一个网站,肯定是需要买一台服务器,然后再在其上跑服务,最终一切准备就绪开放到公网中

如果说没有高防,并且没有CDN,市面上很多的免费DDOS就可以轻松将一个IP打死

但是,该网站情况非常不同,它是一个 由CDN直接应答的静态网站

也就是说,攻击该网站 = 攻击CDN

按往常来说,这几乎是不可能的

从宏观角度来思考,CDN是用来清洗流量的,清洗恶意流量,然后放行干净流量访问源站

但是如果是一个静态网站呢?

它根本就没有源站,每一个请求都被视为有效请求被CDN所应答

所以综上,如果有人打CDN,绝对是自讨苦吃,我也根本不需要管

但,真的是这样吗?

如果说攻击者的目的不是 打死CDN 呢?

那么事情就变得有趣起来了


第一次大规模攻击:6.65TB流量冲击#

以下记录于2025年12月16日,是本站遭受的第一次大规模DDoS攻击

2025年12月16号 11:13,我在和我的朋友测试项目的时候,有一个知识点他忘记了,我提议他前往我的博客查看,却被告知博客访问报 570 状态码

我立即使用 https://itdog.cn 测试了我的博客网站 https://acofork.com 发现大部分节点都为 570 状态码

因为当时我的网站部署在 EdgeOne

随后,我向腾讯客服求证,了解到该状态码是一个 单节点限频访问 的状态码

我的朋友甚至还在调侃说:你网站🔥了

但是事情貌似还有一些诡异,为什么海外都是 200 OK

我开始怀疑被打了

可能玩静态久了,没有第一时间上到 EdgeOne 查看请求数和流量,想着都是静态,谁没事打呢

然后我就回家,暂时切了一下逻辑

  • 之前:EdgeOne Pages 直接提供服务,但是570
  • 现在:EdgeOne CDN 回源 Cloudflare Pages

切完后逐步好转,虽然速度有些慢,然后我就睡觉了

真相大白#

睡醒后我越想越奇怪,于是就登上了 EdgeOne Pages 控制台,然后一看,我嘞个大雷

随后我抱着好奇的心态想看看ESA防御咋样,没想到刚切过去阿里云就给我发消息了

于是…

依旧是熟悉的印度尼西亚

那没招了,随后我于10分钟内极速 完全切到Cloudflare Pages

目前来看 Cloudflare Pages 也挺绿的

最后发了一个被打的B站视频,然后得知

我去!大手子来了!

本次攻击总结#

本站遭受了建站以来规模最大的一次DDoS攻击,总流量6.65TB,峰值瞬发1.95GB/s

当时 acofork.com 域名所有主要业务重定向为 2x.nz,所有业务采用 Cloudflare CDN


作死回马枪:又切回了ESA#

切到Cloudflare之后,攻击消停了一段时间,网站也恢复了正常访问

但是,我心里总有个疙瘩——我都有备案域名了,不用国内CDN是不是太憋屈了?

国内CDN对于国内访客来说,访问速度确实是顶级的。Cloudflare虽然防护能力强,但国内访问速度确实不如国内CDN

于是,在一番纠结之后,我做了一个”作死”的决定——又把网站切回了ESA(阿里云全站加速)

不过这次我学聪明了,配置了分流:国内访客使用国内IP访问会由ESA应答,而海外访问由CF应答。同时,我在ESA上配置了L7层的海外屏蔽——如果强制通过海外IP访问ESA,请求会被拦截

当时以为这样就能兼顾速度和防护了,但事情远没有这么简单


持续攻击:长达四个月的攻防战#

攻击升级:国内IP攻击#

在我做了分流和L7海外屏蔽的情况下,攻击者并没有放弃,而是改变了策略——开始使用大量的国内IP进行攻击

由于我们没有也根本不可能对国内访客访问国内CDN一刀切死,这种攻击几乎无法在L7层面进行有效防护

我们可以顺便想想为什么攻击者有这么多的国内IP?真的是自己烧的钱吗?我们不妨看看大部分流量的UA(尽管它可以伪造)

可以看到大部分都为BT下载器,这可能和最近的 React/NextJS - NVD - CVE-2025-55182 以及 FnOS - 重要安全更新通知 有关。攻击者可能从公网扫描了大批未及时修复漏洞的肉鸡发起的攻击

不过就算大概知道了攻击手法,也不知道防范方案,所以在这几天,我们几乎处于无计可施的状态,虽然上了速率限制,但是由于攻击源IP非常多,速率限制几乎是被触发后就切IP,最终依然可以做到一天拉流几十T

接着我又将国内CDN的 HTTP2 关闭,由于H2可以连接复用,而一旦不支持H2,攻击者就仅能通过H1或H1.1来刷流量,每一个HTTP连接都会占用一个原始的TCP连接,我认为这么做可以让攻击者单机拉流更困难,但是就如上文所说,攻击源IP非常多,这种做法似乎并不能牵制多久

网站被攻击的时候所有人都无法打开,但我确实也已经无计可施了

攻击扩散:API也被盯上#

最后,攻击者不再执着仅攻击这个静态站点了,转而去攻击其他的API,比如Umami,随机图等等

不久后,EdgeOne就封掉了随机图的域名,我不得不去另寻他法来解决

当时我暂时通过换一个子域名去规避针对于域名的封禁,但是一旦改了API域名,所有用这个API的业务都需要同步更改,这耗费了我不少的精力

一想到等新一轮的攻击到来后,域名再次被攻击至封禁,接着再切域名,再改服务等等就很累

群u粉丝也是说到

确实也是这样,尽管国内用户直连国内CDN能得到及其优异的访问,但是一旦被打,就连访问都访问不上,更别说速度了

最终方案:迁移至Cloudflare#

最终,又花了小半天时间将该网站本体以及其他API全部迁移到了Cloudflare,尽管攻击者仍在持续不断的攻击,但是还不至于打死Cloudflare


疑难解答#

至此还有非常多的内容没说,但是他们没法串在一起,就用QA的形式回答吧

  • 为什么只有你被打?为什么我的网站没被打?

因为我是主播,被打了会有反应,很可爱

  • 为什么要攻击一个静态网站?静态不是打不死吗?

的确,打静态网站 = 打CDN,但由于使用国内CDN,如EO/ESA,众所周知,国内的带宽非常金贵,并且EO/ESA还是免费提供服务的,防护力度自然没有国际大厂Cloudflare强力。通过上文也可知,攻击者的确可以 打死EO/ESA,使其在一段时间无法为你的网站提供服务。另一方面,如果我们不做任何防护措施,CDN平台就可能会认为我们在滥用资源,从而封禁/清退域名,使得我们后续实行补救措施更加困难

  • 不是已经做了WAF(如海外屏蔽,速率限制等)吗?难道这些规则纯摆设吗?

要回答这个问题,我们首先需要知道WAF本来是防什么的。正常来说,一个网站应该是,源站脆弱,由CDN拦截大部分恶意请求,仅让正常请求流入源站。就好比你的源站有高清无码大片,你就可以写个速率限制,让单IP一秒只能请求一次,这样,恶意请求就拿不到你源站热情的高清无码大片,只能拿到CDN冰冷的拦截画面。但我们是静态,没有源站,或者说源站就是CDN。所有请求,有效或无效都是直接打到”源站”,也就是CDN上的,哪怕我们写了海外屏蔽,写了速率限制,这些也都是L7层的,攻击者仍然可以无限制的去在L4层建立TCP连接来促使CDN拒绝来自我们站点域名的服务。除非我们能够控制CDN的L4层WAF,并且设置严格的WAF规则,直接拒绝来自攻击者的TCP握手请求,才有可能逃脱最终被打死的宿命

  • 为什么要切Cloudflare?不是说攻击者打的是CDN吗,Cloudflare就不会被打死吗?

Cloudflare曾抵御过高达 22.2Tbps 的攻击,对于攻击我们的流量来说,完全是小菜一碟,详见:https://x.com/Cloudflare/status/1970244046946759024,[Cloudflare 2025年第三季度DDoS威胁报告——包括僵尸网络的顶尖攻击者Aisuru](https://blog.cloudflare.com/ddos-threat-report-2025-q3/?utm_source=chatgpt.com/)

  • 我也有网站,我要如何避免如此恐怖的DDOS攻击?

不让攻击者觉得打你有价值,打你好玩,你就不会被打(?)


所有攻击报表#

我们是最近刚切到Cloudflare的,在此之前我们使用的是EdgeOne/ESA

Cloudflare#

ESA#


最终复盘#

经过这四个月的攻防战,总结出以下几点:

  1. 免费的国内CDN并不抗打:就算写好WAF规则,CDN并不会清退你,但是在攻击期间网站仍会处于宕机状态。除非我们有L4权限,能在TCP握手层就丢掉攻击者的连接,否则L7层的WAF规则对于这种大规模分布式攻击效果有限。

  2. 对于纯静态网站,防护薄弱的CDN风险很高:如果部署在防护薄弱的CDN,攻击者拉出大流量不仅会导致网站短时间宕机,长时间不处理还会被CDN清退。

  3. 此种攻击级别史无前例,目前解决方案就是切换为Cloudflare CDN:因为Cloudflare体量足够大,能够抗住如此大的DDoS攻击,并保证SLA。Cloudflare曾抵御过22.2Tbps的攻击,对于这种规模的攻击完全不在话下。

  4. 读者几乎不用担心自己的网站会被攻击:此种规模的攻击明显是有组织、针对性的,攻击成本很高,几乎不可能用来泛攻击。普通网站根本没有被攻击的价值,除非你像笔者一样被”盯上”了。

这篇文章是否对你有帮助?

发现错误或想要改进这篇文章?

在 GitHub 上编辑此页

文章修订历史 (2 次)

查看变更记录
2026年2月10日 13:02:55 be682f2

docs: 修正博客文章中的标点符号错误

2026年2月10日 12:49:44 db0a8c4

posts: 新增DDOS攻击复盘文章及相关图片资源

连着被打了4个月,来做一个彻头彻尾的复盘吧!
作者
二叉树树
发布于
2026年2月10日 19:18:55
许可协议
CC BY-NC-SA 4.0