起因

今天是2022年10月的第一天,昨晚因为太困所以早早就睡了觉。今天早上六点多醒来(该死的生物钟),坐在床上迷糊了一会,天边的朝霞很好看,然后我看到两条短信,发现我的CDN又被刷了——距离上一次差一个月就是整整一年。

打开电脑登上控制台,发现被刷的有两个子域名,一个是反代的 jsdelivr,一个是用来存放静态资源的云存储。两个域名我分别设置了24小时内流量达到5GB和10GB封顶,一个解析回源,一个暂停服务。但是控制台显示被刷流量共计140GB,从凌晨一点左右开始,估计是一小时内触发了封顶就没再产生新的流量了。

控制台信息

处理

在确认被刷了之后,我尝试重启已被停用的加速域名,但是很快又自动被停用了。我以为是攻击还在继续,尝试了两次之后突然想到,重启之外还要修改封顶才能避免再次触发。

但是我已经不太想去折腾了,于是把反代 jsdelivr 的域名解析到了云盾。多吉云的云存储不能打包下载,所以我没办法临时把文件转存到服务器上去,思索了片刻,认为解析到云盾,仍然用云存储作为源站,虽然这俩家伙不是同一家的。

在七点多,重新做好了解析之后,博客恢复了正常访问。

细节

这一次刷我流量的人显然比上一次高明许多。去年刷我流量的家伙是用 Python 不停请求刷的,所以后来我禁止了一部分非正常 UA 的请求。这次的这个家伙有以下几个特征:

1.攻击源不在国内,主要是东京亚马逊云的一个ip:13.114.54.145

2.攻击者仍然选择了静态资源的图片下手,反代 jsd 的则刷的 Twikoo 的一个 css 文件;

3.攻击者竟然知道伪装正常 UA 模拟访问,包括但不限于正常的浏览器 UA 以及必应爬虫等:

其中一部分请求日志截图

4.攻击嫌疑人在期间数次访问过我的博客,以寻找下手目标和检查攻击效果:

疑似攻击者的访问记录

通过以上信息,我猜测是一个国内的无聊之人用了代理或者肉鸡进行了 cc ,这种情况很难溯源,我也不想去折腾。

后续

在迁移解析之后,发现了15次被 waf 拦截的 cc 攻击,因为已经被拦截,所以流量一切正常。我把情况反馈给了多吉云,但是对方目前没有进一步回复。

最后

此次被刷的原因我尚不得知,虽然一开始怀疑过是不是因为我昨天临时把 cdn 的“允许来源为空访问”打开了,但是后来仔细一想,这应该不是瞎猫碰到死耗子,而是有预谋的,因为反代 jsd 的子域名没有打开这个功能,更何况对方还会模拟正常的客户端来请求。

此次损失几乎为零,因为我去年12块钱买的流量包到现在都没用完,如果没被刷,估计也是到期清零了。目前正常情况下,我的博客一天也就100多个ip,流量在四五百兆左右,所以相比上次被刷1TB直接欠费400多,这一次的攻击我一点都不心疼。

最后,我想对那个攻击者说(如果他也会回到“现场”看我的反应的话):流量包都没刷完,细狗你行不行啊,TMD你没吃饭吗,能不能加大力度?!