Cloudflare的WAF免费创建5个防护墙规则

一.WAF 简介

Web 应用程序防火墙(Web Application Firewall)是一种防护网络攻击的技术,通过检查和过滤 HTTP 流量中的恶意请求和攻击,保护 Web 应用程序的安全。

Cloudflare WAF 是一种安全防护服务,能够帮助保护您的网站免受常见的网络攻击,如 SQL 注入、跨站脚本攻击、恶意文件上传等。Cloudflare 的免费计划用户可以使用基础的 WAF 功能,并且托管在 Cloudflare 上的每个域名都可以单独配置最多五个 WAF 规则。

Cloudflare WAF 的 基本策略 1 有五种:Allow(允许)、Bypass(绕过)、Managed Challenge(托管质询)、JS Challenge(JavaScript 质询)和 Block(阻止),每种策略都有不同的用途和优先级条件:

  • Allow(允许)策略是最宽松的一种,满足条件的流量都直接通过,不进行任何检查,它是额外的「白名单」;
  • Bypass(绕过)策略用于绕过某些规则的检查和阻止,可以用来放行某些特定的流量;
  • Managed Challenge(托管质询) 策略会让访问者在访问您的网站之前需要通过一个托管的验证码来验证其身份。如果用户通过验证,则可以继续访问您的网站,否则将被阻止.
  • JS Challenge(JavaScript 质询)策略与 Managed Challenge 类似,不同的是它要求访问者在访问您的网站之前进行 JavaScript 质询来验证其身份。如果用户通过验证,则可以继续访问您的网站,反之则被阻止;
  • Block (阻止)策略会完全阻止匹配规则的请求,这种策略通常用于防御已知的攻击或威胁,对于 Block 策略,我们使用需要非常谨慎。将正常的访问者阻拦在外与我们的目的是相悖的。
    WAF策略

给 cloudflare 域名打开 cdn 小云朵。这样开启 cdn,后续防御规则才会生效

CDN设置

选择安全性 WAF

WAF设置

四个 WAF 规则

  • 第一个放行自己的原站 ip, IPV4 和 IPV6 地址改成自己

    (ip.src eq 192.168.7.17) or (ip.src eq 2901:c080:1110:4c91:5400:4ff:feb8:130a)

选择跳过按图设置。随后保存规则

规则设置

第二个放行 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”)


选择跳过,随后保存

规则保存

  • 第三个规则质询恶意流量,至关重要。但也很简单。地域限制,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 秒盾。

地域限制设置

这一波设置基本就 ok 了。可以放几天试试,观察放行和拦截情况。

效果预览1
效果预览2
效果预览3

最后可以看看效果如何。