Cloudflare WAF 防护策略 安全性规则设置 详细手册

文章最后更新时间:2026-01-06 22:36:53

什么是 Cloudflare WAF 防火墙

Cloudflare WAF(Web Application Firewall,网页应用防火墙)是一种基于云的安全解决方案,旨在保护网站和网络应用免受常见的网络攻击,如SQL注入、跨站脚本(XSS)、跨站请求伪造(CSRF)等。Cloudflare WAF 通过在数据流中检测和拦截恶意流量,从而确保网站的安全性。

Cloudflare WAF 的主要功能

  • 威胁检测与防护:实时监控和分析网站流量,自动识别和阻止已知及未知的攻击模式。
  • 规则集管理:提供预定义的规则集和自定义规则,用户可以根据具体需求调整防护策略。
  • 集成与自动化:与其他Cloudflare服务无缝集成,如DDoS防护、内容分发网络(CDN)等,提供全面的网络安全解决方案。

谁需要 Cloudflare WAF?

  • 中小企业:通常没有专门的安全团队,依赖 WAF 提供的自动化防护措施。
  • 大型企业与电商平台:需要保护大量用户数据,防止经济损失和声誉受损。
  • 开发者与网站管理员:需要一个易于管理和配置的安全解决方案,以便专注于核心业务。

Cloudflare WAF 对网页的帮助

  • 提升安全性:减少网站被黑客攻击的风险,保护用户数据隐私。
  • 增强性能:通过优化规则处理,降低服务器负载,提高网站响应速度。
  • 改善用户体验:减少恶意流量干扰,确保网站始终在线和可用。


自定义规则详细说明(防火墙规则)

基本概念

自定义规则使用户能够创建符合特定条件的规则,以阻止、允许或记录特定类型的流量。
用户可以通过条件、逻辑运算符和动作来定义这些规则,从而精细地控制进出网站的流量。

图片[1]-Cloudflare WAF 防护策略 安全性规则设置 详细手册

下面我们会先从字段(Field)开始分别对各项进行说明分析

URI 完整 & 路径 & 查询字符串

URI 完整(URI Full)

  • 概述
    URI 完整 字段指的是请求的完整 URL,包括协议、主机名、路径、查询字符串等所有部分。
  • 示例
    如果用户访问 https://for-tiger.com/products/item?category=clothes
    那么 URI 完整 的值为 https://for-tiger.com/products/item?category=clothes
  • 应用场景
    适用于需要对完整 URL 进行精确匹配或条件判断的情况。例如,如果你想阻止所有带有特定参数的请求,无论这些请求来自哪个子域或路径。
  • 常见用途
    阻止或允许特定完整URL的访问,例如对特定页面进行保护或开放。

URI

  • 概述
    URI 字段指的是 URL 的相对路径部分(不包含协议和主机名),包括路径和查询字符串。
  • 示例
    在 https://for-tiger.com/products/item?category=clothes 这个URL中,URI 的值为 /products/item?category=clothes
  • 应用场景
    在不考虑协议或主机名的情况下,基于相对路径和查询参数对请求进行筛选或管理。
  • 常见用途
    针对特定的页面路径和查询参数进行规则设置,比如只对 ?category=clothes 的请求进行限制。

URI 路径(URI Path)

  • 概述
    URI 路径 字段仅包含 URL 中的路径部分,不包括查询字符串和其他部分。
  • 示例
    在 https://for-tiger.com/products/item?category=clothes 这个URL中,URI 路径 的值为 /products/item
  • 应用场景
    当你只想基于请求的路径来创建规则,而忽略查询参数时使用。例如,只想保护 /admin 目录下的所有页面。
  • 常见用途
    保护特定目录或页面的访问,例如阻止对 /admin 或 /private 路径的访问。

URI 查询字符串(URI Query String)

  • 概述
    URI 查询字符串 字段指的是 URL 中的查询参数部分,也就是 ? 后面的所有内容。
  • 示例
    在 https://for-tiger.com/products/item?category=clothes&color=red 这个URL中,URI 查询字符串 的值为 category=clothes&color=red
  • 应用场景
    当你需要对基于查询字符串的参数进行筛选和控制时使用。例如,阻止带有特定参数的请求,或只允许特定参数组合的请求。
  • 常见用途
    控制基于用户输入的参数,例如限制特定产品类别的访问或对某些查询进行防护。

Cloudflare WAF 的这些 URI 相关字段选项允许用户根据请求的不同部分创建灵活且精细的安全规则。理解和正确使用这些字段,可以帮助你精确控制哪些流量可以访问网站的特定部分,以及如何应对可能的攻击或异常请求。
根据不同的安全需求,你可以组合这些字段来创建更加复杂的规则,以确保网站的安全性和正常运行。

ASN & Cookie & Cookie 值

ASN(AS Num)

  • 概述
    ASN(AS Num) 指的是自治系统号码(Autonomous System Number)。自治系统是指一个或多个 IP 网络在同一管理实体下进行路由的集合,ASN 是其唯一标识。ASN 通常与特定的互联网服务提供商(ISP)或大型企业网络相关联。
  • 示例
    一个常见的 ASN 可能代表某个国家的主要 ISP,或者一个大型企业的专有网络。例如,中国电信的 ASN 是 4134。
  • 应用场景
    通过 ASN,你可以对来自特定 ISP 或企业网络的请求进行筛选或控制。例如,你可以阻止某个特定国家的特定 ISP 的访问,或者允许来自某个可信赖的企业网络的请求。
  • 常见用途
    阻止恶意网络的流量:如果某个 ASN 与大量恶意活动相关,你可以创建规则来阻止所有来自该 ASN 的请求。
    允许可信赖的网络:对于某些内部系统,可能只允许特定 ASN 的请求,以增加安全性。

Cookie

  • 概述
    Cookie 字段指的是在 HTTP 请求中传递的所有 Cookie。Cookie 是服务器发送给客户端并存储在用户浏览器中的小数据块,通常用于保存会话状态或用户偏好设置。
  • 示例
    一个典型的 Cookie 可能包含会话 ID,用于识别用户的登录状态,例如 session_id=abc123.
  • 应用场景
    当你需要基于请求中的所有 Cookie 内容来创建规则时使用。你可以检查 Cookie 是否存在,或者检查其内容是否满足特定条件。
  • 常见用途
    验证用户会话:你可以根据请求中是否包含特定的 Cookie 来判断用户是否已登录,并据此采取不同的操作。
    防止CSRF攻击:通过检查特定的安全 Cookie 是否存在来防护跨站请求伪造。

Cookie 值(Cookie value of)

  • 概述
    Cookie 值(Cookie value of) 字段允许你指定一个特定的 Cookie 名称,并基于其值来创建规则。这使得你可以更加精确地控制和检查某个特定 Cookie 的内容。
  • 示例
    如果一个请求包含 session_id=abc123,你可以使用 Cookie value of session_id 来检查这个 Cookie 的具体值是否符合预期。
  • 应用场景
    当你需要对某个特定的 Cookie 值进行验证或匹配时使用。例如,你可以检查用户的会话 ID 是否有效,或者确保用户的设置 Cookie 包含特定的配置值。
  • 常见用途
    验证特定的会话或设置:在处理用户请求时,你可以确保特定的 Cookie 值与预期的格式或内容匹配,从而增加安全性。定制用户体验:基于特定的 Cookie 值,你可以调整用户的访问权限或提供个性化内容。

这些字段选项让你能够基于请求的网络属性(如 ASN)和内容(如 Cookie)来创建更细粒度的规则。通过理解和合理配置这些选项,你可以更好地保护网站免受恶意攻击,并为用户提供更安全的浏览体验。
ASN 可用于基于网络来源的流量控制,适用于屏蔽或允许特定的 ISP 或企业网络。
Cookie 字段让你能基于请求中所有 Cookie 的整体内容来创建规则。
Cookie 值 让你能够基于特定 Cookie 的值进行更精细的控制,适用于验证会话状态或用户设置。

国家/地区 & 洲

国家/地区(Country)

  • 概述
    国家/地区(Country) 字段指的是请求发起者的地理位置所对应的国家或地区代码。Cloudflare 通过 IP 地址来判断访问者的地理位置,并将其映射为标准的 ISO 3166-1 alpha-2 国家代码(如 US 代表美国,CN 代表中国)。
  • 示例
    如果一个请求来自美国,则这个字段的值为 US;如果来自日本,则值为 JP
  • 应用场景
    这个字段非常适合用于基于国家或地区的流量控制。你可以阻止、允许或限制来自特定国家的访问,或者根据地理位置对流量进行分类和处理。
  • 常见用途
    阻止来自特定国家的流量:你可以阻止来自高风险或与业务无关的国家的访问。例如,阻止所有来自 RU(俄罗斯)的请求。
    允许特定国家的流量:在某些情况下,你可能只希望允许来自特定国家的用户访问,例如只允许 US 和 CA(加拿大)的流量。
    定制化内容或服务:基于访问者的国家/地区,你可以提供定制化的内容或语言选项。

洲(Continent)

  • 概述
    洲(Continent) 字段指的是请求发起者所处的大洲。这一字段将用户的地理位置划分为更大的区域,如北美洲(North America),欧洲(Europe),亚洲(Asia)等。
  • 示例
    如果一个请求来自北美洲,值可能是 NA;如果来自欧洲,则为 EU
  • 应用场景
    当你需要更大范围地控制流量而不是局限于单个国家时,使用这个字段更为合适。它可以用于对整个大洲的流量进行管理。
  • 常见用途
    区域性流量管理:例如,在特定的大洲中启用或禁用特定服务,或者根据大洲的不同提供不同的内容或广告。
    全球性限制:在一些情况下,你可能需要针对特定的洲进行全球性流量限制,例如只允许来自欧洲(EU)和北美洲(NA)的访问。

“国家/地区(Country)”和“洲(Continent)”字段为你提供了强大的地理位置基础的流量控制能力。这些字段可以根据地理来源优化网站的安全性、内容分发和用户体验。
国家/地区 字段适用于精确控制来自特定国家或地区的流量,常用于安全性管理和内容本地化。
 字段适用于更大范围的区域性控制,适合对大洲级别的流量进行整体管理或提供区域化服务。

主机名 & IP 源地址 & 引用方

主机名(Hostname)

  • 概述
    主机名(Hostname) 字段指的是请求目标服务器的域名部分,也就是 URL 中标识服务器的部分。主机名通常包含在 HTTP 请求的 Host 头字段中。
  • 示例
    如果用户访问 https://for-tiger.com/path/to/page,那么主机名是 www.for-tiger.com
  • 应用场景
    该字段适用于多域名环境或多站点环境,尤其是当你希望对不同域名的流量进行不同处理时。
  • 常见用途
    多站点管理:在一个Cloudflare账户下托管多个站点时,可以根据主机名创建不同的安全规则。例如,你可以为 blog.for-tiger.com 和 shop.for-tiger.com 设置不同的WAF规则。
    阻止或允许特定域名:你可以创建规则来阻止访问某个特定的子域名,或只允许访问特定的主机名。

IP 源地址(IP Source Address)

  • 概述
    IP 源地址(IP Source Address) 字段指的是发起请求的客户端的 IP 地址。这通常是最直接的用于识别和控制访问的字段之一。
  • 示例
    如果一个请求来自 IP 地址 192.168.1.1,那么 IP 源地址的值就是 192.168.1.1
  • 应用场景
    该字段非常适合于基于具体 IP 地址或 IP 范围来创建规则,例如阻止特定 IP 地址的攻击请求或允许可信赖的 IP 地址。
  • 常见用途
    阻止恶意 IP:你可以根据已知的攻击 IP 列表,阻止特定 IP 或 IP 范围的访问。
    允许白名单 IP:为某些管理页面或 API 接口设置 IP 白名单,仅允许来自特定 IP 地址的访问。
    DDoS 防护:通过识别和过滤异常大量请求的 IP 地址,减少DDoS攻击的影响。

引用方(Referer)

  • 概述
    引用方(Referer) 字段指的是请求中包含的 Referer 头字段的值,该字段通常用于表示请求页面的来源(即用户是从哪个页面点击进入的当前页面)。
  • 示例
    如果用户在 https://www.bilibili.com 上点击了一个链接并跳转到 https://for-tiger.com/page,那么 Referer 的值可能是 https://www.bilibili.com
  • 应用场景
    该字段适用于基于流量来源来创建规则,尤其是在防止跨站请求伪造(CSRF)和控制外部链接带来的流量方面。
  • 常见用途
    防止盗链:你可以阻止来自未经授权网站的请求,特别是在媒体或资源文件(如图片、视频)被其他网站嵌入时。
    限制外部引用:如果你只希望特定网站的流量访问某些页面,可以创建基于 Referer 的规则,允许或阻止特定来源的访问。
    增强安全性:通过检查 Referer 字段来防止 CSRF 攻击,确保请求来自可信任的站点或页面。

这些字段选项提供了对请求来源的更大控制能力:
主机名(Hostname) 适用于多站点或多域名环境,可以帮助你基于访问的具体域名来创建规则。
IP 源地址(IP Source Address) 是直接用于识别请求来源的基础字段,适合进行IP级别的精确控制。
引用方(Referer) 允许你基于请求的来源页面来管理流量,特别是在防止盗链和跨站攻击时非常有用。

本站代码模板仅供学习交流使用请勿商业运营,严禁从事违法,侵权等任何非法活动,否则后果自负!
© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容