Last Updated on 2024-08-27 by likun.gong
问题
- 带宽使用从平时的 2Gbps 提升到了 20Gbps
- 每日的 CDN 费用从 2000 上涨到了 20000
处理
- 通过监控发现,现状已经持续了 5 天左右
- 查看运营报表(阿里云自带),发现有几个特定的 IP 一直在访问一个 APK 资源,并且过去 7 天下载了 1.4PB 的流量
- 在 CDN 控制台中封禁这些 IP,带宽使用下降
- 发现攻击者切换 IP ,继续访问这个 APK 资源,带宽使用上涨
- 配置此资源下载限速,一开始配置的 20MB,发现仅对单次连接生效,效果不佳,降低到最低限速 100Kb,带宽使用下降
- 攻击者还是在切换 IP 持续访问
- 确定资源是 2020 年的资源,目前已不在使用
- 从源站中重命名资源,刷新 CDN 缓存,从而清除 CDN 中的缓存
- 此时再访问资源 404,带宽使用恢复
思考
存在的问题:
- 没有及时发现流量被盗刷
- 没有限速机制
- 历史资源没有生命周期管理机制,一直存在
如果攻击者更换了新的 IP 和资源,我们应该怎么办?
- 需要考虑使用其他的特征来进行封禁,例如 User-Agent、Referer 等内容
- 考虑接入 WAF ,利用 WAF 来封禁
应该如何防止此类事件?
- 添加监控。对于按使用量计算的指标,可以添加对应的上限监控。例如:带宽、流量、费用
- 配置下载限速
- 建立资源的生命周期机制。没有资源的下线机制,冗余资源会越来越多
为什么被刷
网络上看到的解释,对比当时的场景十分符合,针对一个 url 不停的下载,去平衡 pcdn 的下载流量,避免家庭带宽上传过多被运营商封禁。
发表回复