跳转到内容
搜索文档

快速入门

最后更新 查看 MarkdownAgent 设置

Cloudflare Web 应用防火墙(Cloudflare WAF)会检查进入的网站和 API 请求,并基于规则集(rulesets)过滤不需要的流量。

本文指导您按建议的初始步骤配置 WAF,以便快速获得对常见攻击的基础防护。

请参阅 概念 了解 WAF 概念、核心组件与职责。

开始之前

1. 部署 Cloudflare 托管规则集

Cloudflare 托管规则集 可防御常见漏洞与暴露(CVE)以及已知攻击向量。该规则集通过签名识别常见攻击,并尽量控制误报。规则变更会在每周发布于 WAF 更新日志;高优先级零日漏洞时,Cloudflare 也可能在应急发布中新增规则。

  1. 在 Cloudflare 仪表板中,前往 Security(安全)Settings(设置) 页面。

    Go to Settings ↗
  2. 可选:按 Web 应用程序漏洞(Web application exploits) 进行筛选。

  3. 开启 Cloudflare 托管规则集(Cloudflare managed ruleset)

  1. 登录 Cloudflare 仪表板,并选择您的账户与域名。
  2. 进入 Security(安全) > WAF,选择 Managed rules(托管规则) 标签页。
  3. Managed Rulesets(托管规则集) 下,选择 Cloudflare 托管规则集对应的 Deploy(部署)

默认设置与规则集自定义

默认情况下,Cloudflare 托管规则集仅启用部分规则,在防护效果和误报之间保持平衡。您可根据应用技术栈逐步审核并开启更多规则。

在某些场景下,启用托管规则集可能引入误报。误报是指合法请求被 WAF 误判为威胁而被处理。有关误报处理方法,请参见 托管规则排查

如果您在使用渗透测试工具验证 WAF,建议使用以下规则集配置开启全部规则:

  • Ruleset action(规则集动作)拦截(Block)
  • Ruleset status(规则集状态)已启用(Enabled)

有关在仪表板中配置 Cloudflare 托管规则集的更多信息,请参见 Cloudflare 托管规则集

2. 基于 WAF 攻击评分创建自定义规则

WAF 攻击评分 是一层机器学习能力,用于补充 Cloudflare 托管规则集,额外防护 SQL 注入(SQLi)、跨站脚本(XSS)以及多种 远程代码执行(RCE)攻击。它有助于识别规则绕过及可能的新型攻击。

如果您是 Enterprise 用户:

  1. 联系您的客户成功同事或客户经理,申请 WAF 攻击评分访问权限。

  2. 使用 攻击评分(Attack Score) 字段创建 自定义规则

    • 当入站请求匹配以下条件时

      字段 运算符(Operator)
      WAF 攻击评分 小于(less than) 20
    • 动作:拦截(Block)

如果您是 Business 方案,请按上述方式创建自定义规则,但将字段改为 WAF 攻击评分级别(WAF Attack Score Class)。例如:WAF 攻击评分级别 equals 攻击(Attack)

3. 配置 bot 防护

Enterprise 的 Bot Management 用户建议先在 Security Settings(安全设置) 中配置 bot 防护,以提供基础保护:

  1. 在 Cloudflare 仪表板中,前往 Security settings(安全设置) 页面并按 Bot traffic(Bot 流量) 筛选。

    Go to Settings ↗
  2. 根据业务需求配置 Definitely automated(确定自动化)Likely automated(可能自动化)Verified bots(已验证 bot)

  3. 如需阻断 AI 爬虫,请开启 Block AI bots(阻断 AI Bot)

这些内置设置会随着 bot 签名更新自动调优,不计入自定义规则配额。更多信息请参见 Bot Management

创建更细粒度的自定义规则

若您需要更细化控制(例如设置不同分数阈值,或将 bot score 与其他字段联合判断),可使用 Bot ScoreVerified Bot 字段创建 自定义规则

  • 当入站请求匹配以下条件时

    字段 运算符 逻辑
    Bot Score 小于 20
    Verified Bot 等于 关闭
  • 动作:受管质询(Managed Challenge)

该规则将阈值从默认值 30 调整为 20,可对得分在 20-29 区间的流量提供更严格的保护。

有关更完整的恶意 bot 基线防护示例,请参见 质询恶意机器人

如需了解可在表达式中使用的 bot 相关字段,请参见 Bot Management 变量

完成 Cloudflare 托管规则集及基于攻击评分、bot 评分的规则部署后,您会获得更稳健的基础防护,并可显著降低误报概率。

4. (可选)部署 Cloudflare OWASP Core Ruleset

完成 Cloudflare 托管规则集和攻击评分配置后,您还可以部署 Cloudflare OWASP Core Ruleset。该托管规则集是 Cloudflare 对 OWASP ModSecurity Core Rule Set 的实现,覆盖的常见攻击向量(如 SQLi、XSS)与 Cloudflare 托管规则集高度重叠。

  1. 在 Cloudflare 仪表板中,前往 Security(安全)Settings(设置) 页面。

    Go to Settings ↗
  2. 可选:按 Web 应用程序漏洞(Web application exploits) 进行筛选。

  3. 开启 OWASP Core
    该设置会以默认配置部署 Cloudflare OWASP Core Ruleset:paranoia level = _PL1_(怀疑度级别),score threshold = _Medium - 40 and higher_(评分阈值,中等及以上,40 及以上)。

  1. 进入域名 Security(安全) > WAF,选择 Managed rules(托管规则) 标签。
  2. Managed Rulesets(托管规则集) 下,选择 Cloudflare OWASP Core Ruleset 的 Deploy(部署)
    这会以默认配置部署规则集:paranoia level = _PL1_(怀疑度级别),score threshold = _Medium - 40 and higher_(评分阈值,中等及以上,40 及以上)。

规则集配置

与基于签名的 Cloudflare 托管规则集不同,Cloudflare OWASP Core Ruleset 为分数制。您可以选择一个怀疑度级别(paranoia level,范围 PL1PL4,其中 PL1 最低)逐步启用更多规则,并设置评分阈值(score threshold),决定何时触发配置动作。较低怀疑度和较高阈值通常带来更少误报。更多评估示例请参见 OWASP 评估示例

可按以下任一方式配置:

  • 从严格策略开始(怀疑度级别(paranoia level)= PL4,评分阈值(score threshold)= Low - 60 and higher(低风险,60 及以上)),逐步下调阈值与怀疑度级别,直至获得合适的误报/真报比例。
  • 或从更宽松策略开始(怀疑度级别(paranoia level)= PL1,评分阈值(score threshold)= High - 25 and higher(高风险,25 及以上)),再同步提高参数以增强防护并尽量维持低误报。

如需了解仪表板中配置 Cloudflare OWASP Core Ruleset 的更多细节,请参见 在仪表板中配置

5. 在安全仪表板回看流量

完成 WAF 配置后,可使用以下仪表板查看当前设置对流量的影响:

  • 使用 安全分析 浏览全部流量(包括未被 WAF 缓解的流量)。该仪表板包含全部 流量检测 数据。
  • 使用 安全事件 获取更多 Cloudflare 安全产品实际处理过的请求信息。

Enterprise 用户还可通过 Cloudflare Logs 获取 HTTP 请求与安全事件的更多数据。

6. (可选)后续建议

基于前文配置完成后,您应具备较稳健的基础防护。可继续采用下列建议为特定场景提供额外保护:

只允许特定 IP 访问

创建自定义规则:仅允许白名单中的 IP 地址流量

阻断特定国家/地区

创建自定义规则:阻断来自特定国家/地区的流量

定义速率限制

创建速率限制规则:在登录端点应用速率限制

防范凭据填充攻击

使用 泄露凭据检测 来防止应用中的 credential stuffing 攻击。

防止用户上传恶意文件

使用 WAF 内容扫描 扫描应用中上传的内容,识别恶意载荷。

为 API 增加额外保护

Cloudflare 提供对新型和已知应用攻击(包括 SQL 注入等)的 API 防护。API 专用安全产品可延伸到 API 发现、身份认证管理等 API 特定风险。

如需了解 Cloudflare API 安全能力,请参见 Cloudflare API Shield

保护源站服务器

关于防止攻击者发现或过载源站服务器的分层方案(包含代理 DNS、IP 白名单与身份认证源拉取),请参见 保护源站服务器

这篇文档对您有帮助吗?