使用Cloudflare Application Profiles实施正向安全策略

💡 原文英文,约2500词,阅读约需10分钟。
📝

内容提要

Cloudflare推出Application Profiles,通过分析HTTP请求结构与格式建立正向安全策略,仅允许符合预期的请求,缩小攻击面。系统每周自动学习路径、查询参数、请求头、Cookie及请求体等字段类型与约束,并在安全分析中标记违规请求,客户可先观察再通过安全规则拦截。该功能已向API Security客户开放,并邀请部分企业客户测试。

🔎

延伸解读

正向安全策略的落地方式

Application Profiles 通过分析 HTTP 请求的结构与格式,学习路径变量、查询参数、请求头、Cookie 及请求体等字段的类型与约束,建立正向安全策略。与仅匹配已知攻击特征的传统 WAF 不同,它只允许符合预期的请求,从而缩小攻击面。客户可先在安全分析中观察违规请求,再通过安全规则实施拦截,避免误杀正常流量。

学习机制与数据要求

系统每周自动学习一次,基于最近七天成功流量。一个操作需至少 1,000 个 2xx 响应请求才能学习字段,至少 10,000 个才能学习数据边界。学习仅针对客户选定的操作,手动创建的操作会自动触发学习,而发现的操需要手动选择“学习配置文件”。学习结果可导出为 OpenAPI v3 模式,并随流量变化每周更新。

当前能力与限制

该功能支持路径、查询参数、请求头、Cookie、JSON 请求体及表单编码请求体,可验证整数、字符串、UUID、数组及最多三个值的枚举。但不支持多部分表单、GraphQL 和 XML。它不强制参数唯一性,也不学习或强制必需参数,不会仅因请求包含新参数而阻止请求。客户需注意这些限制,合理规划使用场景。

未来方向与操作建议

Cloudflare 计划引入 LLM 分析学习到的配置文件,识别关键字段和操作意图,并基于历史流量提供风险指标,如数据丢失、侦察活动等,帮助安全团队优先处理高风险操作。建议客户从观察模式开始,审查配置文件效果后再逐步实施拦截,以平衡安全与业务连续性。

❓

Q&A

Cloudflare Application Profiles 是什么?

Cloudflare Application Profiles 是一种通过分析 HTTP 请求的结构和格式来实施正向安全策略的功能。它学习预期的请求模式,并识别偏离这些模式的请求,从而帮助缩小攻击面。

Application Profiles 如何学习请求结构?

系统每周自动分析每个区域最近的合格流量,学习路径变量、查询参数、请求头和 Cookie、请求体结构等字段的数据类型和约束。学习需要至少 1,000 个成功请求(2xx 响应)来学习字段,至少 10,000 个来学习数据边界。

如何启用 Application Profiles 的强制执行?

客户可以先在安全分析中观察违规请求,然后创建安全规则来阻止不符合学习配置文件的请求。规则可以针对整个应用或特定路径、操作或字段。

Application Profiles 支持哪些请求元素?

支持路径、查询参数、请求头、Cookie、JSON 请求体和表单编码请求体。可以验证整数、字符串、UUID、数组和最多三个值的枚举。目前不支持多部分表单、GraphQL 和 XML。

Application Profiles 有哪些限制?

不支持多部分表单、GraphQL 和 XML。当参数名重复时,会验证每个值,但不强制参数唯一性。不会学习或强制必需参数,也不会仅因为请求包含新参数而阻止请求。

Application Profiles 如何帮助防御零日攻击?

通过只允许符合预期结构的请求,减少攻击面,从而防止许多常见攻击向量,如 SQL 注入、跨站脚本和远程代码执行。它不依赖已知攻击签名,因此可以防御零日攻击。

如何访问 Application Profiles?

API Security 客户已经可以访问。非 API Security 客户可以申请封闭测试,邀请制,需联系客户团队。

🏷️

标签

➡️

继续阅读