使用Cloudflare Application Profiles实施正向安全策略
内容提要
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 客户可以申请封闭测试,邀请制,需联系客户团队。