Cloudflare Sensitive Data Detection 托管规则集有助于识别源站服务器产生的数据泄露。其规则在响应正文上运行,查找常见敏感数据模式,包括:
- 个人身份信息 ↗(PII)— 例如护照号码。
- 金融信息 — 例如信用卡号。
- 密钥 — 例如 API 密钥。
开启 Cloudflare Sensitive Data Detection 不会引入额外延迟,因为检测发生在响应路径之外。因此,规则始终以 Log 操作部署(您无法阻止已发送的响应),从而让您了解离开源站服务器的敏感数据。
开启后,Cloudflare Sensitive Data Detection 将检查发送给访问者的所有响应(若已定义自定义过滤表达式,则按其范围),包括来自缓存的响应以及由 Workers 处理的响应。
检测会处理响应中最多 1 MB 的文本、HTML、JSON 和 XML 内容。
目前,Cloudflare Sensitive Data Detection 不支持 匹配载荷日志记录。
-
在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。
Go to Settings ↗ -
(可选)按 Web application exploits(Web 应用漏洞利用) 筛选。
-
开启 Sensitive data detection(敏感数据检测) 以部署规则集。
- 登录 Cloudflare 仪表板 ↗,并选择您的账户和域名。
- 前往 Security(安全性) > Sensitive data(敏感数据)。
- 开启 Cloudflare Sensitive Data Detection(Cloudflare 敏感数据检测) 以部署规则集。
您可以在多个级别配置(或覆盖)Cloudflare Sensitive Data Detection 规则集:
更具体的配置(规则和标签级别)优先级高于较不具体的配置(规则集级别)。更多信息请参阅 Ruleset Engine 文档中的 Override a managed ruleset。
您可以在 Cloudflare 仪表板中配置(或覆盖)以下 Cloudflare Sensitive Data Detection 设置:
- Scope:当您为范围定义自定义过滤表达式时,Cloudflare Sensitive Data Detection 规则集仅应用于传入请求的子集。默认情况下,在仪表板中部署的托管规则集应用于所有传入流量。
部署 Cloudflare Sensitive Data Detection 规则集 后,按以下步骤在仪表板中配置:
-
在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。
Go to Settings ↗ -
(可选)按 Web application exploits(Web 应用漏洞利用) 筛选。
-
对于 Sensitive data detection(敏感数据检测),选择 Configured ruleset: <SCOPE>(已配置的规则集:<SCOPE>) 以编辑规则集范围。
决定是要将托管规则集应用于所有传入请求(全局范围)还是子集。 -
若选择了 Custom filter expression(自定义过滤表达式),请定义将决定 Cloudflare Sensitive Data Detection 规则集应用于哪些请求的过滤表达式。
-
选择 Next(下一步),然后选择 Save(保存)。
-
登录 Cloudflare 仪表板 ↗,并选择您的账户和域名。
-
前往 Security(安全性) > Sensitive Data(敏感数据)。
-
在 Cloudflare Sensitive Data Detection 旁,选择三点菜单 > Edit(编辑)。
-
选择 Edit scope(编辑范围),并决定是要将托管规则集应用于所有传入请求还是子集。若选择 Custom filter expression(自定义过滤表达式),请定义将决定 Cloudflare Sensitive Data Detection 规则集应用于哪些请求的过滤表达式。
-
选择 Next(下一步),然后选择 Save(保存)。
您可在仪表板中,为至少带有所选标签之一的规则配置(或覆盖)以下设置:
- Rule status(规则状态):为带有所选标签的所有规则设置规则状态。
部署 Cloudflare Sensitive Data Detection 规则集 后,按以下步骤在仪表板中配置带有特定标签的规则:
-
在 Cloudflare 仪表板中,转到安全 Settings(设置) 页面。
Go to Settings ↗ -
(可选)按 Web application exploits(Web 应用漏洞利用) 进行筛选。
-
对于 Sensitive data detection(敏感数据检测),选择 Configured ruleset: <SCOPE>(已配置的规则集:<SCOPE>),然后选择 Next(下一步)。
-
选择 Browse rules(浏览规则)。

-
在搜索输入框下方选择一个或多个标签,以筛选具有这些标签的规则,然后选择表格左上角的复选框,以选择当前页面中显示的所有规则。
如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上具有所选标签的所有规则。
-
使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个设置。
-
选择 Next(下一步)。
-
将弹出一个对话框,询问您是否应使用所选的字段值配置任何具有所选标签的新规则。
- 如果您想将配置应用于具有所选标签的任何新规则,请选择 Include new rules(包含新规则)。
- 选择 Only selected rules(仅所选规则) 以仅将配置应用于所选规则。
-
选择 Save(保存)。
-
登录到 Cloudflare 仪表板 ↗,然后选择您的账户和域。
-
转到 Security(安全性) > Sensitive Data。
-
在 Cloudflare Sensitive Data Detection 旁,选择三个点 > Edit(编辑)。
-
选择 Browse rules(浏览规则)。

-
在搜索输入框下方选择一个或多个标签,以筛选具有这些标签的规则,然后选择表格左上角的复选框,以选择当前页面中显示的所有规则。
如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上具有所选标签的所有规则。
-
使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个设置。
-
选择 Next(下一步)。
-
将弹出一个对话框,询问您是否应使用所选的字段值配置任何具有所选标签的新规则。
- 如果您想将配置应用于具有所选标签的任何新规则,请选择 Include new rules(包含新规则)。
- 选择 Only selected rules(仅所选规则) 以仅将配置应用于所选规则。
-
选择 Save(保存)。
您可在仪表板中为所选规则配置(或覆盖)以下设置:
- Rule status(规则状态):设置单条规则的状态(启用或禁用),或在选择多条规则时为所选规则设置状态。
部署 Cloudflare Sensitive Data Detection 规则集 后,按以下步骤在仪表板中配置单个规则集规则:
-
在 Cloudflare 仪表板中,转到安全 Settings(设置) 页面。
Go to Settings ↗ -
(可选)按 Web application exploits(Web 应用漏洞利用) 进行筛选。
-
对于 Sensitive data detection(敏感数据检测),选择 Configured ruleset: <SCOPE>(已配置的规则集:<SCOPE>),然后选择 Next(下一步)。
-
选择 Browse rules(浏览规则)。

-
使用可用筛选器搜索规则。
-
在结果列表中,使用显示的下拉列表和开关根据需要更改每个规则的值。例如,使用规则旁的 Status(状态) 开关更改规则的状态。
要使用相同的值配置多个规则,请选中您要配置的所有规则的复选框。如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上的所有规则。然后,使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个字段。

-
选择 Next(下一步),然后选择 Save(保存)。
-
登录到 Cloudflare 仪表板 ↗,然后选择您的账户和域。
-
转到 Security(安全性) > Sensitive Data。
-
在 Cloudflare Sensitive Data Detection 旁,选择三个点 > Edit(编辑)。
-
选择 Browse rules(浏览规则)。

-
使用可用筛选器搜索规则。
-
在结果列表中,使用显示的下拉列表和开关根据需要更改每个规则的值。例如,使用规则旁的 Status(状态) 开关更改规则的状态。
要使用相同的值配置多个规则,请选中您要配置的所有规则的复选框。如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上的所有规则。然后,使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个字段。

-
选择 Next(下一步),然后选择 Save(保存)。
要使用 API 为给定 zone 部署 Cloudflare Sensitive Data Detection 规则集,请在 http_response_firewall_managed 阶段的入口点规则集中创建一条动作为 execute 的规则。
本示例通过创建一条执行该托管规则集的规则,将 Cloudflare Sensitive Data Detection 规则集部署到给定 zone($ZONE_ID)的 http_response_firewall_managed 阶段。托管规则集中的规则会对所有传入请求执行。
调用获取区域入口点规则集操作,以获取
http_response_firewall_managed阶段的入口点规则集定义。您需要有区域 ID才能完成此任务。Get a zone entry point rulesetbash curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_response_firewall_managed/entrypoint" \ --request GET \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"{ "result": { "description": "Zone-level phase entry point (response)", "id": "<RULESET_ID>", "kind": "zone", "last_updated": "2024-03-16T15:40:08.202335Z", "name": "zone", "phase": "http_response_firewall_managed", "rules": [ // ... ], "source": "firewall_managed", "version": "10" }, "success": true, "errors": [], "messages": [] }如果入口点规则集已存在(即,如果您收到
200 OK状态代码和规则集定义),请记下响应中的规则集 ID。然后,调用创建区域规则集规则操作,向现有规则集中添加一条execute规则,以部署 Cloudflare Sensitive Data Detection managed ruleset (with IDe22d83c647c64a3eae91b71b499d988e)。默认情况下,该规则将添加到规则集中已有规则列表的末尾。Create a zone ruleset rulebash curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$RULESET_ID/rules" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "action": "execute", "action_parameters": { "id": "e22d83c647c64a3eae91b71b499d988e" }, "expression": "true", "description": "Execute the Cloudflare Sensitive Data Detection managed ruleset" }'{ "result": { "id": "<RULESET_ID>", "name": "Zone-level phase entry point (response)", "description": "", "kind": "zone", "version": "11", "rules": [ // ... any existing rules { "id": "<RULE_ID>", "version": "1", "action": "execute", "action_parameters": { "id": "e22d83c647c64a3eae91b71b499d988e", "version": "latest" }, "expression": "true", "description": "Execute the Cloudflare Sensitive Data Detection managed ruleset", "last_updated": "2024-03-18T18:08:14.003361Z", "ref": "<RULE_REF>", "enabled": true } ], "last_updated": "2024-03-18T18:08:14.003361Z", "phase": "http_response_firewall_managed" }, "success": true, "errors": [], "messages": [] }如果入口点规则集不存在(也就是说,如果您在步骤 1 中收到了
404 Not Found状态码),请使用 创建区域规则集 操作来创建它。在rules数组中包含单个规则,该规则针对 all incoming requests in the zone 执行 Cloudflare Sensitive Data Detection managed ruleset (with IDe22d83c647c64a3eae91b71b499d988e)。Create a zone rulesetbash curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets" \ --request POST \ --header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ --json '{ "name": "My ruleset", "description": "Entry point ruleset for WAF managed rulesets (response)", "kind": "zone", "phase": "http_response_firewall_managed", "rules": [ { "action": "execute", "action_parameters": { "id": "e22d83c647c64a3eae91b71b499d988e" }, "expression": "true", "description": "Execute the Cloudflare Sensitive Data Detection managed ruleset" } ] }'
要通过 API 配置 Cloudflare Sensitive Data Detection managed ruleset,请使用 Rulesets API 创建 overrides。你可以执行以下配置:
通过创建 rule override,禁用
单个规则。
有关使用 API 创建 overrides 的示例,请参阅 Override a managed ruleset。
有关通过 API 使用托管规则集的更多信息,请参阅规则集引擎文档中的 使用托管规则集。
要检查 Cloudflare Sensitive Data Detection 检测到的任何数据泄露,您可以:
- 定期检查 Security Events 中由该托管规则集生成的任何事件。
- 配置 WAF 警报,以便在 WAF 事件激增时收到通知。对于 Advanced Security Events Alert,Enterprise 计划可按一个或多个域名筛选,并按
Data Loss Protection服务筛选,以接收关于 Sensitive Data Detection 的特定警报。