记一次CDN盗刷流量事件排查及解决记录
在三大运营商网间结算全面推行的2025年,仍然有PCDN寄希望于通过刷下行流量配平比例,达到不被运营商封停宽带的目的
从异常账单说起
由于此前配置了Thunderbird作为自己的本地邮件客户端,今天在收邮箱验证码的时候发现点Thunderbird的收取按钮一直收不到验证码,遂登录邮箱网页查看,意外发现垃圾箱里收到一封来自阿里云的账单提醒,提示说7月账单应付金额比上月增加2258.06%,吓我一跳,由于我的网站总体上流量不大(没人看)每月账单总价其实并不是很高,但是这次的金额着实令人瞩目,以往都是零点几元的,遂点进阿里云后台详查一二。
7月CDN概览
从概览带宽流量可知,自7月7日开始,我的几个首页每天均有150~200MB的流量,过去30天的静态请求数接近400万次,且请求事件非常有规律,白天流量高晚上流量低,到次日0点就归零,特征上非常符合PCDN的流量特征,同时8月的未出账单也已经有了2块多,这个时候就要赶紧查看阿里云的CDN日志,查一下到底是谁再高频次访问CDN造成大流量,同时也在网上搜索"CDN盗刷"等关键词寻找解决措施。
罪魁祸首
由于阿里云这个垃圾WEB界面完全不提供网页查看日志的功能,需要你自行到CDN
-日志与报表
-日志管理
-离线日志
中下载,而且只能按小时下载,于是我根据概览中的大流量时段下载了几天的日志,下载文件如图所示:
解压日志并打开:
发现全是以240e:978:91f:1100:ffff:ffff::/96为首的iPv6地址,集中访问主页站的beianlogo.png
图片,这个文件虽然小,但通过不同ip、间隔且多次请求文件,即能避过访问控制不完善的CDN流量告警,也疑似能通过刷下行流量来躲避运营商对PCDN上下行流量不对等的管控。
解决措施
既然通过日志找出了幕后黑手,那就针对性其手段进行一一解决:
-
增加访问控制,将近期PCDN的iP段全部拉黑,来源:多吉云公告
218.91.77.0/24 218.91.18.0/24 58.220.4.0/24 58.220.40.0/24 58.220.45.0/24 61.147.92.0/24 182.34.108.0/22 183.210.88.0/24 183.210.92.0/24 43.254.192.0/23 218.90.199.0/24 58.222.45.0/24 123.169.44.0/23 114.230.138.0/24 182.34.2.0/23 182.34.4.0/23 153.99.234.0/24 121.233.203.0/24 180.119.118.0/23 240e:978:91f:1100:ffff:ffff:0000:0000/96 240e:e9:b00c:1:ffff:ffff:0000:0000/96
_需要注意阿里云CDN的访问控制不支持iPv6地址缩写,需要将
MARKDOWN_HASH4501c091b0366d76ea3218b6cfdd8097MARKDOWNHASH
的缩写完善后再填入,否则会报错。 -
关闭CDN的iPv6开关,本来这个开关是为了满足主机没有iPv6地址但是客户端又有iPv6需求的,但是反而被黑产利用,不如关掉。
-
增加流量限制,阿里云的CDN提供了
用量封顶
和单请求限速
,其中用量封顶
里面还有流量封顶
、带宽封顶
、HTTPS请求数封顶
,如果网站的访问流量不大,可以将流量限制到日常访问的用量上,避免自己的网站被PCDN恶意盗刷流量。
空空如也!