受管规则是 Cloudflare WAF(Web Application Firewall)的一项功能,可识别并拦截 HTTP GET 与 POST 请求中的可疑活动。
受管规则可识别的恶意内容 ↗示例包括:
- 注释垃圾信息中常见的关键字(如
XX、Rolex、Viagra等) - 跨站脚本攻击(XSS)
- SQL 注入(SQLi)
旧版 WAF 受管规则适用于 Pro、Business、Enterprise 计划,对任意通过 Cloudflare 代理的子域均可用。请在 Security(安全) > WAF > Managed rules(受管规则) 中管理受管规则配置。
受管规则包含三个规则包:
您可以在安全事件(Security Events) 仪表板查看抽样日志,以审阅 WAF 受管规则拦截的威胁。
Cloudflare 受管规则集(Cloudflare Managed Ruleset)由 Cloudflare 编写并维护。请在 Group(分组) 下选择某个规则集名称以查看规则描述。
**Cloudflare Specials(Cloudflare 特惠规则)**是一个面向常见攻击 ↗提供核心防火墙保护的规则组。
查看规则集时,Cloudflare 会在 Default mode(默认模式) 下展示每条规则的默认动作。某个 Cloudflare 受管规则集(Cloudflare Managed Ruleset) 内可用的规则级别 Mode(模式) 为:
- Default(默认):采用该规则在 Default mode(默认模式) 中定义的默认动作。
- Disable(停用):关闭该规则组内的某条规则。
- Block(拦截):拒绝该请求。
- Interactive Challenge(交互式挑战):对访问者展示交互式挑战页。
- Simulate(模拟):允许该请求继续并记录到抽样日志。
Cloudflare 的 WAF 变更日志用于监控 Cloudflare 受管规则集持续的更新。
OWASP ModSecurity Core Rule Set 规则包会按命中 OWASP 规则的数量为每个请求打分。不同 OWASP 规则的敏感度评分可能不同。
Cloudflare 会在 OWASP 评估请求后,将最终分数与区域配置的 Sensitivity(敏感度) 对比。若分数超过阈值,将按 规则包:OWASP ModSecurity Core Rule Set 中配置的 Action(动作) 执行:
- Block(拦截):拦截该请求。
- Challenge(挑战):向访问者展示交互式挑战页。
- Simulate(模拟):允许该请求通过,但在抽样日志中记录。
不同 Sensitivity(敏感度) 下触发 WAF 的分数如下:
- Low(低):60 及以上
- Medium(中):40 及以上
- High(高):25 及以上
AJAX 请求改用以下分值:
- Low(低):120 及以上
- Medium(中):80 及以上
- High(高):65 及以上
请在抽样日志中检查最终分数及各条触发规则。
OWASP ModSecurity 核心规则集(Core Rule Set)规则包包含来自 OWASP 项目 ↗的多条规则。Cloudflare 不编写或管理这些 OWASP 规则。与 Cloudflare 受管规则集不同,具体 OWASP 规则只能是 On(开启) 或 Off(关闭) 状态。
要调整 OWASP 阈值,请在 规则包:OWASP ModSecurity Core Rule Set 下将 Sensitivity 设置为 Low、Medium 或 High。
将 Sensitivity(敏感度) 设为 Off 将停用整个 OWASP 规则包及其全部规则。阈值的选取应结合您的业务场景与运行环境。例如,以下场景可优先考虑设置为 Low(低):
- 某些行业更容易触发 WAF 的情况。
- 大文件上传较频繁的场景。
较高敏感度下,大文件上传可能触发 WAF。
Cloudflare 建议先将敏感度设为 Low,观察误报情况后再逐步提高。
-
受管规则会带来少量额外延迟。
-
WAF 受管规则的变更约 30 秒内会在全球生效。
-
Cloudflare 使用专有规则过滤流量。
-
已建立的 WebSocket 连接不会对后续请求触发受管规则。
-
受管规则会解析 JSON 响应以识别 API 相关漏洞,JSON 负载解析上限为 128 KB。
-
受管规则可缓解填充(padding)类攻击。Cloudflare 建议按以下步骤操作:
-
启用 ID 为
100048的规则。该规则可防护 padding 攻击,但默认不部署,因为其在部分客户环境中可能引起误报,不过建议客户根据实际业务微调受管规则配置。 -
如需基于头部或正文检查并阻断大负载(> 128 KB)请求,请使用 Expression Editor 创建 WAF 自定义规则。可使用以下字段:
建议先在可用时将规则设为 Log 模式进行验证,因为该规则可能产生误报。
-
-
即使在 Cloudflare 仪表板关闭了 Managed rules(受管规则),Cloudflare 仍保留少量规则不允许关闭,例如 ID 为
WP0025B、100043A、100030的规则。