Skip to content

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

Gateway ブロックページ

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

Cloudflare Zero Trust では、Gateway ポリシーでブロックされたユーザーに、対処につながるフィードバックを表示できます。カスタムのブロックメッセージは、ユーザーの混乱を減らし、IT への問い合わせも減らせます。

ブロックメッセージの出し方は 2 通りあります。

カスタムブロックページ

Gateway の DNS または HTTP ポリシーでブロックされたとき、ブラウザーにカスタムブロックページを表示できます。ブロックされた理由と IT への連絡方法を伝える、静的なページです。

カスタムブロックページには、次の制約があります。

  • ブロックページを表示するには、エンドユーザーのデバイスに ユーザー側証明書 をインストールする必要があります。
  • Gateway のネットワークポリシーでブロックされた場合、ブロックページは表示されません。
  • カスタムブロックページは、ユーザーがブラウザーでサイトを読み込んだときだけ表示されます。たとえば、サイトの閲覧は許可されていてもファイルのアップロードが許可されていない場合、アップロードは何も表示されずに失敗し、ブロックページは出ません。

これらの制約を避けるには、Cloudflare One Client のブロック通知 の利用を推奨します。

DNS ポリシーでブロックページを有効にする

DNS ポリシーでは、ポリシーごとにブロックページを有効にします。

  1. Cloudflare ダッシュボードZero Trust > Traffic policies > Firewall policies > DNS を開きます。
  2. 新しいポリシーを作る場合は Add a policy を選びます。既存のポリシーを編集する場合は、対象ポリシーを選んで Edit を選びます。ブロックページを編集できるのは、Block アクションのポリシーだけです。
  3. Configure policy settings で、turn on Modify Gateway block behavior
  4. ブロック時の動作を選びます。
    • Use account-level block setting: アカウント設定で構成したグローバルなブロックページ設定を使います。グローバル設定は、デフォルトの Gateway ブロックページ、HTTP リダイレクト、または カスタム Gateway ブロックページ のいずれかです。
    • Override account setting with URL redirect: ポリシー単位で指定した URL へ、307 HTTP リダイレクトでユーザーをリダイレクトします。
  5. (任意)アカウントレベルのブロックページ設定でカスタム Gateway ブロックページを使っている場合、Add an additional message to your custom block page when traffic matches this policy をオンにすると、このポリシーでトラフィックがブロックされたときにカスタムブロックページへ追加メッセージを表示できます。このオプションは Message フィールドの代わりになります。
  6. Save policy を選びます。

設定に応じて、Gateway はこのポリシーでブロックされたユーザーのブラウザーにブロックページを表示するか、指定した URL へリダイレクトします。

  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. Block アクションの DNS ポリシーを選びます。

  3. ポリシーの rule_settingsblock_page_enabled をオンにします。カスタム Gateway ブロックページ を設定済みの場合は、このポリシーでトラフィックがブロックされたときに追加の block_reason を表示できます。

    resource "cloudflare_zero_trust_gateway_policy" "dns_block_security_categories" {
    	name        = "Block DNS Security Categories"
    	enabled     = true
    	account_id  = var.cloudflare_account_id
    	description = "Managed by Terraform - Generic security policy based on Cloudflare Threat Intelligence categories."
    	precedence  = 101
    	action      = "block"
    	filters     = ["dns"]
    	/* Categories being enabled here:
    		- 80:  "Command and Control & Botnet"
    		- 83:  "Cryptomining"
    		- 117: "Malware"
    		- 131: "Phishing"
    		- 153: "Spyware"
    		- 175: "DNS Tunneling"
    		- 176: "DGA Domains"
    		- 178: "Brand Embedding"
    	*/
    	traffic = "any(dns.security_category[*] in {80 83 117 131 153 175 176 178})"
    	identity = ""
    
    	rule_settings = {
    		block_page_enabled = true
    		block_reason  = "This domain has been flagged as a potential security risk." // Adds an additional message to the custom block page. Requires enabling custom block page in cloudflare_zero_trust_gateway_settings.
    	}
    }

ブロックページをカスタマイズする

Cloudflare がホストするブロックページは、全体に適用する変更でカスタマイズできます。Gateway は、ユーザーがブロックページに到達するたびにその内容を表示します。カスタマイズは、トラフィックをブロックするポリシーの種類(DNS または HTTP)に関係なく適用されます。

ブロックページをカスタマイズするには:

  1. Cloudflare ダッシュボード で、Zero Trust > Reusable components > Custom pages を開きます。
  2. Account Gateway block pageCustomize を選択します。
  3. Custom Gateway block page を選びます。Gateway はカスタムブロックページのプレビューを表示します。次の項目をカスタマイズできます。
    • 組織名
    • ロゴ
    • ヘッダーテキスト
    • グローバルなブロックメッセージ(ポリシー固有のブロックメッセージの上に表示されます)
    • Mailto リンク
    • 背景色
  4. Save を選択します。
  1. cloudflare_api_token に次の権限を追加します。

    • Zero Trust Write
  2. cloudflare_zero_trust_gateway_settings で、block_page 引数にカスタマイズ内容を設定します。

    resource "cloudflare_zero_trust_gateway_settings" "team_name" {
    	account_id = var.cloudflare_account_id
    	settings = {
    		block_page = {
    			enabled = true //do not use the default Gateway block page
    			mode = "customized_block_page" //use a custom block page
    			name = "Cloudflare"
    			logo_path = "https://logos.com/a.png"
    			header_text = "--header--"
    			footer_text = "--footer--"
    			mailto_address = "[email protected]"
    			mailto_subject = "Blocked Request"
    			background_color = "#ffffff"
    			suppress_footer = false
    		}
    	}
    }

以降、ユーザーがブロックされた Web サイトにアクセスすると、Gateway はカスタムの Gateway ブロックページを表示します。

Cloudflare One Client のブロック通知

より細かいユーザー向けフィードバックとして、任意の Gateway DNS または Network の Block ポリシーで、Cloudflare One Client のブロック通知を有効にできます。ブロックされたユーザーには、設定したカスタムメッセージ付きの OS 通知が Cloudflare One Client から届きます。

クライアント通知は、カスタムブロックページ より次の点が優れています。

  • クライアント通知はネットワークポリシーでも動作します。特定のポート、ファイルアップロード、プロトコルのブロックなど、ユーザー通信に対する部分的な操作にもフィードバックを出せます。

  • クライアント通知では、ポリシーごとに固有のリンクへユーザーを誘導できます。たとえば、組織の利用規定、データ保護ポリシー、既存の IT トラブルシューティング基盤へリンクできます。社内にそうした基盤がない場合は、Cloudflare Pages に HTML サイトをすばやくデプロイし、Cloudflare Access ポリシー の背後に置き、ユーザーの Access JWT にあるアイデンティティとデバイスポスチャの値に基づいて動的なフィードバックを返せます。

役に立ちましたか?