最近几天网站被DDOS攻击,一度导致服务器CPU/带宽占用100%,网站无法访问,服务器无法正常登录。
紧急启用Cloudflare免费版的防DDOS攻击服务后,持续了几个小时后,总算稳定下来,这几天观察下来,基本上顶住了攻击。
Cloudflare真的是互联网大善人!!!
有人问起处理步骤,简单总结一下。
1、服务器新增IP地址(旧的IP地址保留)(可选)
服务器新增IP地址的目的是将DNS域名解析托管到Cloudflare并将服务器实际IP地址隐藏起来。
需要强调的是:即便DNS解析托管在Cloudflare,如果在此期间DNS解析处于“直连”模式或做过切换的,在域名历史解析记录中都会有对应的操作记录,攻击者可以通过查询DNS解析记录获取服务器真实IP,直接对真实IP发起CC攻击或DDOS攻击,此种情况下怎么配置Cloudflare都无效的。
可以用一些查询域名历史解析记录的工具查询一下,推荐:https://securitytrails.com/
2、配置Cloudflare与DDOS相关的配置项,包括 安全性->设置,安全性->WAF,安全性->自动程序,安全性->DDOS,安全性->设置,网络->洋葱路由 等选项
具体配置请见后文”Cloudflare相关配置说明“部分。
3、将所有域名指向新增的IP地址,在Cloudflare DNS解析中增加新IP地址A/AAAA记录解析项且代理状态为“已代理“
4、等30秒左右,规则配置生效
5、从服务器解绑旧IP地址,避免攻击者通过暴露的旧IP地址攻击(如果确认旧IP地址地址未暴露过,可选)
6、重启服务器
一定要重启服务器,让所有的已有连接完全断开
1、从Cloudflare Dashboard进入对应的域名,点击对应域名左侧菜单的”安全性“
2、安全性→设置
安全级别设置:高,此处不要开启 I’m Under Attack! ,因为在Under Attack状态下任何请求会做人机验证,等待5秒钟,会影像搜索引擎收录和API通讯。
质询通过期:15分钟或30分钟,严重可以设置5分钟
浏览器完整性检查:打开
3、安全性→DDOS
点击”HTTP DDoS 攻击防护“右侧的”部署DDoS替代“,创建 DDoS 替代。
替代名称:随便取一个
规则集操作(必填):托管质询或直接阻止,建议在受到攻击的时候直接阻止
规则集敏感度(必填):高
配置完记得点右下角的保存。
打开自动程序攻击模式
1,自定义规则
2,点击”速率限制规则“TAB,创建一条速率限制规则,规则如下:
规则名称 (必需):随便填写
如果传入请求匹配…
字段:URL路径
运算符:包含
值:/
则…
选择操作:阻止
响应类型为 :默认 Cloudflare 速率限制响应
对于…
持续时间 (必需): 10秒
当速率超过…
请求 (必需):50
期间 (必需):10秒钟
请求:50 可以设置为25,值不要过低,否则用户正常访问都会被阻止。如果网站类型有文字、有图片、有视频,也不要设置过低。
将洋葱路由关掉
有些攻击会通过TOR节点绕开Cloudflare质询,在安全性->事件 可以查看到相应的事件,
1、采用此方案的优缺点
优点:免费,易用,高效。比Imperva(以前的Incapsula) 、AWS CloudFront等众多所谓”免费“或收费的CDN服务好用。
缺点:国内用户访问会慢很多,所谓的”副加速“。
2、使用Linux操作系统防火墙、宝塔之类的管理面板以及各种基于Nginx的单机防火墙对DDOS、CC攻击基本上无太大作用
CC攻击和DDOS攻击,服务器带宽、网络资源、CPU等资源会很快耗尽,只能用分布全球各地的CDN服务来缓解