转载自linux do
前言
在Cloudflare中,免费域只有5个规则,因此合理利用这五个宝贵的WAF规则很重要。我目前使用了3个,按照优先级顺序分别是
- 允许
- 阻止
- 非国内人机验证
在这里分享给各位佬友,欢迎共建
操作步骤
- 打开自己想要设置的域名

注意:使用优选域名的佬友需要在回退源域中的WAF里设置
-
在左侧侧栏中选择 Security - WAF - Custom rules
可以选择创建规则或编辑现有规则

- 点击
Edit Expression 编辑表达式

规则内容
- 允许
(cf.client.bot) or (http.user_agent contains "UptimeRobot")
跳过组件勾选:所有其余自定义规则,用户代理封禁,浏览器完整性验证
包含已被Cloudflare认可的机器人,Uptime Kuma探针
- 阻止
(ip.src in {136.243.216.232 43.134.171.180 54.175.182.99 3.85.24.248 179.43.191.18 92.204.239.20}) or (http.user_agent contains "InternetMeasurement") or (http.user_agent contains "Censys") or (http.user_agent contains "HeadlessChrome") or (ip.geoip.asnum in {14168 16509 211298 45102 63023 200593 399486 7713 135377 135377 14061 209854 401120 206092 36903 48693 8758 216167 14987 208161 206092 204428 8560 31898 137409 48090 16276 16509 210558 198953 212238 51167 202425 58224 60068 9009 401116 174 28573 52053 206216 16276 396356 62240 43641 8075 22295 62610 25369 19871 211590 197540 198605 49870}) or (http.user_agent contains "Expanse") or (http.user_agent contains "OPD") or (http.user_agent contains "fasthttp") or (http.user_agent contains "ALittle Client") or (ip.src.country in {"SC" "IE"}) or (http.request.uri.path contains "/.git") or (http.request.uri.path contains "/.env") or (http.user_agent contains "ct‑git‑scanner") or (http.user_agent contains "python-requests")
直接拦截ASN和国家可能有点过激,但是根据观察,这些ASN内有多个IP频繁探测如Git凭证,PHP漏洞,环境变量,等其他已知CVE漏洞
对于本人流量不高的域名来说:宁可错杀一千,不放过一个
如果想要进一步拦截所有Cloudflare Compute(Workers/Pages)可以添加cf.worker.upstream_zone ne ""在结尾
更加激进的可以拦截User Agent包含go-http-client的请求,但随着越来越多的软件使用这个库,建议不要添加或随可信IP/ASN加入允许规则中
- 非国内人机验证
(not ip.geoip.country in {"CN" "HK" "TW" "MO"})
这一条兜底托管质询规则可以拦住绝大部分海外的机器人
若各位佬友有任何建议或补充规则可以提交在评论里
免责声明:
此内容由本站网友原创或转载自网络公开渠道,仅供学习测试使用,禁止商用,著作权归原作者所有;
本站不对此内容担负法律责任,请于下载后24小时内删除;
如发现内容侵权或违规,请联系本站,我们将在12小时内及时做删除或屏蔽处理!邮箱:[email protected]