DDOS
将域名挂载到 CloudFlare 下,并且确保不暴露服务器 ip
将域名挂载到 CF 后,用户访问网站时服务器 ip 得以隐藏,因为访问时会经过 CF 的一系列解析,再由 CF 转发到服务器 ip,用户是不会知道域名对应的服务器 ip 的。所有的流量需要先经过 CF 再到达服务器,而 CF 本身即使是免费版也是有不弱的防 d 效果的(可以升级计划来获得更好的防 d 效果)。缺点在于套了一层 CF 后,国内用户访问该网站可能会变慢(CF 在国内没有节点),
并且,可以加入一些效果更好的手段
源服务器直接拒绝掉除了 CF 以外的所有请求
开启 CDN 以及挑战页(服务器拒绝所有 CDN 以外的请求)
WAF
可以前置过滤非常多的异常流量,此外,可以在 CloudFlare 的 安全性 > WAF > 自定义规则 中进行手动设置
- 如果网站只供国内用户,ban 掉所有国外 ip,ddos 会有非常多来自国外的 ip 访问网站
- 按 User-Agent(先分析日志):限制异常 User-Agent(但有可能会误伤正常用户)
高防服务器(ovh / spartan)
ovh 和 spartan 是比较主流的高防服务器大厂,缺点就是贵,但这两个厂家就是以高防服务器为出名。目前防 d 的服务器主流方案也是他们。在服务器 ip 暴露后,可以考虑这一方案。
大厂做法
用服务器集群来防,使用 anycast 把流量分配到最近的服务器上,以及负载均衡到压力小的服务器上。大厂有钱多服务器就可以这么干。
CC
CC 攻击並沒有一个比较普适化的解决方案,如果攻击者水平高超,确实只能与其博弈。但是在被攻击的前提下,可以尽可能做一些防护,来避免信用卡被刷爆:
- 在 CloudFlare 中设置一天超过多少流量就停止 cdn 加速,然后源服务器只接受来自 cdn 的请求。这样的话,被 ddos 之后服务可能会停掉,但被刷的资源可以在可承担的范围内,不会直接把所有资源消耗完甚至开始烧信用卡。由于服务会直接停掉,所以这通常是个人小网站的做法。