リクエストをブロックしている、または 403 Forbidden エラーで応答している AWS WAF ルールを特定するにはどうすればよいですか?
簡単な説明
リクエストが Block に設定されている AWS WAF ルールと一致する場合、デフォルトでは AWS WAF は 403 Forbidden エラーを返します。ブロックアクションのカスタムレスポンスを設定した場合、AWS WAF は設定されたレスポンスを返します。
403 Forbidden エラーのトラブルシューティングを行うには
- リクエストをブロックしている AWS WAF ルールまたはルールグループを特定します。
- 特定されたルールに変更を加えて、リクエストを許可します。
解決方法
リクエストをブロックした AWS WAF ルールまたはルールグループを特定します
リクエストをブロックしている AWS WAF ルールまたはルールグループを特定するには、2 つのオプションがあります。
オプション 1: サンプルリクエスト
リクエストのサンプリングがオンになっていて、過去 3 時間以内にリクエストがブロックされた場合は、ブロックされたリクエストのウェブリクエストのサンプルを表示します。
注: リクエストがブロックされてから 3 時間以上経過している場合は、同じリクエストを再送信して、新しいサンプルリクエストを生成できます。
[Sampled requests] テーブルを使用して、要求をブロックしたルールまたはルールグループを特定します。
- [ソース IP] 列と [URI] 列を使用してリクエストを識別します。
- [Metric name] 列を使用して、リクエストに一致したルールまたはルールグループを特定します。要求がルールグループによってブロックされた場合は、[ルールグループ内のルール] 列を使用してルールを識別します。
- [アクション] 列を使用して、特定されたルールが [ブロック] に設定されていることを確認します。
要求をブロックしたルールまたはルールグループをメモします。次に、[AWS WAF ルールに変更を加えてリクエストを許可する] に進みます。
オプション 2: AWS WAF ログ
AWS WAF ログ記録が有効になっている場合は、ログを分析して、リクエストをブロックしたルールまたはルールグループを見つけることができます。
- AWS WAF ログを表示します。
- ログでブロックされたリクエストを特定します。
- terminatingRuleId フィールドを表示して、リクエストをブロックした AWS WAF ルールまたはルールグループを特定します。
要求をブロックしたルールまたはルールグループをメモします。次に、[AWS WAF ルールに変更を加えてリクエストを許可する] に進みます。
**注:**リクエスト時に AWS WAF のログ記録を有効にしていない場合は、まず AWS WAF のログ記録を有効にする必要があります。次に、リクエストを再現して、AWS WAF ログでリクエストをブロックしているルールを特定します。詳細については、「AWS WAF のログ記録をオンにして、CloudWatch、Amazon S3、または Kinesis Data Firehose にログを送信するにはどうすればよいですか?」を参照してください。
AWS WAF ルールを変更してリクエストを許可する
要求をブロックしたルールまたはルールグループを特定したら、特定の要求が許可されるように、ルールまたはルールグループに適切な変更を加えます。