Gateway が DNS または HTTP の Block ポリシー でトラフィックをブロックしたとき、ユーザーのブラウザーにブロックページを表示できます。ブロック理由と連絡先を説明したり、別のページへリダイレクトしたりできます。このカスタマイズは、すべての Block ポリシーに一括で適用することも、ポリシーごとに上書きすることもできます。
ブロックページを、ブロックされたドメインの URL のまま表示するには、組織のデバイスに Cloudflare 証明書 をインストールする必要があります。Enterprise ユーザーは 独自のルート CA 証明書 をデプロイすることもできます。証明書をインストールしていない場合、ブロックページは 正しく表示されません。
Gateway は、トラフィックがブロックされたユーザーのブラウザーに、グローバルなブロックページを表示します。デフォルトでは、ブロックページをオンにした DNS Block ポリシーと、すべての HTTP Block ポリシーに対してブロックページを表示します。ポリシーごとに グローバル設定をオンにしたり上書きしたり できます。
グローバルなブロックページを設定する手順です。
- Cloudflare One ↗ で、Reusable components > Custom pages を開きます。
- Account Gateway block page に、現在のブロックページ設定が表示されます。Manage を選択します。
- デフォルトの Gateway ブロックページ、URL リダイレクト、または カスタムの Gateway ブロックページ のいずれかを選びます。
- Save を選択します。
Default Gateway block page を選ぶと、Gateway は Cloudflare がホストするブロックページ ↗ を表示します。これは、Gateway がブロックしたすべてのトラフィックのデフォルトです。
Cloudflare のブロックページを表示する代わりに、Gateway が 307(Temporary Redirect)の HTTP 応答コードを返し、カスタム URL へリダイレクトするように設定できます。
Cloudflare 以外のブロックページへユーザーをリダイレクトする手順です。
- Cloudflare One ↗ で、Reusable components > Custom pages を開きます。
- Account Gateway block page で Manage を選択します。
- URL redirect を選びます。
- ブロックしたトラフィックのリダイレクト先 URL を入力します。
- (任意)リダイレクト先 URL に 追加のポリシーコンテキスト を送るには、Send policy context をオンにします。
- Save を選択します。
ブロックページを設定した Block ポリシーにユーザートラフィックが一致すると、Gateway はカスタムページへリダイレクトします。
URL をリダイレクトする HTTP ポリシーを作成するには、Redirect アクション を参照してください。
Send policy context をオンにすると、Gateway は一致したリクエストの詳細を、リダイレクト URL にクエリ文字列として付加します。すべてのコンテキストフィールドが含まれるわけではありません。ポリシーコンテキストのフィールドには、次のようなものがあります。
ポリシーコンテキストのフィールド
| フィールド | 定義 | 例 |
|---|---|---|
| User email | クエリを行ったユーザーのメールアドレスです。 | &[email protected] |
| Site URL | 元の HTTP リクエストの完全な URL、または DNS クエリのドメイン名です。 | &cf_site_uri=https%3A%2F%2Fmalware.testcategory.com%2F |
| URL category | リダイレクト対象 URL の ドメインカテゴリ です。 | &cf_request_categories=New%20Domains,Newly%20Seen%20Domains |
| Original HTTP referer | HTTP トラフィックの場合、HTTP リクエストの元の HTTP referer ヘッダーです。 | &cf_referer=https%3A%2F%2Fexample.com%2F |
| Rule ID | リクエストに一致した Gateway ポリシーの ID です。 | &cf_rule_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Source IP | ポリシーに一致したデバイスの送信元 IP アドレスです。 | &cf_source_ip=203.0.113.5 |
| Device ID | ポリシーに一致したデバイスの UUID です。 | &cf_device_id=6d48997c-a1ec-4b16-b42e-d43ab4d071d1 |
| Application names | リダイレクト先ドメインに対応するアプリケーション名です(ある場合)。 | &cf_application_name=Salesforce |
| Filter | ブロックを引き起こしたトラフィックタイプのフィルターです。 | &cf_filter=http, &cf_filter=dns, &cf_filter=av, or &cf_filter=l4 |
| Account ID | 関連する Zero Trust アカウントの Cloudflare アカウント ID です。 | &cf_account_id=d57c3de47a013c03ca7e237dd3e61d7d |
| Query ID | リダイレクトが適用された DNS クエリの ID です。 | &cf_query_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Connection ID | リダイレクトが適用されたプロキシ接続の ID です。 | &cf_connection_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
| Request ID | リダイレクトが適用された HTTP リクエストの ID です。 | &cf_request_id=f8dc6fd3-a7a5-44dd-8b77-08430bb4fac3 |
リダイレクト URL のパスとクエリは、元の URL より優先されます。Send policy context をオンにすると、Gateway はコンテキストをリダイレクト URL の末尾に追加します。たとえば、元の URL が example.com/path/to/page?querystring=X&k=1 で、リダイレクト URL が cloudflare.com/redirect-path?querystring=Y の場合、Gateway は次の宛先へリクエストをリダイレクトします。
cloudflare.com/redirect-path?querystring=Y&[email protected]Cloudflare がホストするブロックページは、全体に適用する変更でカスタマイズできます。Gateway は、ユーザーがブロックページに到達するたびにその内容を表示します。カスタマイズは、トラフィックをブロックするポリシーの種類(DNS または HTTP)に関係なく適用されます。
ブロックページをカスタマイズするには:
- Cloudflare ダッシュボード ↗ で、Zero Trust > Reusable components > Custom pages を開きます。
- Account Gateway block page で Customize を選択します。
- Custom Gateway block page を選びます。Gateway はカスタムブロックページのプレビューを表示します。次の項目をカスタマイズできます。
- 組織名
- ロゴ
- ヘッダーテキスト
- グローバルなブロックメッセージ(ポリシー固有のブロックメッセージの上に表示されます)
- Mailto リンク
- 背景色
- Save を選択します。
-
cloudflare_api_token↗ に次の権限を追加します。Zero Trust Write
-
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 ブロックページを表示します。
カスタムブロックページに、外部のロゴ画像を表示できます。ブロックページは、すべての画像を 146x146 ピクセルにリサイズします。URL は有効で、2048 文字以内である必要があります。対応するファイル形式は SVG、PNG、JPEG、GIF です。
カスタムブロックページに Mailto リンクを追加すると、ユーザーはブロックされたサイトについて直接メールできます。ブロックページで Contact your Administrator を選ぶと、設定したメールアドレスと件名、および次の診断情報が入ったメールテンプレートが開きます。
| フィールド | 説明 |
|---|---|
| Site URL | ブロックされたページの URL。 |
| Rule ID | ページをブロックした Gateway ポリシーの ID。 |
| Source IP | ユーザーデバイスのパブリック送信元 IP。 |
| Account ID | ブロックポリシーに紐づく Cloudflare アカウント。 |
| User ID | ページを訪れたユーザーの ID。現在、User ID はダッシュボードには表示されず、API を呼び出した場合のみ確認できます。 |
| Device ID | ページを訪れたデバイスの ID。Cloudflare One Client が生成します。 |
| Block Reason | ポリシー固有のブロックメッセージ。 |
DNS Block ポリシーでは、ブロックページを表示したいポリシーごとにオンにする必要があります。HTTP Block ポリシーでは、Gateway はデフォルトでグローバルなブロックページ設定を自動表示します。どちらのポリシータイプでも、各ポリシーの設定でグローバルなブロックページ設定を上書きできます。
個別のポリシーでブロックページをオンにする、またはグローバル設定を上書きする手順です。
- Cloudflare ダッシュボード ↗ で Zero Trust > Traffic policies > Firewall policies > DNS を開きます。
- 新しいポリシーを作る場合は Add a policy を選びます。既存のポリシーを編集する場合は、対象ポリシーを選んで Edit を選びます。ブロックページを編集できるのは、Block アクションのポリシーだけです。
- Configure policy settings で、turn on Modify Gateway block behavior。
- ブロック時の動作を選びます。
- Use account-level block setting: アカウント設定で構成したグローバルなブロックページ設定を使います。グローバル設定は、デフォルトの Gateway ブロックページ、HTTP リダイレクト、または カスタム Gateway ブロックページ のいずれかです。
- Override account setting with URL redirect: ポリシー単位で指定した URL へ、
307HTTP リダイレクトでユーザーをリダイレクトします。
- (任意)アカウントレベルのブロックページ設定でカスタム Gateway ブロックページを使っている場合、Add an additional message to your custom block page when traffic matches this policy をオンにすると、このポリシーでトラフィックがブロックされたときにカスタムブロックページへ追加メッセージを表示できます。このオプションは Message フィールドの代わりになります。
- Save policy を選びます。
設定に応じて、Gateway はこのポリシーでブロックされたユーザーのブラウザーにブロックページを表示するか、指定した URL へリダイレクトします。
- Cloudflare ダッシュボード ↗ で Zero Trust > Traffic policies > Firewall policies > HTTP を開きます。
- 新しいポリシーを作る場合は Add a policy を選びます。既存のポリシーを編集する場合は、対象ポリシーを選んで Edit を選びます。ブロックページを編集できるのは、Block アクションのポリシーだけです。
- Configure policy settings で、go to Modify Gateway block behavior。
- ブロック時の動作を選びます。
- Use account-level block setting: アカウント設定で構成したグローバルなブロックページ設定を使います。グローバル設定は、デフォルトの Gateway ブロックページ、HTTP リダイレクト、または カスタム Gateway ブロックページ のいずれかです。
- Override account setting with URL redirect: ポリシー単位で指定した URL へ、
307HTTP リダイレクトでユーザーをリダイレクトします。
- (任意)アカウントレベルのブロックページ設定でカスタム Gateway ブロックページを使っている場合、Add an additional message to your custom block page when traffic matches this policy をオンにすると、このポリシーでトラフィックがブロックされたときにカスタムブロックページへ追加メッセージを表示できます。このオプションは Message フィールドの代わりになります。
- Save policy を選びます。
設定に応じて、Gateway はこのポリシーでブロックされたユーザーのブラウザーにブロックページを表示するか、指定した URL へリダイレクトします。
ブロックされたページを開いたときにブラウザーがセキュリティリスクの警告を出す場合は、デバイスに 証明書を正しくインストール しているか確認してください。証明書が未インストール、無効、または期限切れの場合、ユーザーのブラウザーは次のようになることがあります。
- 上流が安全でないことを示す HTTP Response Code: 526 のエラーページを表示する。
- 接続を閉じ、どのページも表示しない。
証明書の問題の修正については、トラブルシューティング を参照してください。
A または AAAA 以外の種類の DNS レコードに対するクエリの解決をブロックする場合、Gateway は REFUSED (RCODE:5) の DNS 応答コードを返します。Gateway はリクエストをブロックしますが、ブロックページは表示しません。
サードパーティ VPN や、iCloud Private Relay ↗ や Google Chrome IP Protection ↗ などのインターネットフィルタリングソフトウェア経由のトラフィックは、Gateway では正しくフィルタリングできません。DNS ポリシーをトラフィックに適用するには、Gateway の動作を妨げるソフトウェアをオフにすることを推奨します。
iCloud Private Relay をオフにする方法は、Apple のユーザーガイド(macOS ↗ または iOS ↗)を参照してください。
Block ポリシーに一致する HTTP リクエストが、対応する DNS クエリと同じ Cloudflare データセンターに届かない場合、Gateway はカスタムブロックページではなくデフォルトのブロックページを表示します。
これは、IPv4、IPv6、DoH(DNS over HTTPS)、DoT(DNS over TLS)などの暗号化プロトコルを含む、任意の Gateway リゾルバーエンドポイントへ送った DNS クエリに適用されます。DNS クエリが対応する HTTP リクエストと別の Cloudflare データセンターへルーティングされた場合(たとえば DoH トラフィックを WARP トンネルの外へ送った場合)、Gateway は 2 つのリクエストを関連付けられず、カスタムブロックページではなくデフォルトのブロックページを表示します。
HTTP リクエストの送信元 IP が DNS リクエストと異なる場合、Gateway はブロックページにルール ID、カスタムメッセージ、その他のフィールドを表示しないことがあります。再帰 DNS リゾルバーの送信元 IP が、ユーザーデバイスの IP と異なる場合に起こり得ます。
デュアルスタックネットワークでは、DNS クエリの送信元 IP と、ブロックページ接続の送信元 IP が異なることがあります。DNS クエリが IPv4 で、ブラウザーが IPv6 でブロックページに接続する(またはその逆)場合があります。このとき、ブロックページの読み込みに失敗したり、ポリシーコンテキスト(ルール ID、ブロック理由、カスタムリダイレクトパラメーター)なしで表示されたりすることがあります。
この問題を解消するには、DNS ロケーションに 専用の DNS リゾルバー IP アドレス を設定します。専用 IP アドレスを使うと、ブロックサーバーは送信元アドレスに関係なく、宛先 IP アドレスからアカウントを特定できます。