看前说明
Cloudflare提供的免费版Waf防火墙规则可以为我们提供不开启Under’Attack模式的情况下,访客无感防御CC 很可惜这是有弊端的,仅适用于个人博客等不需要外部API调用的站点(例如A站对接B站)你需要更多的Waf策略规则组 例如Cloudflare Pro 提供高达20个规则组页面。
基础规则
首先你需要将域名的DNS接入Cloudflare DNS 这将有助于隐藏你的站点的源IP
基础SSL加密
点击SSL/TLS 选择【完全严格模式】并自行生成一个仅用于Cloudflare的加密证书安装在源站
开启自动保护
点击安全性-自动程序 勾选自动程序攻击模式保证在开启状态
开启DDoS防护
点击安全性-DDoS 创建并勾选下图配置 保证在开启状态
开启基础HTTP保护
点击安全性-安全级别-高 按照下图配置 保证下列设置在开启状态
设置SSL/防止追踪源站
点击网络 按照下图配置 自行观看不描述
至此 基础配置完毕
Cloudflare Waf配置
点击安全性-Waf-创建规则 手动输入下图配置或使用表达式自动输入
此规则包括了地域/伪造/UA/人机/完整性判断 规则选择托管质询 或阻止(不建议)
快速输入表达式
(http.request.full_uri contains “https://” and http.request.version in {“HTTP/1.0” “HTTP/1.1” “HTTP/1.2”}) or (not http.user_agent contains “Mozilla/5.0”) or (cf.threat_score ge 1) or (http.x_forwarded_for contains “.”) or (ip.geoip.country ne “CN”)
点击安全性-Waf-速率限制-创建规则 手动输入下图配置
可以根据源站的状态设置速率 建议30-50之间不会影响大部分正常访客访问
【备用】严格策略 防止大陆代理
这个策略不是必须的 而是以防万一 部分打手来自中国方向的僵尸很多
如果以上的默认策略没有防御到位 可以额外临时增加下方任意一个或全部增加以达到保险效果
疑似拦截大陆方向违规请求自动表达式
(ip.geoip.country eq “CN” and cf.threat_score ge 1)
拦截并质询所有大陆流量自动表达式
(ip.geoip.country eq “CN”)
点击规则-页面规则 手动输入下图配置
这一步如果没有很严格的防御需求理论上可以不设置 但是防御效果很难保证
至此 Cloudflare Waf配置完毕.
测试防御拦截
源站负载甚至没有很大的波动 规则并没有因为中国大陆的宽松规则而造成大陆代理防御失效 如图
有话要说
或许你想说 Cloudflare直接拉满五秒盾不就可以了吗,何必大费周章的配置规则,麻烦还不省心。据我所知,Cloudflare自带的五秒盾规则在TLS或一些浏览器攻击脚本上可以完美绕过,并且在文章开头我特意强调了无需开启强制Attack页面即可完美防御,这对于个人博客或一些没有API对接需求的网站非常友好。
这套简单的策略防御了大部分的脚本绕过,简单的来说,这套规则很硬性,但同时也很轻便,并没有强制锁死了某些区域 ,只是需要访客质询即可。