CF防火墙规则

/ 0评 / 0

规则综合解读

这段 Cloudflare 防火墙规则主要通过多个条件来过滤和阻止特定的访问请求。以下是对这些规则的综合解读和分析其用意:

  1. 地理位置过滤
    • 条件:not ip.geoip.country in {"CN" "HK" "JP" "KR" "SG" "TW" "US" "CA"}
    • 作用:阻止来自指定国家(中国、香港、日本、韩国、新加坡、台湾、美国、加拿大)之外的访问请求。
  2. 机器人和爬虫过滤
    • 条件:not cf.verified_bot_category in {...} 和 not cf.client.bot
    • 作用:阻止未验证的机器人和爬虫,允许特定类别的机器人(如搜索引擎爬虫、SEO、监控和分析等)。
  3. 路径过滤
    • 条件:http.request.uri.path in {"support" "xmlrpc" "vpn" "zip" "rar" "search" "7z" "gz" "xz" "bak"} and not http.request.uri.path in {"css" "js" "ico" "jpg" "png" "ttf" "woff2" "avif" "jpeg" "heif"}
    • 作用:阻止特定路径(如支持、xmlrpc、vpn、压缩文件等)的访问,但允许静态资源(如css、js、图片等)请求。
  4. 请求方法过滤
    • 条件:not http.request.method in {"GET" "POST" "HEAD"}
    • 作用:阻止除GET、POST和HEAD以外的其他HTTP请求方法。
  5. ASN(自治系统编号)过滤
    • 条件:ip.geoip.asnum in {...} and not cf.client.bot and not cf.verified_bot_category in {...}
    • 作用:阻止来自特定ASN的请求,除非是验证过的机器人。
  6. User-Agent过滤
    • 条件:http.user_agent contains "?"http.user_agent contains "lib"http.user_agent contains "Opera"http.user_agent contains "MSIE"
    • 作用:阻止包含特定User-Agent的请求(如包含问号、lib、Opera、MSIE等)。
  7. 威胁评分过滤
    • 条件:cf.threat_score gt 5 and not ip.src in {8.8.8.8}
    • 作用:阻止威胁评分大于5的请求,除非请求来源IP是8.8.8.8。
  8. 高风险IP过滤
    • 条件:ip.src in $risk_ips
    • 作用:阻止来自高风险IP地址的请求。

地理位置过滤

阻止来自指定国家/地区之外的访问请求。

机器人和爬虫过滤

阻止未验证的机器人和爬虫,仅允许特定类别的机器人访问。

路径过滤

阻止特定路径的访问请求,同时允许静态资源请求。

请求方法过滤

仅允许 GET、POST 和 HEAD 请求方法,阻止其他所有请求方法。

ASN 过滤

阻止来自特定自治系统编号(ASN)的请求,除非是验证过的机器人。

User-Agent 过滤

阻止包含特定 User-Agent 字符串的请求。

威胁评分过滤

阻止威胁评分大于 5 的请求,8.8.8.8 除外。

高风险 IP 过滤

阻止来自高风险 IP 地址的请求。

注意事项

条件组合及逻辑效果分析

组合一

代码:

(not ip.geoip.country in {"CN", "HK", "JP", "KR", "SG", "TW", "US", "CA"} 
and not cf.verified_bot_category in {...} 
and not cf.client.bot)

效果:

组合二

代码:

(http.request.uri.path in {"support", "xmlrpc", "vpn", "zip", "rar", "search", "7z", "gz", "xz", "bak"} 
and not http.request.uri.path in {"css", "js", "ico", "jpg", "png", "ttf", "woff2", "avif", "jpeg", "heif"})

效果:

组合三

代码:

(not http.request.method in {"GET", "POST", "HEAD"})

效果:

组合四

代码:

(ip.geoip.asnum in {12816, 12786, 18450, ...} 
and not cf.client.bot 
and not cf.verified_bot_category in {...})

效果:

组合五至组合十

(http.user_agent contains "?")
(http.user_agent contains "lib")
(http.user_agent contains "Opera")
(http.user_agent contains "MSIE")
(cf.threat_score gt 5 
and not ip.src in {8.8.8.8})
(ip.src in $risk_ips)

你需要有一个cf的iplist在账号中,名字和变量一致

来源:https://github.com/BlueSkyXN/Comprehensive-Network-Defense/tree/master/CF

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注