Web サービスを Web Application Firewall (WAF) に追加した後、カスタム応答モジュールの保護ルールを設定して、リクエストが WAF によってブロックされたときにクライアントに返されるブロックページのスタイルとコンテンツをカスタマイズできます。カスタムステータスコード、応答ヘッダー、および応答本文を指定できます。デフォルトでは、カスタム応答モジュールは無効になっています。このトピックでは、カスタム応答モジュール用の保護テンプレートと保護ルールを作成する方法について説明します。
背景情報
カスタム応答モジュールの保護ルールを設定しない場合、リクエストがブロックされると、デフォルトのブロックページがクライアントに返されます。

カスタム応答モジュールの保護ルールを設定して、[ステータスコード]、[応答ヘッダー]、[応答] などのブロックページのコンテンツをカスタマイズできます。
前提条件
Enterprise または Ultimate エディションを実行するサブスクリプション WAF 3.0 インスタンス、または従量課金 WAF 3.0 インスタンスが購入済みであること。詳細については、「サブスクリプション WAF 3.0 インスタンスの購入」および「従量課金 WAF 3.0 インスタンスの購入」をご参照ください。
Web サービスを 保護対象オブジェクトおよび保護対象オブジェクトグループ として WAF 3.0 に追加済みであること。
テンプレートタイプ
カスタム応答モジュールは、次のタイプの保護テンプレートをサポートしています。
保護テンプレート | 説明 | 適用対象 |
デフォルト保護テンプレート | WAF は初期のデフォルト保護テンプレートを提供しません。手動で作成する必要があります。 | デフォルト保護テンプレートを作成すると、テンプレートはカスタム保護テンプレートに関連付けられていない保護対象オブジェクトまたはグループに自動的に適用されます。テンプレートは、新しく追加された保護対象オブジェクトにも自動的に適用されます。設定は手動で調整できます。 |
カスタム保護テンプレート | カスタム保護テンプレートは手動で作成する必要があります。 | [適用対象] を指定する必要があります。テンプレートは、テンプレートに関連付けられている保護対象オブジェクトおよびオブジェクトグループにのみ有効です。 |
カスタム応答モジュールの保護テンプレートを作成する
カスタム応答モジュールは、初期のデフォルト保護テンプレートを提供しません。カスタム応答モジュールの保護ルールを有効にする前に、保護テンプレートを作成する必要があります。
Web Application Firewall 3.0 コンソールにログインします。トップメニューバーから、WAF インスタンスのリソースグループとリージョン (中国本土 または 中国本土以外) を選択します。
左側のナビゲーションウィンドウで、 を選択します。
Web コア保護 ページで、カスタム応答 セクションまでスクロールし、テンプレートの作成 をクリックします。
[テンプレートの作成 - カスタム応答] パネルで、パラメーターを設定し、[OK] をクリックします。
パラメーター
説明
テンプレート名
テンプレートの名前を指定します。
名前は 1~255 文字で、漢字、大文字と小文字の英字、数字、ピリオド (.)、アンダースコア (_)、ハイフン (-) を使用できます。
デフォルトテンプレートとして保存
デフォルトの保護テンプレートでは、保護対象オブジェクトを指定する必要はありません。テンプレートは、カスタム保護テンプレートに関連付けられていないすべての保護対象オブジェクトおよびオブジェクトグループに自動的に適用されます。これには、新しく追加された保護対象オブジェクトおよびオブジェクトグループ、およびカスタム保護テンプレートから削除されたものが含まれます。デフォルトテンプレートから手動で削除することもできます。保護モジュールごとに設定できるデフォルトテンプレートは 1 つだけであり、テンプレートを作成するときにのみデフォルトテンプレートを設定できます。
ルール構成
ルール設定を構成します。カスタム応答モジュールの保護テンプレートには、保護ルールが 1 つだけ含まれています。
ステータスコード
WAF がリクエストをブロックしたときに WAF がクライアントに返す HTTP ステータスコードを指定します。有効な値: 200~600。デフォルト値: 405。
カスタムヘッダー
WAF がリクエストをブロックしたときに WAF がクライアントに返す応答のヘッダーフィールドを指定します。各ヘッダーフィールドは、[ヘッダー名] と [ヘッダー値] で構成されます。最大 5 つのヘッダーフィールドを追加できます。
応答本文
ブロックページのソースコードを指定します。次の要件が満たされていることを確認してください。
応答本文は HTML または JSON 形式です。
応答本文には最大 4,000 文字を含めることができます。
重要ブロックページにリクエスト ID を保持して Simple Log Service でブロックされたリクエストをクエリする場合は、適切な場所で
{::trace_id::}文字列を参照してください。[カスタムヘッダー] パラメーターを設定して
content-typeヘッダーフィールドを追加し、応答本文のフォーマットを指定できます。
適用対象
設定済みの保護オブジェクトおよび保護オブジェクトグループから、このテンプレートを適用するものを選択します。
保護対象オブジェクトまたはオブジェクトグループは、1 つのカスタム応答保護テンプレートにのみ関連付けることができます。デフォルトの保護テンプレートを設定した場合、カスタム保護テンプレートに関連付けられていないすべての保護対象オブジェクトおよびオブジェクトグループが自動的に選択されます。デフォルトのテンプレートを設定しない場合、保護対象オブジェクトまたはオブジェクトグループは自動的に選択されません。保護対象オブジェクトおよびオブジェクトグループの選択は手動で変更できます。
新しい保護テンプレートはデフォルトで有効になっています。保護テンプレートリストでは、次の操作を実行できます。
テンプレートに関連付けられている 保護対象 / グループ の数を表示します。
ステータス を使用して、テンプレートを有効または無効にします。
Create Rule をクリックして、テンプレートの新しいルールを作成します。
保護テンプレートを 編集、削除、または 複製 します。
テンプレート名の横にある
アイコンをクリックして、保護テンプレート内のルールに関する情報を表示します。
保護テンプレートが有効になると、保護テンプレートが適用される [保護対象オブジェクト] のデフォルトのブロックページは、[ルール構成] セクションで指定したカスタムブロックページに置き換えられます。WAF がクライアントにデフォルトのブロックページを返すようにする場合は、保護テンプレートを無効にするか削除します。
関連情報
WAF 3.0 の保護対象オブジェクト、保護モジュール、および保護プロセスの詳細については、「保護設定の概要」をご参照ください。
API 操作を呼び出して保護テンプレートを作成する方法の詳細については、「CreateDefenseTemplate」をご参照ください。
API 操作を呼び出して保護ルールを作成する方法の詳細については、「CreateDefenseRule」をご参照ください。