@
leaflxh 建议不错,不过还是很难避坑。
1. 用腾讯云/阿里云的 CDN ,回源 OSS 。同时 OSS 必须设置私有访问(防 OSS 被刷爆)
> 虽然 CDN 比 OSS 便宜,但每 GB 也要几毛钱。每天被刷个几十几百 TB 还是很肉疼的。
2. CDN 开启禁止国外 IP 访问(国外带宽大,用个几台 vps 就可以刷爆 CDN 。增加攻击门槛)
> 国内现在很多都是千兆带宽,攻击者搞些肉鸡就可以使劲刷。如果利用 HTTP/TCP 漏洞的话,甚至百兆带宽也可以刷出万兆带宽的效果。
3.开 Referer 检查,禁止空 Referer (防止别人用工具一键刷爆,但作用有限)
> 这种只是防基于 web 的恶意刷(类似之前 gfw 的 great cannon 这种),基于本地程序的请求就无效了。
4.设置单 IP QPS ,设置单线程下行带宽峰值。QPS 以视单页面最大的资源数为主(防止几个 IP 刷爆 CDN 。增加攻击门槛)
> 虽然每个 CDN 节点可限速,但同时对所有节点刷就统计不过来了。(可能在统计周期的延迟里,就欠下不少钱了)
最后点比较有意义,及时下线止损。国内带宽垄断导致的超高攻击费用最终还是用户买单。