跳转到内容
搜索文档

WAF 托管规则故障排除

最后更新 查看 MarkdownAgent 设置

默认情况下,WAF 托管规则集对多数网站和 Web 应用都兼容,但仍可能出现误报与漏报。

  • False positives(误报):合法请求被检测并作为恶意请求缓解拦截。
  • False negatives(漏报):恶意请求未被缓解,并到达了您的源站服务器。

排查误报

您可以使用 Security Events 辅助确认合法请求被拦截的原因。根据需要添加筛选器并调整报告时长。

若遇到托管规则导致的误报,请按以下方式处理:

  • 添加例外例外 允许在特定请求上跳过 WAF 托管规则集或其部分规则执行。

  • 调整 OWASP 托管规则集:被 ID 为 、描述为 949110: Inbound Anomaly Score Exceeded 的规则拦截的请求,通常对应 Cloudflare OWASP Core Ruleset。可参考 配置 OWASP 托管规则集 进行处理。

  • 禁用对应托管规则:创建覆盖(override)禁用特定规则。该操作可降低误报风险,但会同步降低整体防护水平。请参阅 Cloudflare 仪表板指引API 指引 创建覆盖。

其他建议

  • 若单条规则引发误报,请仅停用该规则,不要停用整个规则集。

  • 对网站管理区出现误报的场景,添加 例外 并对站点管理区资源禁用对应托管规则。可使用如下示例表达式:

    http.host eq "example.com" and starts_with(http.request.uri.path, "/admin")

排查漏报

要定位漏报,请先检查源站服务器上的 HTTP 日志。

可按以下清单逐项排查:

  • HTTP 流量对应的 DNS 记录是否 经过 Cloudflare 代理
    Cloudflare 仅对代理流量生效。

  • 您是否在该域中部署了任意 WAF 托管规则集
    必须先部署托管规则集,其规则才会生效。

  • 托管规则是否被某个 例外 跳过?
    使用 Security Events 查找被跳过的请求;必要时,调整例外表达式,使其匹配应被拦截的攻击流量。

  • 是否已启用所有默认未开启的必需托管规则?
    WAF 托管规则集中的部分规则默认未启用,请逐条核对相关规则。

    • 例如,Cloudflare 默认允许空 User-Agent 的请求。若要拦截空 User-Agent 请求,请在 Cloudflare 托管规则集中启用 ID 为 的规则。
    • 另一个示例:若需拦截未缓解的 SQL 注入(SQLi)攻击,请确保 Cloudflare 托管规则集中与 sqli 标签相关的规则已启用。

    配置说明请参见 配置托管规则集

  • 攻击流量是否被自定义规则中的 Skip 所有托管规则 命中并跳过?
    如有需要,请调整自定义规则表达式,避免其覆盖到该类攻击流量。

  • 攻击流量是否在 IP Access 规则 中被允许的 ASN、IP 段或 IP 匹配?
    检查 IP Access 规则,确认白名单规则不应匹配这些攻击流量。

  • 恶意流量是否直接打到源站 IP 地址,从而绕过 Cloudflare 保护?
    在源站层面只放行 Cloudflare 的 IP 地址 外部的流量。

其他建议

若以上核查完成后,WAF 托管规则仍未检测到某类攻击模式,可考虑:

  • 使用 WAF 攻击评分 与基于特征的托管规则结合,补充机器学习检测。攻击评分会为每条请求赋分,标识其疑似恶意程度,即使没有命中具体托管规则也可识别。

  • 针对具体攻击模式创建 自定义规则 进行拦截。可按 URI 路径、查询字符串或 HTTP 请求头等字段匹配恶意请求。

这篇文档对您有帮助吗?