CloudFront と WAF による IP 制限における IPv4 と IPv6 の許可リストの混在について

0

CloudFront で配信している Web サイトに WAF を使った IP 制限を設けています。 これまでは IPv4 のみの許可リストを作成していたのですが、つい最近、IPv6 からのアクセスも許可するようにルールを追加し、OR ステートメントで評価するようにしました。 そうしたところ、今までアクセスができていた IPv4 からのアクセスが 403 エラーとなるようになってしまいました。 エラー発生時の IP アドレスを確認すると、IPv6 アドレスは許可リストに含まれていなものでしたが、IPv4 アドレスは許可リストに含まれているのものでした。 リクエスト元の IPv6 アドレスが許可リストに含まれていなくても、IPv4 アドレスが許可リストに含まれていればアクセス可能な認識なのですが間違っているでしょうか? 原因として何が考えられるでしょうか?

1回答
0
承認された回答

ルールのアクションはAllowになっていますでしょうか?
Blockになっている場合はリストに登録されているIPがブロックされてしまいます。

リクエスト元の IPv6 アドレスが許可リストに含まれていなくても、IPv4 アドレスが許可リストに含まれていればアクセス可能な認識なのですが間違っているでしょうか?

ORステートメントが正常に設定できていればご認識の通りの動きになると思います。
https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/waf-rule-statement-type-or.html

profile picture
エキスパート
回答済み 1ヶ月前
  • コメントありがとうございます!確認したところ Allow になっておりました。

  • ちなみにIPv4が含まれているのはclientIpの部分でしょうか? https://docs.aws.amazon.com/ja_jp/waf/latest/developerguide/logging-fields.html リクエストヘッダーなどに含まれている場合はそちらでフィルタリングが必要になると思います。 403エラーが発生するということはクライアントがIPv4ではなくIPv6でアクセスしているのではないかと予想しています。 こちらのブログなどを参考にリクエストがIPv4なのかIPv6なのかを確認する必要があると思います。 https://aws.amazon.com/jp/blogs/news/ipv6-support-update-cloudfront-waf-and-s3-transfer-acceleration/

  • コメントありがとうございます。clientip をまだ確認できていないのですが、Web ACLs の Sampled requests から確認したところ、ブロックされていたのは IPv6 (許可リストに含まれていないもの)でした。

    追記 原因がわかりました(私のネットワークへの理解が浅いだけでした)。 WAF のルール評価において、リクエスト元の IPv4 アドレスと IPv6 アドレスの両方が一度に評価されると思い込んでいました。 ある時点においての IP プロトコルは IPv4 か IPv6 のどちらかなので、例えば IPv6 での通信時に Block された場合、WAF は IPv4 アドレスを知りようがないので IPv4 の方のルール評価は実施されないか、実施されたとしても Block されるのですね。 私の認識は正しいでしょうか...?

  • IPv6とIPv4のルールはORステートメントで登録されている認識でしたが違いますでしょうか? コンソールだと以下のように登録されているイメージです。 この状態で登録されていればどちらかのIPセットに登録されているものであれば許可できるように設定できると思います。 a
    私のAWSアカウントで上記のようにORステートメントを登録して以下のようにCloudFrontへアクセスしてみました。 結果としてはIPセットにIPv4もしくはIPv6が登録されていれば許可される動きとなりました。 つまり、ルールの設定に何か問題があると考えられます。

    curl -4 https://example.cloudfront.net/
    curl -6 https://example.cloudfront.net/
    

    評価は実施されないか、実施されたとしても Block されるのですね。

    ルールが分かれていて1つ目のルール (例えばIPv4を評価するルール) でブロックされていればそれ以降のルールは見ないのでIPv6がリストに登録されていてもアクセスできません。

ログインしていません。 ログイン 回答を投稿する。

優れた回答とは、質問に明確に答え、建設的なフィードバックを提供し、質問者の専門分野におけるスキルの向上を促すものです。

質問に答えるためのガイドライン

関連するコンテンツ