AWS WAF で IP レピュテーションリストまたは匿名 IP リストを使用する際に、正当な IP アドレスを許可するにはどうすればよいですか?

所要時間4分
0

正当なリクエストが、Amazon IP レピュテーションリストマネージドルールグループまたは匿名 IP リストマネージドルールグループによってブロックされています。AWS WAF で IP アドレスを許可するにはどうすればよいですか?

簡単な説明

正当なリクエストは、次の AWS マネージドルールグループのいずれかによってブロックされる可能性があります。

1 つまたは複数の特定の IP アドレスを許可するには、次の方法のいずれかを使用してこの問題を解決します。

  • ルールが評価するリクエストの範囲を絞り込むためのスコープダウンステートメント。単一のルールグループのアドレス指定ロジックには、このオプションを選択します。
  • リクエストと一致するルールが、後で同じウェブ ACL で評価されるルールに一致の結果を伝えることができるようにするウェブリクエストのラベル。同じロジックを複数のルールで再利用するには、このオプションを選択します。

解決方法

オプション 1: スコープダウンステートメントの使用

まず、IP セットを作成します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで、[IP sets] (IP セット) を選択し、[Create IP set] (IP セットを作成) を選択します。
  3. IP セットについて、[IP set name] (IP セットの名前) と [Description - optional] (説明 - オプション) を入力します。例: MyTrustedIPs
    注: IP セットを作成した後に IP セット名を変更することはできません。
  4. [Region] (リージョン) で、IP セットを保存する AWS リージョンを選択します。Amazon CloudFront ディストリビューションを保護するウェブ ACL で IP セットを使用するには、[Global (CloudFront)] (グローバル (CloudFront)) を使用する必要があります。
  5. [IP version] (IP バージョン) で、使用するバージョンを選択します。
  6. [IP addresses] (IP アドレス) で、CIDR 表記で許可する IP アドレスまたは IP アドレス範囲を 1 行に 1 つ入力します。
    注: AWS WAF は、/0 を除くすべての IPv4 および IPv6 CIDR 範囲をサポートします。
    例:
    IPv4 アドレス 192.168.0.26 を指定するには、192.168.0.26/32 と入力します。
    IPv6 アドレス 0:0:0:0:0:ffff:c000:22c を指定するには、0:0:0:0:0:ffff:c000:22c/128 と入力します。
    192.168.20.0 から 192.168.20.255 までの範囲の IPv4 アドレスを指定するには、192.168.20.0/24 と入力します。
    2620:0:2d0:200:0:0:0:0 から 2620:0:2d0:200:ffff:ffff:ffff:ffff までの範囲の IPv6 アドレスを指定するには、2620:0:2d0:200::/64 と入力します。
  7. IP セットの設定を確認します。仕様に合っている場合は、[Create IP set] (IP セットを作成) を選択します。

その後、リクエストをブロックする特定の AWS マネージドルールにスコープダウンステートメントを追加します。

  1. ナビゲーションペインの [AWS WAF] の下で、[Web ACL] (ウェブ ACL) を選択します。
  2. [Region] (リージョン) で、ウェブ ACL を作成した AWS リージョンを選択します。
    注:ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[Global] (グローバル) を選択します。
  3. ウェブ ACL を選択します。
  4. ウェブ ACL の [Rules] (ルール) タブで、リクエストをブロックしている特定の AWS マネージドルールグループを選択し、[Edit] (編集) を選択します。
  5. [Scope-down statement - optional] (スコープダウンステートメント - オプション) で、[Enable scope-down statement] (スコープダウンステートメントを有効化) を選択します。
  6. [If a request] (リクエストが次の場合) で、[doesn't match the statement (NOT)] (ステートメントと一致しない (NOT)) を選択します。
  7. [Statement] (ステートメント) の [Inspect] (検査) で、[Originates from IP address in] (次の IP アドレスから発信) を選択します。
  8. [IP Set] (IP セット) で、前に作成した IP セットを選択します。例: MyTrustedIPs
  9. [IP address to use as the originating address] (発信元アドレスとして使用する IP アドレス) で、[Source IP address] (ソース IP アドレス) を選択します。
  10. [Save rule] (ルールを保存) を選択します。

オプション 2: ウェブリクエストでラベルを使用する

まず、IP セットを作成します。

  1. AWS WAF コンソールを開きます。
  2. ナビゲーションペインで、[IP sets] (IP セット) を選択し、[Create IP set] (IP セットを作成) を選択します。
  3. IP セットについて、[IP set name] (IP セットの名前) と [Description - optional] (説明 - オプション) を入力します。例: MyTrustedIPs
    注: IP セットを作成した後に IP セット名を変更することはできません。
  4. [Region] (リージョン) で、IP セットを保存する AWS リージョンを選択します。Amazon CloudFront ディストリビューションを保護するウェブ ACL で IP セットを使用するには、[Global (CloudFront)] (グローバル (CloudFront)) を使用する必要があります。
  5. [IP version] (IP バージョン) で、使用するバージョンを選択します。
  6. [IP addresses] (IP アドレス) で、CIDR 表記で許可する IP アドレスまたは IP アドレス範囲を 1 行に 1 つ入力します。
    注: AWS WAF は、/0 を除くすべての IPv4 および IPv6 CIDR 範囲をサポートします。
    例:
    IPv4 アドレス 192.168.0.26 を指定するには、192.168.0.26/32 と入力します。
    IPv6 アドレス 0:0:0:0:0:ffff:c000:22c を指定するには、0:0:0:0:0:ffff:c000:22c/128 と入力します。
    192.168.20.0 から 192.168.20.255 までの範囲の IPv4 アドレスを指定するには、192.168.20.0/24 と入力します。
    2620:0:2d0:200:0:0:0:0 から 2620:0:2d0:200:ffff:ffff:ffff:ffff までの範囲の IPv6 アドレスを指定するには、2620:0:2d0:200::/64 と入力します。
  7. IP セットの設定を確認します。仕様に合っている場合は、[Create IP set] (IP セットを作成) を選択します。

その後、ルールアクションをルールグループでカウントするように変更します。

  1. ウェブ ACL ページの [Rules] (ルール) タブで、リクエストをブロックする AWS マネージドルールグループを選択し、[Edit] (編集) を選択します。
  2. ルールグループの [Rules] (ルール) セクションで、次のいずれかを実行します。
    [AWSManagedIPReputationList] で、[Count] (カウント) をオンにします。
    [AnonymousIPList Rule] (AnonymousIPList ルール) で、[Count] (カウント) をオンにします。
  3. [Save rule] (ルールを保存) を選択します。

最後に、リクエストをブロックしている特定の AWS マネージドルールよりも高い優先度の数値を持つルールを作成します。

  1. ナビゲーションペインの [AWS WAF] の下で、[Web ACL] (ウェブ ACL) を選択します。
  2. [Region] (リージョン) で、ウェブ ACL を作成した AWS リージョンを選択します。 注: ウェブ ACL が Amazon CloudFront 用に設定されている場合は、[Global] (グローバル) を選択します。
  3. ウェブ ACL を選択します。
  4. [Rules] (ルール) を選択します。
  5. [Add Rules] (ルールを追加) を選択し、[Add my own rules and rule groups] (独自のルールとルールグループを追加) を選択します。
  6. [Name] (名前) で [rule name] (ルール名) を入力し、[Regular Rule] (通常ルール) を選択します。
  7. [If a request] (リクエストが次の場合) で、[matches all the statements (AND)] (すべてのステートメントに一致 (AND)) を選択します。
  8. ステートメント 1:
    [Inspect] (検査) で、[Has a label] (ラベルあり) を選択します。
    [Match scope] (一致スコープ) で、[Label] (ラベル) を選択します。
    [Match key] (一致キー) で、リクエストをブロックしていたマネージドルールに基づいて、[awswaf:managed:aws:amazon-ip-list:AWSManagedIPReputationList] または [awswaf:managed:aws:anonymous-ip-list:AnonymousIPList] のいずれかを選択します。
  9. ステートメント 2:
    [Negate statement (NOT)] (否定ステートメント (NOT)) で、[Negate statement results] (ステートメントの結果を否定) を選択します。
    [Inspect] (検査) で、[Originates from IP address in] (次の IP アドレスから発信) を選択します。
    [IP set] (IP セット) で、前に作成した IP セットを選択します。
    [IP address to use as the originating address] (発信元アドレスとして使用する IP アドレス) で、[Source IP address] (ソース IP アドレス) を選択します。
  10. [Action] (アクション) で [Block] (ブロック) を選択します。
  11. [Add Rule] (ルールを追加) を選択します。
  12. [Set rule priority] (ルールの優先度を設定) で、リクエストをブロックしていた AWS マネージドルールの下にルールを移動します。
  13. [Save] (保存) を選択します。

重要: [Action] (アクション) を [Count] (カウント) に設定した非本番環境でルールをテストするのがベストプラクティスです。AWS WAF サンプルリクエストまたは AWS WAF ログと組み合わせた Amazon CloudWatch メトリクスを使用して、ルールを評価します。ルールが希望どおりに動作することを確認したら、[Action] (アクション) を [Block] (ブロック) に変更します。


関連情報

AWS マネージド型ルールによる誤検知を検出し、セーフリストに追加する方法を教えてください

AWS公式
AWS公式更新しました 2年前
コメントはありません

関連するコンテンツ