记一次 CDN 流量被盗刷经历

先说损失,被刷了 70 多RMB,还好止损相对即时了,亏得不算多,PCDN 真可恶啊。

600多G流量,100多万次请求。

怎么发现的

先是看到鱼皮大佬发了一篇推文突发,众多网站流量被盗刷!我特么也中招了

抱着看热闹的心情点开阅读了。。。心想,看看自己的中招没,结果就真中招了 🍉。

被盗刷资源分析

笔者在 缤纷云七牛云又拍云 都有存放一些图片资源。本次中招的是 缤纷云,下面是被刷的资源。

IP来源

查了几个 IP 和文章里描述的大差不差,都是来自山西联通的请求。

大小流量计算

按日志时间算的话,QPS 大概在 20 左右,单文件 632 K,1分钟大概就760MB ,1小时约 45G 左右。

看了几天前的日志,都是 1 小时刷 40G 就停下,从 9 点左右开始,刷到 12 点。

07-09 07-08

但是 10 号的就变多了,60-70 GB 1次了。也是这天晚上才开始做的反制,不知道是不是加策略的时候影响到它计算流量大小了 😝。

反制手段

Referer 限制

通过观察这些资源的请求头,发现 Referer 和请求资源一致,通常情况下,不应该这样,应该是笔者的博客地址https://sugarat.top

于是第一次就限制了 Referer 头不能为空,同时将 cdn.bitiful.sugarat.top 的来源都拉黑。

这个办法还比较好使,后面的请求都给 403 了。

但这个还是临时解决方案,在 V 站上看到讨论,说资源是人为筛选的,意味着 Referer 换个资源还是会发生变化。

IP 限制

有 GitHub 仓库 unclemcz/ban-pcdn-ip 收集了此次恶意刷流量的 IP。

CDN 平台一般支持按 IP 或 IP 段屏蔽请求(虽然后者可能会屏蔽一些正常请求),可以将 IP 段配置到平台上,这样就能限制掉这些 IP 的请求。

缤纷云上这块限制还比较弱,我就直接把缤纷云的 CDN 直接关了,七牛云和又拍云上都加上了 IP 和 地域运营商的限制,等这阵风头过去再恢复。

七牛云 又拍云

限速

限制单 IP 的QPS和峰值流量。

但是这个只能避免说让它刷得慢一点,还是不治本。

最后

用了CDN的话,日常还是多看看,能加阈值控制的平台优先加上,常规的访问控制防盗链的啥的安排上。