进入WAF配置页

进入CF的后台,选择你要防御的站点域名。
https://dash.cloudflare.com/login/

记得在DNS选项,开启小云朵。这就开启CDN了,后续防御规则才会生效。
选择安全性WAF 选择正则表达式添加规则,复制规则保存即可。

防御规则配置

以下列出三个规则的正则表达式
第一个放行自己原站IP
IPV4和IPV6地址改成自己原站的ip
(ip.src eq 192.168.7.17) or (ip.src eq 2901:c080:1110:4c91:5400:4ff:feb8:130a)
选择操作为”跳过“
开启”记录匹配的请求“
要跳过的 WAF 组件 勾选 ”所有其余自定义规则“

第二个放行SEO爬虫
无脑复制即可,无需修改,

(cf.client.bot) or (http.user_agent contains "duckduckgo") or (http.user_agent contains "facebookexternalhit") or (http.user_agent contains "Feedfetcher-Google") or (http.user_agent contains "LinkedInBot") or (http.user_agent contains "Mediapartners-Google") or (http.user_agent contains "msnbot") or (http.user_agent contains "Slackbot") or (http.user_agent contains "TwitterBot") or (http.user_agent contains "ia_archive") or (http.user_agent contains "yahoo")

选择操作为”跳过“
开启”记录匹配的请求“
要跳过的 WAF 组件 勾选 ”所有其余自定义规则“

第三个规则质询恶意流量

至关重要。但也很简单。地域限制,HTTP版本限制都十分管用。在之前大佬的基础上进化规则。

(cf.threat_score ge 5 and not cf.client.bot) or (not http.request.version in {"HTTP/2" "HTTP/3"}) or (not ip.geoip.country in {"AU" "CA" "FR" "DE" "HK" "IR" "JP" "KR" "MY" "SG" "TW" "GB" "US" "CN"})

这些大写字母是国家或地区的简称,在其中的都是放行的国家。如果你只在香港做业务可以只填写HK,其余的全部会进入质询拦截模式,俗称CF的5秒盾。

然后采取措施…
选择操作为”托管质询“

速率限制规则

(http.request.uri.path contains "/")
字段 :URI 路径

运算符:包含
值:/
请求 (必需): 200
期间 (必需):10 秒钟
选择操作 (必需):阻止

转自:https://blog.kejilion.pro/cf-waf/

最后修改:2024 年 04 月 14 日
如果觉得我的文章对你有用,请随意赞赏