Cloudflare Web Application Firewall(Cloudflare WAF)会检查传入的 Web 和 API 请求,并根据称为 ruleset 的规则集过滤不需要的流量。WAF 使用 Rules language——一种灵活的表达式语法,可让你按 IP 地址、URL 路径、标头和正文内容等请求属性过滤流量。
规则定义过滤器,以及对匹配该过滤器的传入请求执行的操作。
ruleset 是一组有序规则,可应用于 Cloudflare 全球网络上的流量。ruleset 中的规则按顺序评估。第一条匹配且带有终止操作(例如 Block、Challenge 或 Redirect)的规则会停止评估——后续规则不会对该请求执行。
Cloudflare WAF 包括:
- Managed Rules(例如 Cloudflare Managed Ruleset):由 Cloudflare 创建的基于签名的规则,可立即防护已知攻击。
- 流量检测(例如 bot score 与 attack score):为请求补充元数据。
- 面向特定需求的用户自定义规则,包括 custom rules 与 rate limiting rules。
Cloudflare WAF 的两个主要职责如下:
-
检测:让传入请求经过一个或多个流量检测,以发现恶意或潜在恶意活动。已启用检测的分数可在 Security Analytics 仪表板中查看,便于分析安全态势并确定最合适的缓解规则。
-
缓解:通过 custom rules、Managed Rules 与 rate limiting rules 等功能,对请求进行阻止、质询或限流。缓解流量的规则可在表达式中使用流量扫描分数,以更好地应对可能的恶意请求。
WAF 当前提供以下检测,用于发现传入请求中的安全威胁:
- Attack score:检查已知攻击变体与恶意载荷。按 1(很可能恶意)到 99(不太可能恶意)为流量打分。
- Leaked credentials:扫描传入请求中是否出现曾在数据泄露中暴露的凭据(用户名与密码)。
- Malicious uploads:扫描内容对象(例如上传文件)中的恶意签名(如恶意软件)。
- AI Security for Apps:帮助保护由大型语言模型(LLM)驱动的服务免受滥用。
- Bot score:按 1(很可能是 bot)到 99(很可能是人类)为流量打分。
要在 Cloudflare 仪表板中启用流量检测,请前往 Security Settings(设置) 页面。
Go to Settings ↗Cloudflare 在处理传入请求时会评估不同类型的规则。第一条带有终止操作(例如 Block、Managed Challenge 或 Redirect)的规则会停止后续所有评估。例如,阻止请求的 IP Access 规则会阻止 custom rules 继续运行。规则执行顺序如下:
- IP Access rules
- Firewall rules(已弃用)
- Custom rules
- Rate limiting rules
- Managed Rules
- Cloudflare Rate Limiting(旧版,已不可用)
规则按顺序评估。若匹配到带有终止操作的规则,评估将停止并立即执行该操作。带有非终止操作(例如 Log)的规则不会阻止后续规则继续评估与执行。关于规则如何评估的更多信息,请参阅 Ruleset Engine 文档中的 Rule evaluation。
关于各 WAF 功能执行所在阶段的更多信息,请参阅 WAF phases。
关于重写、IP Access rules、custom rules 与 managed rules 之间的常见交互,请参阅 Rule phase interactions。