Cloudflare Exposed Credentials Check マネージドルールセットは、よく使われる CMS アプリケーション向けの事前設定ルールです。盗まれた認証情報の公開データベースを参照します。
このマネージドルールセットには、次の CMS アプリケーション向けのルールが含まれます。
- WordPress
- Joomla
- Drupal
- Ghost
- Plone
- Magento
加えて、ほかの一般的なパターン向けの汎用ルールもあります。
usernameとpassword引数を含むPOSTリクエストで送信されたフォームをチェックするemailとpasswordキーを持つ JSON として送られた認証情報をチェックするusernameとpasswordキーを持つ JSON として送られた認証情報をチェックする
マネージドルールセット内のルールの既定アクションは Exposed-Credential-Check Header です(API と Security Events では rewrite という名前です)。
マネージドルールセットには、Exposed-Credential-Check Header アクションが使う Exposed-Credential-Check HTTP ヘッダーをすでに含む HTTP リクエストをブロックするルールもあります。こうしたリクエストは、漏えいした認証情報が含まれている(または含まれていない)とオリジンに思い込ませるために使われることがあります。
漏えいした認証情報チェックの詳細は 漏えいした認証情報をチェックする を参照してください。
Cloudflare ダッシュボードでは、Cloudflare Exposed Credentials Check マネージドルールセットについて次の設定ができます。
- 実行するアクションを設定する。 ルールセットにアクションを定義すると、各ルールの既定アクションを上書きします。使えるアクションは ブロック、ログ、非インタラクティブチャレンジ、マネージドチャレンジ、インタラクティブチャレンジ です。アクションの上書きを外すには、ルールセットのアクションを デフォルト にします。
- 個別ルールが実行するアクションを上書きする。 使えるアクションは Exposed-Credential-Check Header、ブロック、ログ、非インタラクティブチャレンジ、マネージドチャレンジ、インタラクティブチャレンジ です。詳細は 使えるアクション を参照してください。
- 特定のルールを無効にする。
- フィルター式をカスタマイズする。 カスタム式を使うと、Cloudflare Exposed Credentials Check マネージドルールセットは受信リクエストの一部にだけ適用されます。
- ペイロードログ を設定する。
ダッシュボードでのマネージドルールセットの設定手順は マネージドルールセットを設定する を参照してください。
特定のゾーンで Cloudflare Exposed Credentials Check マネージドルールセットを API で有効にするには、http_request_firewall_managed フェーズの エントリポイントルールセット に execute アクションのルールを作成します。
この例では、マネージドルールセットを実行するルールを作成し、特定のゾーン($ZONE_ID)の http_request_firewall_managed フェーズへ Cloudflare Exposed Credentials Check マネージドルールセットをデプロイします。マネージドルールセット内のルールは、すべての受信リクエストに対して実行されます。
-
Get a zone entry point ruleset オペレーションを呼び出し、
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": [] } -
エントリポイントルールセットがすでに存在する場合(つまり、
200 OKステータスコードとルールセット定義を受け取った場合)は、レスポンス内のルールセット ID を控えます。次に、ゾーンルールセットのルールを作成する 操作を呼び出して、既存のルールセットに Cloudflare Exposed Credentials Check Managed Ruleset (with IDc2e184081120413c86c3ab7e14069605) をデプロイするexecuteルールを追加します。デフォルトでは、ルールはルールセット内の既存ルール一覧の末尾に追加されます。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": [] } -
エントリポイントルールセットが存在しない場合(ステップ 1 で
404 Not Foundステータスコードを受け取った場合)、ゾーンルールセットを作成する 操作で作成します。rules配列に、Cloudflare Exposed Credentials Check Managed Ruleset (with IDc2e184081120413c86c3ab7e14069605) を all incoming requests in the zone 向けに実行するルールを 1 件含めます。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 を使って オーバーライド を作成します。次の設定ができます。
ルールセットオーバーライドを作成し、ルールセット内のすべてのルールに対して実行するアクションを指定する。
ルールオーバーライドを作成し、個々のルールを無効にするか、アクションをカスタマイズする。
API でオーバーライドを作成する例は、マネージドルールセットをオーバーライドする を参照してください。
API でマネージドルールセットを扱う詳細は、Ruleset Engine のドキュメントにある マネージドルールセットを使う を参照してください。