心存侥幸
“CDN 被盗刷”的故事,网上隔三差五就能看到——一晚上甚至几分钟,几千几万块就没了。
听多了,难免会想:“我一个博客,日访问量破百都难,谁盯得上我?”
结果今年 3 月,短短 5 分钟,我的 CDN 被恶意刷掉 1.55 TB 流量 + 661 万次 HTTPS 请求。
说来也巧,去年开发 多吉云上传插件 时,我其实已经做过了时间戳防盗链功能。
但当时头像也放在 CDN 上,如果开了防盗链,别人博客上的头像就会裂开(就像下图这样)。于是线上测试没问题后,我果断……关掉了这个功能。

事发
3 月 12 日下午,手机突然收到多吉云的短信提醒:

赶紧登录控制台一看:1.55 TB 流量。
好在之前设了风控规则,被刷 5 分钟后 CDN 服务自动暂停——要不是这个“封顶”,损失还会大得多。

处理
1. 封禁 IP 段
在后台查到攻击 IP 全是境外地址:美国、日本、韩国、新加坡等。
用 AI 整理后,在多吉云的访问控制策略里,把这些 IP 段一次性封禁。
2. 重新开启 URL 鉴权(时间戳防盗链)
之前关掉的防盗链功能,这次老老实实开了回来。
如果当初没关,这次事件大概率可以避免——当然,也就少了这趟“宝贵的教训”。
3. 设定风控策略
结合博客正常的访问量、资源大小和数量,重新设置了:
- 每秒 QPS / IP 限制
- 每小时封顶流量
- 盗刷时携带的特定 UA 直接限制
后续
算了一下,这次在多吉云的实际损失大约 193 元。
多吉云(按量计费)
- 流量:1.55 TB = 1587.2 GB × 0.11 元/GB = 174.59 元
- 请求:(660.54 万 - 200 万) = 460.54 万次 × 0.04 元/万次 = 18.42 元
- 合计:193.01 元
我又好奇算了一下:如果去年没换到多吉云,还在用又拍云(而且同样没开防盗链),会是什么代价?
又拍云(按量计费)
- 流量:1.55 TB = 1587.2 GB × 0.29 元/GB = 460.29 元
- 请求:660.54 万次 × 0.05 元/万次 = 33.03 元
- 合计:493.32 元
多吉云可以买流量包和 HTTPS 包抵扣,最后实际只付了 179 元左右,比又拍云便宜了 300 多。

一点感悟
老话说得好:人教人,教不会;事教人,一次就够了。
无论是运维还是开发,安全这件事,永远不能心存侥幸。
所谓的“事前防御”,不是摆设,而是你真正被刷了一次之后,才明白它是多么值钱的东西。
尽量做到:事故之前,防患于未然;事故之后,不留下一次机会。
























