跳转到内容
搜索文档

Cloudflare Sensitive Data Detection(敏感数据检测)

最后更新 查看 MarkdownAgent 设置

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 Sensitive Data Detection 规则集

  1. 在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Web application exploits(Web 应用漏洞利用) 筛选。

  3. 开启 Sensitive data detection(敏感数据检测) 以部署规则集。

  1. 登录 Cloudflare 仪表板,并选择您的账户和域名。
  2. 前往 Security(安全性) > Sensitive data(敏感数据)
  3. 开启 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 规则集 后,按以下步骤在仪表板中配置:

  1. 在 Cloudflare 仪表板中,前往 Security Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Web application exploits(Web 应用漏洞利用) 筛选。

  3. 对于 Sensitive data detection(敏感数据检测),选择 Configured ruleset: <SCOPE>(已配置的规则集:<SCOPE>) 以编辑规则集范围。
    决定是要将托管规则集应用于所有传入请求(全局范围)还是子集。

  4. 若选择了 Custom filter expression(自定义过滤表达式),请定义将决定 Cloudflare Sensitive Data Detection 规则集应用于哪些请求的过滤表达式。

  5. 选择 Next(下一步),然后选择 Save(保存)

  1. 登录 Cloudflare 仪表板,并选择您的账户和域名。

  2. 前往 Security(安全性) > Sensitive Data(敏感数据)

  3. Cloudflare Sensitive Data Detection 旁,选择三点菜单 > Edit(编辑)

  4. 选择 Edit scope(编辑范围),并决定是要将托管规则集应用于所有传入请求还是子集。若选择 Custom filter expression(自定义过滤表达式),请定义将决定 Cloudflare Sensitive Data Detection 规则集应用于哪些请求的过滤表达式。

  5. 选择 Next(下一步),然后选择 Save(保存)

标签级别配置

您可在仪表板中,为至少带有所选标签之一的规则配置(或覆盖)以下设置:

  • Rule status(规则状态):为带有所选标签的所有规则设置规则状态。

部署 Cloudflare Sensitive Data Detection 规则集 后,按以下步骤在仪表板中配置带有特定标签的规则:

  1. 在 Cloudflare 仪表板中,转到安全 Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Web application exploits(Web 应用漏洞利用) 进行筛选。

  3. 对于 Sensitive data detection(敏感数据检测),选择 Configured ruleset: <SCOPE>(已配置的规则集:<SCOPE>),然后选择 Next(下一步)

  4. 选择 Browse rules(浏览规则)

    Cloudflare 仪表板显示 Sensitive Data Detection 规则集中的规则列表。
  1. 在搜索输入框下方选择一个或多个标签,以筛选具有这些标签的规则,然后选择表格左上角的复选框,以选择当前页面中显示的所有规则。
    如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上具有所选标签的所有规则。

    “配置部署”页面,显示 Sensitive Data Detection 规则集中带有 'encryption' 标签的选中规则。
  2. 使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个设置。

  3. 选择 Next(下一步)

  4. 将弹出一个对话框,询问您是否应使用所选的字段值配置任何具有所选标签的新规则。

    • 如果您想将配置应用于具有所选标签的任何新规则,请选择 Include new rules(包含新规则)
    • 选择 Only selected rules(仅所选规则) 以仅将配置应用于所选规则。
  5. 选择 Save(保存)

  1. 登录到 Cloudflare 仪表板,然后选择您的账户和域。

  2. 转到 Security(安全性) > Sensitive Data

  3. Cloudflare Sensitive Data Detection 旁,选择三个点 > Edit(编辑)

  4. 选择 Browse rules(浏览规则)

    Cloudflare 仪表板显示 Sensitive Data Detection 规则集中的规则列表。
  1. 在搜索输入框下方选择一个或多个标签,以筛选具有这些标签的规则,然后选择表格左上角的复选框,以选择当前页面中显示的所有规则。
    如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上具有所选标签的所有规则。

    “配置部署”页面,显示 Sensitive Data Detection 规则集中带有 'encryption' 标签的选中规则。
  2. 使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个设置。

  3. 选择 Next(下一步)

  4. 将弹出一个对话框,询问您是否应使用所选的字段值配置任何具有所选标签的新规则。

    • 如果您想将配置应用于具有所选标签的任何新规则,请选择 Include new rules(包含新规则)
    • 选择 Only selected rules(仅所选规则) 以仅将配置应用于所选规则。
  5. 选择 Save(保存)

规则级别配置

您可在仪表板中为所选规则配置(或覆盖)以下设置:

  • Rule status(规则状态):设置单条规则的状态(启用或禁用),或在选择多条规则时为所选规则设置状态。

部署 Cloudflare Sensitive Data Detection 规则集 后,按以下步骤在仪表板中配置单个规则集规则:

  1. 在 Cloudflare 仪表板中,转到安全 Settings(设置) 页面。

    Go to Settings ↗
  2. (可选)按 Web application exploits(Web 应用漏洞利用) 进行筛选。

  3. 对于 Sensitive data detection(敏感数据检测),选择 Configured ruleset: <SCOPE>(已配置的规则集:<SCOPE>),然后选择 Next(下一步)

  4. 选择 Browse rules(浏览规则)

    Cloudflare 仪表板显示 Sensitive Data Detection 规则集中的规则列表。
  1. 使用可用筛选器搜索规则。

  2. 在结果列表中,使用显示的下拉列表和开关根据需要更改每个规则的值。例如,使用规则旁的 Status(状态) 开关更改规则的状态。

    要使用相同的值配置多个规则,请选中您要配置的所有规则的复选框。如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上的所有规则。然后,使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个字段。

    “配置部署”页面,显示 Sensitive Data Detection 规则集中的选中规则。
  3. 选择 Next(下一步),然后选择 Save(保存)

  1. 登录到 Cloudflare 仪表板,然后选择您的账户和域。

  2. 转到 Security(安全性) > Sensitive Data

  3. Cloudflare Sensitive Data Detection 旁,选择三个点 > Edit(编辑)

  4. 选择 Browse rules(浏览规则)

    Cloudflare 仪表板显示 Sensitive Data Detection 规则集中的规则列表。
  1. 使用可用筛选器搜索规则。

  2. 在结果列表中,使用显示的下拉列表和开关根据需要更改每个规则的值。例如,使用规则旁的 Status(状态) 开关更改规则的状态。

    要使用相同的值配置多个规则,请选中您要配置的所有规则的复选框。如果当前页面未显示所有规则,您可以通过选择 Select all <NUMBER> rules(选择全部 <NUMBER> 条规则),将选择范围扩展到所有页面上的所有规则。然后,使用表格右上角显示的按钮(例如 Set status)更新所选规则的一个或多个字段。

    “配置部署”页面,显示 Sensitive Data Detection 规则集中的选中规则。
  3. 选择 Next(下一步),然后选择 Save(保存)

通过 API 配置

要使用 API 为给定 zone 部署 Cloudflare Sensitive Data Detection 规则集,请在 http_response_firewall_managed 阶段的入口点规则集中创建一条动作为 execute 的规则。

示例

本示例通过创建一条执行该托管规则集的规则,将 Cloudflare Sensitive Data Detection 规则集部署到给定 zone($ZONE_ID)的 http_response_firewall_managed 阶段。托管规则集中的规则会对所有传入请求执行。

  1. 调用获取区域入口点规则集操作,以获取 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": []
    }
  2. 如果入口点规则集已存在(即,如果您收到 200 OK 状态代码和规则集定义),请记下响应中的规则集 ID。然后,调用创建区域规则集规则操作,向现有规则集中添加一条 execute 规则,以部署 Cloudflare Sensitive Data Detection managed ruleset (with ID e22d83c647c64a3eae91b71b499d988e)。默认情况下,该规则将添加到规则集中已有规则列表的末尾。

    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": []
    }
  3. 如果入口点规则集不存在(也就是说,如果您在步骤 1 中收到了 404 Not Found 状态码),请使用 创建区域规则集 操作来创建它。在 rules 数组中包含单个规则,该规则针对 all incoming requests in the zone 执行 Cloudflare Sensitive Data Detection managed ruleset (with ID e22d83c647c64a3eae91b71b499d988e)。

    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 的特定警报。

这篇文档对您有帮助吗?