内容提要
这篇文章介绍了一个包含风险IP列表和Cloudflare防火墙规则的GitHub仓库。防火墙规则通过多个条件过滤和阻止特定的访问请求,包括地理位置、机器人和爬虫、路径、请求方法、ASN、User-Agent和威胁评分等。这些规则的目的是阻止来自特定国家/地区之外、未验证的机器人和爬虫、特定路径、非GET、POST和HEAD请求方法、特定ASN、特定User-Agent字符串和高风险IP地址的请求。
延伸解读
规则设计思路:多层过滤与例外机制
该防火墙规则采用多层条件组合,从地理位置、机器人验证、路径、请求方法、ASN、User-Agent、威胁评分和高风险IP等多个维度进行过滤。每个条件都设置了例外情况,例如允许特定国家/地区、已验证的机器人类别、静态资源路径以及8.8.8.8等。这种设计旨在平衡安全性与可用性,避免误杀正常流量。
风险IP列表的分级与应对建议
仓库提供了多个风险IP列表,按风险等级分类:SKY-RISK-IP风险中等,建议人机验证;SKY-BAN-IP风险高,建议WAF拦截;SKY-FUCK-IP风险很高,建议TCP阻断。此外还有三合一的SKY-ALL-IP和可直接用于CF的SKY-CF-IP-LIST。用户可根据自身需求选择不同列表并采取相应措施。
ASN过滤与机器人验证的配合
规则中列出了大量ASN进行拦截,但同时排除了已验证的机器人类别和cf.client.bot。这意味着来自这些ASN的合法机器人(如搜索引擎爬虫)仍可访问,而其他流量则被阻止。这种设计有助于减少恶意扫描和攻击,同时不影响正常的机器人服务。
User-Agent过滤的潜在影响
规则会阻止User-Agent中包含"?"、"lib"、"Opera"或"MSIE"的请求。这些字符串可能对应老旧或可疑的客户端,但也可能误伤部分正常用户。例如,Opera浏览器用户可能被误拦。部署前需评估自身用户群体,必要时调整规则以避免影响正常访问。
Q&A
什么是SKY-RISK-IP、SKY-BAN-IP和SKY-FUCK-IP?
SKY-RISK-IP、SKY-BAN-IP和SKY-FUCK-IP分别对应中、高和很高的风险等级,建议采取人机验证、WAF拦截和TCP阻断等措施。
Cloudflare防火墙规则是如何工作的?
Cloudflare防火墙规则通过多个条件过滤和阻止特定的访问请求,包括地理位置、请求方法、User-Agent等。
哪些国家的访问请求会被允许?
允许的国家/地区包括中国、香港、日本、韩国、新加坡、台湾、美国和加拿大。
防火墙规则中如何处理机器人和爬虫?
防火墙规则仅允许特定类别的验证过的机器人和爬虫访问,阻止未验证的访问请求。
哪些请求方法被允许通过防火墙?
防火墙仅允许GET、POST和HEAD请求方法,阻止其他所有请求方法。
威胁评分过滤的标准是什么?
威胁评分大于5的请求会被阻止,8.8.8.8除外。