腾讯云 CDN 防刷经验分享

通过 CDN 部署静态网站可以让网站加载速度如德芙般丝滑。CDN 和云服务器不同,云服务器大多是按带宽计费,CDN 则是按流量计费,如果设置不当,遇到流量洪峰时,会产生高额账单。最近不少使用 CDN 的博客遭遇了恶意刷流量攻击(近期部分加速域名晚间遭遇恶意流量事件说明),本站也是受害站之一,但基本没啥损失,分享一下防刷经验。

DNS 设置

虽然接入 Cloudflare 提供的 DNS 可以防御 DDoS,但 Cloudflare 在国内访问太慢了,暂时没套,如果未来受到比较严重的攻击,再考虑套 Cloudflare。

多准备几个源站,可以在受到攻击时灵活切换。我准备了三套源站,GitHub Pages、Netlify、腾讯云 CDN。

用腾讯云的 DNSPod,可以设置两条线路,默认线路解析到 Netlify,国内线路解析到腾讯云 CDN,GitHub Pages 不解析,留作备用。

Netlify 每月有 100G 免费流量,用于国外访问本站。

腾讯云以前每个月送 10G,现在不送了,买的话是 19 元 100G,有效期一年,不算贵。

受到攻击时,手机收到告警,我会立即在腾讯云小程序上暂停国内线路,保证 CDN 的安全,这时国内流量也会走默认的 Netlify,保证网站仍能正常访问,如果 Netlify 也不幸被刷满,就关闭网站。

CDN 设置

腾讯云提供了丰富的选项来防止被刷,这点还是值得称赞的

IP 黑名单,拦截异常的 IP 段

想要查询攻击者的 IP,可以到数据分析中看

IP 访问限频,可以缓解被刷的速度,但不能太低,会影响网站正常加载

下行限速,也可以缓解被刷的速度,静态网站都是小文件,不需要太高的下行速度

用量封顶,当瞬时流量超过设置的大小时,立即停用 CDN,网站会 404,避免产生高额账单

告警设置

告警可以让你知道自己被攻击,腾讯云可观测平台 可以配置 CDN 的告警,微信提醒完全免费,可以参考下图我的配置,根据你的网站规模,适当修改指标

告警触发时,会通过微信提醒

腾讯云 CDN 防刷经验分享

https://www.imaegoo.com/2024/qcloud-cdn-defense/

作者

iMaeGoo

发布于

2024-07-10

更新于

2024-07-10

许可协议

CC BY 4.0

评论

微信二维码