公司的阿里云 CDN 每晚都在被偷偷刷量

2024-05-30 11:39:58 +08:00
 maomaosang

昨晚偶然查看了公司的阿里云 CDN 监控,发现被偷偷刷量了。

攻击方式是每晚 20-23 点,会用几千个 IP 请求一个 100M 左右的 exe 文件,和一个十几 k 的静态文件,以非常稳定的带宽占用刷掉 100-700G 的流量,然后安静的结束。从 4 月中旬攻击到昨天晚上。然后我们换掉了文件名,CDN 返回 404 ,攻击仍然持续到 23 点准时结束。我们是买流量包用的,一次会买大半年的用量,所以之前没有发现。

有几点非常奇怪,想请教一下各位:

1.我们正常的每天用量大约是 30-50G ,每个月 1T 出头。费用是 126 元/T 。黑客用一个半月的时间,大约刷掉了 8T ,大概是一千块。这个费用对公司不痛不痒,目的是什么?(希望黑客不要看到这条后给我加个零)

2.攻击 IP 非常诡异,除了全世界各地&全国各地的 IP 地址以外,还有一些 6.开头和 0.开头的 IP ,我查询之后发现分别是美国 DoD 和 IANA 的保留地址,前者还勉强可以说通,责任全在米方,保留地址是啥情况?这些 IP 地址来自阿里云后台下载的 CDN 访问记录。

提醒大家为 CDN 服务加上监控。

9642 次点击
所在节点    云计算
40 条回复
maomaosang
2024-05-30 13:51:27 +08:00
@LiuJiang 我的第一个问题,在阿里云客服那里显然得不到答案。第二个问题,确实比较搞笑,查文档查到了,确实没想过阿里会做这么奇怪的设计(日志记录是 xff ip ),一度困在认为这是真实 ip 的井里,直到我看到计费是中国内地,才意识到很可能是个伪造 IP ,查文档确认了。

阿里云官方在今年 2 月份发布了《高额账单风险警示》( https://help.aliyun.com/zh/cdn/product-overview/configure-high-bill-alerts ),很显然知道问题是广泛存在的,但通篇没有提到问题出现的原因,发布时间又说明这个问题可能是今年开始大规模爆发的。
xueling
2024-05-30 14:33:21 +08:00
竟然还有这种情况,可以使用我的开源项目,https://github.com/xl-xueling/xl-lighthouse (单机版就可以)排查一下原因,通过 IP 、IP 头、IP 段、访问目标地址、访问时间段等方式进行流量统计和请求数统计(统计维度可以根据需要随意定制),拿到确凿证据后向云服务商投诉,看看能不能要求赔偿。
lstz
2024-05-30 14:36:01 +08:00
用雷池可以解决吗
wushenlun
2024-05-30 14:57:25 +08:00
对请求鉴权吧,用轻量级 js 或者重定向生成一个 token
lyxxxh2
2024-05-30 15:42:50 +08:00
4 年前遇到过 刷一个 apk 文件
不过比较少 一个月也就 30g
dandankele
2024-05-30 16:26:06 +08:00
这是之前一个哥们在腾讯云类似的情况 https://mp.weixin.qq.com/s/ANFnbDXwuhKI99fgYRZ9ug
gadfly3173
2024-05-30 16:27:50 +08:00
@maomaosang 不存在 100%在服务端获取真实 ip 的方法吧,即使你自建 cdn ,你在边缘节点忽略 xff 那只能拿到运营商的 ip 或者对面的代理的 ip
KepaThings
2024-05-30 16:47:06 +08:00
遇到过,来自某个机房的 ip 段。拉黑了,还在不断请求,大概三天后,就没刷了。
QKgf555H87Fp0cth
2024-05-30 17:12:22 +08:00
国都都一个样,垃圾
QKgf555H87Fp0cth
2024-05-30 17:12:53 +08:00
国内
maomaosang
2024-05-30 17:45:05 +08:00
@gadfly3173 确实不存在,但 xff 是最假的那个,也是在防御这种行为中最无用的那个。
与边缘节点通讯的 ip 就是我希望拿到的 ip ,如果请求者是内网 IP ,那么我要他的外网 IP ,如果他用了代理,我要他的代理 IP 。这种情况下,IP 特征是有意义的。而 xff ,只要对方是恶意的,这个字段就没有任何意义。
daimaosix
2024-05-30 18:58:53 +08:00
@lstz 当然不可,雷池能往 CDN 部署吗,显然不能。
maomaosang
2024-05-31 08:41:07 +08:00
昨天找到了获取阿里云 cdn 真实 IP 的方法后,蹲守,查到是一个山西联通的 IP ,QPS 大几百都是这一个 IP 打的,那些全球各地的 IP 都是伪造 xff 头的。
在阿里云 cdn 拉黑该 IP 后,所有请求都由阿里直接回 403 了。
yestodayHadRain
2024-05-31 10:12:15 +08:00
@maomaosang 比较好奇楼主是怎么获取真实 ip 的? 是把 cdn 缓存清掉,让请求到源站,然后源站 从 xff 里取吗?
MartinWu
2024-05-31 10:19:36 +08:00
@maomaosang #33 同是被山西联通刷。。我被刷的是七牛云的
esee
2024-05-31 12:57:12 +08:00
会不会是你们公司内部的人心怀不满搞点小动作?
maomaosang
2024-06-04 11:23:44 +08:00
@esee 可能性存在,但不高,概率和路人嫉妒我长的太帅然后对我进行打击的概率差不多。
@yestodayHadRain 已经在 append 中补充,你说的这种我没试过。
@dandankele 最终的“预热”说我觉得站不住脚,很可能是客服瞎 bb 的,一千个 CDN 节点对资源进行主动预热,这种主动冲业绩的行为真的有点搞笑了。从文档来看,阿里和腾讯都是用户触发预热的,不会主动预热。
daisyfloor
2024-08-01 10:22:52 +08:00
@maomaosang 我看文档的做法是 XFF 从左到右第一个。但通常即便是过 proxy ,转发者也是在右侧添加。

所以正确的做法是不是应该是 增加 trustlist ,然后从右向左查找,找到的第一个不在 trustlist 里的 ip ,就任务是 访问者的 ip
daisyfloor
2024-08-01 10:24:33 +08:00
@maomaosang 按我上面的做法 从右向左找,不在 trustlist 里的 ,那这个山西联通的 IP ,就会被提到日志里。
maomaosang
2024-08-01 10:30:27 +08:00
@daisyfloor 是的,阿里云的做法非常没有安全常识,对外部输入无限信任

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1045318

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX