跳转到内容
搜索文档

Cloudflare Exposed Credentials Check(暴露凭据检查)托管规则集

最后更新 查看 MarkdownAgent 设置

Cloudflare Exposed Credentials Check 托管规则集是一组针对知名 CMS 应用程序的预配置规则,会对照公开的被盗凭据数据库执行查找。

该托管规则集包含以下 CMS 应用程序的规则:

  • WordPress
  • Joomla
  • Drupal
  • Ghost
  • Plone
  • Magento

此外,此托管规则集还包含针对其他常见模式的通用规则:

  • 检查使用包含 usernamepassword 参数的 POST 请求提交的表单
  • 检查以 JSON 发送且包含 emailpassword 键的凭据
  • 检查以 JSON 发送且包含 usernamepassword 键的凭据

托管规则集中规则的默认操作为 Exposed-Credential-Check Header(在 API 和安全事件中名为 rewrite)。

该托管规则集还包含一条规则,用于阻止已包含 Exposed-Credential-Check Header 操作所使用的 Exposed-Credential-Check HTTP 标头的 HTTP 请求。这些请求可能用于欺骗源站,使其相信请求包含(或不包含)已暴露的凭据。

有关已暴露凭据检查的更多信息,请参阅 检查已暴露的凭据

在仪表板中配置

您可以在仪表板中配置 Cloudflare Exposed Credentials Check 托管规则集的以下设置:

  • 设置要执行的操作。 当您为规则集定义操作时,会覆盖为每条规则定义的默认操作。可用操作为:BlockLogNon-Interactive ChallengeManaged ChallengeInteractive Challenge。要移除操作覆盖,请将规则集操作设置为 Default
  • 覆盖单个规则执行的操作。 可用操作为:Exposed-Credential-Check HeaderBlockLogNon-Interactive ChallengeManaged ChallengeInteractive Challenge。更多信息请参阅 可用操作
  • 禁用特定规则。
  • 自定义过滤表达式。 使用自定义表达式时,Cloudflare Exposed Credentials Check 托管规则集仅应用于传入请求的子集。
  • 配置 载荷记录

有关在仪表板中配置托管规则集的详情,请参阅 配置托管规则集

通过 API 配置

要通过 API 为给定 zone 启用 Cloudflare Exposed Credentials Check 托管规则集,请在 http_request_firewall_managed 阶段的入口点规则集中创建带有 execute 操作的规则。

示例

此示例通过创建执行托管规则集的规则,将 Cloudflare Exposed Credentials Check 托管规则集部署到给定 zone($ZONE_ID)的 http_request_firewall_managed 阶段。托管规则集中的规则将对所有传入请求执行。

  1. 调用获取区域入口点规则集操作,以获取 http_request_firewall_managed 阶段的入口点规则集定义。您需要有区域 ID才能完成此任务。

    Get a zone entry point rulesetbash
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/phases/http_request_firewall_managed/entrypoint" \
    	--request GET \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN"
    {
    	"result": {
    		"description": "Zone-level phase entry point",
    		"id": "<ENTRY_POINT_RULESET_ID>",
    		"kind": "zone",
    		"last_updated": "2024-03-16T15:40:08.202335Z",
    		"name": "zone",
    		"phase": "http_request_firewall_managed",
    		"rules": [
    			// ...
    		],
    		"source": "firewall_managed",
    		"version": "10"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  2. 如果入口点规则集已存在(即,如果您收到 200 OK 状态代码和规则集定义),请记下响应中的规则集 ID。然后,调用创建区域规则集规则操作,向现有规则集中添加一条 execute 规则,以部署 Cloudflare Exposed Credentials Check Managed Ruleset (with ID c2e184081120413c86c3ab7e14069605)。默认情况下,该规则将添加到规则集中已有规则列表的末尾。

    Create a zone ruleset rulebash
    curl "https://api.cloudflare.com/client/v4/zones/$ZONE_ID/rulesets/$ENTRY_POINT_RULESET_ID/rules" \
    	--request POST \
    	--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
    	--json '{
    		"action": "execute",
    		"action_parameters": {
    				"id": "c2e184081120413c86c3ab7e14069605"
    		},
    		"expression": "true",
    		"description": "Execute the Cloudflare Exposed Credentials Check Managed Ruleset"
    	}'
    {
    	"result": {
    		"id": "<ENTRY_POINT_RULESET_ID>",
    		"name": "Zone-level phase entry point",
    		"description": "",
    		"kind": "zone",
    		"version": "11",
    		"rules": [
    			// ... any existing rules
    			{
    				"id": "<RULE_ID>",
    				"version": "1",
    				"action": "execute",
    				"action_parameters": {
    					"id": "c2e184081120413c86c3ab7e14069605",
    					"version": "latest"
    				},
    				"expression": "true",
    				"description": "Execute the Cloudflare Exposed Credentials Check 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_request_firewall_managed"
    	},
    	"success": true,
    	"errors": [],
    	"messages": []
    }
  3. 如果入口点规则集不存在(也就是说,如果您在步骤 1 中收到了 404 Not Found 状态码),请使用 创建区域规则集 操作来创建它。在 rules 数组中包含单个规则,该规则针对 all incoming requests in the zone 执行 Cloudflare Exposed Credentials Check Managed Ruleset (with ID c2e184081120413c86c3ab7e14069605)。

    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",
    		"kind": "zone",
    		"phase": "http_request_firewall_managed",
    		"rules": [
    				{
    						"action": "execute",
    						"action_parameters": {
    								"id": "c2e184081120413c86c3ab7e14069605"
    						},
    						"expression": "true",
    						"description": "Execute the Cloudflare Exposed Credentials Check Managed Ruleset"
    				}
    		]
    	}'

后续步骤

要通过 API 配置 Exposed Credentials Check Managed Ruleset,请使用 Rulesets API 创建 overrides。你可以执行以下配置:

  • 通过创建 ruleset override,为规则集中的所有规则指定要执行的操作。
  • 通过创建 rule override,禁用

    或自定义

    单个规则的操作。

有关使用 API 创建 overrides 的示例,请参阅 Override a managed ruleset

更多资源

有关通过 API 使用托管规则集的更多信息,请参阅规则集引擎文档中的 使用托管规则集

这篇文档对您有帮助吗?