Skip to content

非公式本サイトは非公式の日本語ドキュメントであり、Cloudflare 公式サイトではありません。最新情報はdevelopers.cloudflare.comをご確認ください。

Cloudflare Sensitive Data Detection

最終更新 Markdown で表示Agent セットアップ

Cloudflare Sensitive Data Detection マネージドルールセットは、オリジンサーバーが発生させるデータ漏洩の特定を助けます。ルールはレスポンス本文で一般的な機密データのパターンを探します。対象は次のとおりです。

  • 個人を特定できる情報(PII)— パスポート番号など。
  • 金融情報 — クレジットカード番号など。
  • シークレット — API キーなど。

Cloudflare Sensitive Data Detection をオンにしても、検出はレスポンス経路の外で行われるため、追加のレイテンシは発生しません。そのため、ルールは常に Log アクションでデプロイされます(すでに送ったレスポンスはブロックできません)。オリジンサーバーから出ていく機密データを把握できます。

補足

オンにすると、Cloudflare Sensitive Data Detection は訪問者へ送るすべてのレスポンスを確認します(カスタムのフィルター式を定義している場合はそれに従います)。キャッシュからのレスポンスと Workers が扱うレスポンスも含まれます。

検出は、レスポンス内のテキスト、HTML、JSON、XML コンテンツを最大 1 MB まで扱います。

現時点では、Cloudflare Sensitive Data Detection は 一致ペイロードのログ をサポートしていません。


Cloudflare Sensitive Data Detection ルールセットをデプロイする

  1. Cloudflare ダッシュボードで、Security の Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Web application exploits で絞り込みます。

  3. Sensitive data detection をオンにして、ルールセットをデプロイします。

ダッシュボードで設定する

Cloudflare Sensitive Data Detection ルールセットは、次のレベルで設定(またはオーバーライド)できます。

より具体的な設定(ルールおよびタグレベル)は、より広い設定(ルールセットレベル)より優先されます。詳細は、Ruleset Engine のドキュメントの マネージドルールセットをオーバーライドする を参照してください。

ルールセットレベルの設定

Cloudflare ダッシュボードでは、次の Cloudflare Sensitive Data Detection の設定を変更(またはオーバーライド)できます。

  • Scope: スコープにカスタムのフィルター式を定義すると、Cloudflare Sensitive Data Detection ルールセットは受信リクエストの一部にだけ適用されます。ダッシュボードでデプロイしたマネージドルールセットは、デフォルトですべての受信トラフィックに適用されます。

Cloudflare Sensitive Data Detection ルールセットをデプロイ したあと、ダッシュボードで次の手順で設定します。

  1. Cloudflare ダッシュボードで、Security の Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Web application exploits で絞り込みます。

  3. Sensitive data detectionConfigured ruleset: <SCOPE> を選び、ルールセットのスコープを編集します。
    マネージドルールセットをすべての受信リクエスト(グローバルスコープ)に適用するか、一部に適用するかを決めます。

  4. Custom filter expression を選んだ場合は、Cloudflare Sensitive Data Detection ルールセットをどのリクエストに適用するかを決めるフィルター式を定義します。

  5. Next を選び、次に Save を選びます。

タグレベルの設定

選択したタグのうち少なくとも 1 つが付いたルールに対して、ダッシュボードで次の設定を変更(またはオーバーライド)できます。

  • Rule status: 選択したタグを持つすべてのルールのルールステータスを設定します。

Cloudflare Sensitive Data Detection ルールセットをデプロイ したあと、ダッシュボードで特定タグのルールを次の手順で設定します。

  1. Cloudflare ダッシュボードで、Security の Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Web application exploits で絞り込みます。

  3. Sensitive data detectionConfigured ruleset: <SCOPE> を選び、Next を選びます。

  4. Browse rules を選びます。

    Cloudflare ダッシュボードに、Sensitive Data Detection ルールセットのルール一覧が表示されています。
  1. 検索入力の下で 1 つ以上のタグを選び、それらのタグを持つルールで絞り込みます。次に、テーブル左上のチェックボックスを選んで、現在のページに表示されているすべてのルールを選択します。
    現在のページにすべてのルールが表示されていない場合は、Select all <NUMBER> rules を選び、選択したタグを持つすべてのページのルールへ選択を広げます。

    Sensitive Data Detection ルールセットで、'encryption' タグが付いた選択済みルールを表示する Configure deployment ページ。
  2. テーブル右上に表示されるボタン(例: Set status)を使い、選択したルールの設定を 1 つ以上更新します。

  3. Next を選択します。

  4. 選択したタグを持つ新しいルールにも、選んだフィールド値を適用するかを尋ねるダイアログが表示されます。

    • 選択したタグを持つ新しいルールにも設定を適用する場合は、Include new rules を選びます。
    • 選択したルールにだけ設定を適用する場合は、Only selected rules を選びます。
  5. Save を選択します。

ルールレベルの設定

選択したルールに対して、ダッシュボードで次の設定を変更(またはオーバーライド)できます。

  • Rule status: 1 つのルール、または複数選択した場合は選択したルールのステータス(有効または無効)を設定します。

Cloudflare Sensitive Data Detection ルールセットをデプロイ したあと、ダッシュボードで個々のルールセットルールを次の手順で設定します。

  1. Cloudflare ダッシュボードで、Security の Settings ページを開きます。

    Settings を開く ↗
  2. (任意)Web application exploits で絞り込みます。

  3. Sensitive data detectionConfigured ruleset: <SCOPE> を選び、Next を選びます。

  4. Browse rules を選びます。

    Cloudflare ダッシュボードに、Sensitive Data Detection ルールセットのルール一覧が表示されています。
  1. 利用できるフィルターでルールを検索します。

  2. 結果一覧で、表示されているドロップダウンリストとトグルを使い、各ルールの値を必要に応じて変更します。たとえば、ルールの横の Status トグルでルールのステータスを変更します。

    複数のルールに同じ値を設定するには、設定するすべてのルールのチェックボックスを選びます。現在のページにすべてのルールが表示されていない場合は、Select all <NUMBER> rules を選び、すべてのページのルールへ選択を広げられます。次に、テーブル右上に表示されるボタン(例: Set status)を使い、選択したルールのフィールドを 1 つ以上更新します。

    Sensitive Data Detection ルールセットで選択済みルールを表示する Configure deployment ページ。
  3. Next を選び、次に Save を選びます。

API で設定する

API で特定ゾーンに Cloudflare Sensitive Data Detection ルールセットをデプロイするには、http_response_firewall_managed フェーズの エントリポイントルールセット に、execute アクションのルールを作成します。

この例は、指定したゾーン($ZONE_ID)の http_response_firewall_managed フェーズに、マネージドルールセットを実行するルールを作成して、Cloudflare Sensitive Data Detection ルールセットをデプロイします。マネージドルールセット内のルールは、すべての受信リクエストに対して実行されます。

  1. Get a zone entry point ruleset オペレーションを呼び出し、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 を控えます。次に、ゾーンルールセットのルールを作成する 操作を呼び出して、既存のルールセットに Cloudflare Sensitive Data Detection マネージドルールセット(ID は e22d83c647c64a3eae91b71b499d988e) をデプロイする execute ルールを追加します。デフォルトでは、ルールはルールセット内の既存ルール一覧の末尾に追加されます。

    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 配列に、Cloudflare Sensitive Data Detection マネージドルールセット(ID は e22d83c647c64a3eae91b71b499d988e) を ゾーンのすべての受信リクエスト 向けに実行するルールを 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 (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 を使って オーバーライド を作成します。次の設定ができます。

  • ルールオーバーライドを作成して、個々のルールを無効にします。

API でオーバーライドを作成する例は、マネージドルールセットをオーバーライドする を参照してください。

その他のリソース

API でマネージドルールセットを扱う詳細は、Ruleset Engine のドキュメントにある マネージドルールセットを使う を参照してください。

検出した漏洩を確認する

Cloudflare Sensitive Data Detection が検出したデータ漏洩を確認するには、次を行います。

  • マネージドルールセットが生成したイベントがないか、Security Events を定期的に確認します。
  • WAF アラート を設定し、WAF イベントの急増を通知します。Advanced Security Events Alert では、Enterprise プランで 1 つ以上のドメインで絞り込み、Data Loss Protection サービスで絞ると、Sensitive Data Detection に関する通知だけを受け取れます。

役に立ちましたか?