特定のルールによってブロックされたウェブリクエストに対して、AWS WAF でカスタム応答を設定する方法を教えてください。

所要時間1分
0

AWS WAF ルールグループ内の特定のルールによってブロックされたリクエストに対して、カスタム応答を設定したいです。

解決策

Count ルールアクションで、カスタム応答を設定する AWS WAF マネージドルールを設定します。次に、マネージドルールグループにカスタムルールを作成し、カスタム応答を生成します。リクエストがマネージドルールが生成するラベルと一致する場合、応答が送信されます。

次の例では、コアルールセット (CRS) マネージドルールグループ内の AWS WAF マネージドルール CrossSiteScripting_QueryArguments に対し、カスタム応答を設定します。

ルールアクションで使用するカスタム応答メッセージを作成する

次の手順を実行します。

  1. お使いの AWS リージョンで AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [Web ACL] を選択し、ウェブアクセスコントロールリスト (ウェブ ACL) を選択します。
  3. [カスタム応答本文] を選択し、[カスタム応答本文の作成] を選択します。
  4. [応答本文オブジェクト名] に、名前を入力します。
  5. [コンテンツタイプ][プレーンテキスト] を選択します。
    注: 応答本文は、JSON、HTML、またはプレーンテキストにすることができます。
  6. [応答本文] に応答メッセージを入力し、[保存] を選択します。

注: Amazon CloudFront と Amazon API Gateway も、カスタム応答をサポートしています。ただし、Block アクションに対する AWS WAF カスタム応答は、保護されたリソースで定義されている応答仕様よりも優先されます。

カスタムルールを作成してカスタム応答を送信する

次の手順を実行します。

  1. お使いのリージョンで AWS WAF コンソールを開きます。
  2. ナビゲーションペインで [ウェブ ACL] を選択し、お使いのウェブ ACL を選択します。
  3. [ルール] タブを選択し、[ルールを追加] を選択します。
  4. [独自のルールとグループを追加] を選択します。
  5. [ルールタイプ][ルールビルダー] を選択します。
  6. 名前 に、ルール名を入力します。
  7. [タイプ][正規ルール] を選択します。
  8. [リクエストの条件] ドロップダウンリストを選択し、[ステートメントに一致] を選択します。
  9. [検査] ドロップダウンリストを選択し、[ラベルあり] を選択します。
  10. [マッチスコープ][ラベル] を選択します。
  11. [マッチキー] に、ルールラベルを入力します。(awswaf:managed:aws:core-rule-set:CrossSiteScripting_QueryArguments など。)
  12. [アクション] で、カスタムルールに対し [ブロック] を選択します。
  13. [カスタム応答] を展開し、[有効] を選択します。
  14. [応答コード] に、応答コード (307 など) を入力します。
  15. (オプション) [応答ヘッダー] で、[新しいカスタムヘッダーを追加] を選択します。
  16. [キー] に、ヘッダー名を入力します。
  17. [値] に、ヘッダー値を入力します。
  18. [応答本文の指定方法を選択 (オプション)] で、ドロップダウンリストを選択します。
  19. カスタム応答本文を選択し、[ルールを追加] を選択します。

注: カスタム応答でサポートされる HTTP ステータスコードのリストについては、「カスタム応答でサポートされるステータスコード」を参照してください。

関連情報

複雑なカスタム AWS WAF JSON ルールを作成する方法を教えてください

AWS マネージドルール用のルールグループリスト

AWS WAF カスタムルールが機能しない理由を知りたいです

AWS WAF でリクエストと応答をカスタマイズする

AWS公式
AWS公式更新しました 5ヶ月前
コメントはありません