Amazon Web Services ブログ
Amazon VPC Block Public Access による VPC セキュリティの強化
当初、お客様に必要な Amazon Virtual Private Cloud (Amazon VPC) は1つだけだと考えていましたが、多くのことを学んでおり、今日、AWS Well-Architected Frameworkでは、単一の VPC を持つ単一のアカウントをアンチパターンとして記述しています。AWS クラウド内のアカウントとネットワークパスの数が増加するにつれ、お客様やパートナーの皆様から、大規模なクラウド環境を理解し、セキュリティを確保するために役立つシンプルなツールが欲しいという要望がありました。
AWSは、お客様が発見的統制や予防的コントロール、プロアクティブコントロール、およびレスポンシブコントロールの実装を可能にするサービスや機能を提供しています。例えば、自動推論と証明可能セキュリティへの投資により、パブリックに公開された Amazon Simple Storage Service (Amazon S3) バケットを検出し、単純なミスや誤解から生じた予期せぬインターネットアクセスを特定することが可能となりました。大規模な予防的コントロールのために、Amazon S3 ブロックパブリックアクセスのような機能を提供し、S3 オブジェクトがプライベートであることを簡単に保証できるようにしています。
Amazon VPC に対する Block Public Access の実装
2024年11月19日に、インターネットアクセス制御を簡素化する強力な新機能を発表できることを嬉しく思います。Amazon VPC Block Public Access は、AWS が提供するインターネット経路を通じて入ってくる (インバウンド) および出ていく (アウトバウンド) VPC トラフィックを確実にブロックするシンプルで宣言的な制御機能です。Amazon VPC Block Public Access により、 VPC 内のリソースに対する AWS 提供のインターネットアクセスを一元的にブロックすることで、お客様は組織のセキュリティとコンプライアンス要件への準拠を確保できます。双方向ブロックに設定すると、全てのインバウンドおよびアウトバウンド VPC トラフィックが拒否されます。Amazon VPC Block Public Access は、Internet Gateway (IGW) や Egress-Only Internet Gateway (EIGW) などの経路を通してインターネットに公開される全てのトラフィックを遮断するように、既存の VPC 設定よりも優先されます。
しかし、VPC からのトラフィックがインターネットにアクセスする必要がある場合はどうでしょうか?
NAT Gateway と EIGW は一般的に、VPC 内のリソースにインバウンドのインターネットトラフィックにさらすことなく、インターネットアクセスを提供するために使用されています。お客様から、Amazon VPC Block Public Access を使用する際に、このような一般的なアーキテクチャをサポートするシンプルで信頼性の高く一貫したアプローチが求められていました。双方向ブロックの代替として、Amazon VPC Block Public Access はこれらのユースケースに対してイングレス方向のみのブロックをサポートしています。イングレス方向のみのブロックでは、インターネットからのインバウンドトラフィックが確実にブロックされ、VPC からのアウトバウンドトラフィックは NAT Gateway と EIGW を通してのみ許可されます。
Amazon VPC Block Public Access は、AWS アカウント内、リージョン単位で有効にでき、近日中に AWS Organizations のサポートも予定されています。
除外によるきめ細やかな制御
VPC 内の一部リソースでは、双方向のインターネットアクセスが必要になる場合があることを理解しています。あるいは、Amazon VPC Block Public Access の双方向ブロックまたはイングレス方向のみのブロックでは拒否されるような、エグレス方向のみのインターネットパスが必要になるといった集中型のトラフィック検査のようなユースケースがあります。この要件に対応するために、Amazon VPC Block Public Access には細かな除外機能が含まれています。管理者は、Amazon VPC Block Public Access の適用から除外する VPC またはサブネットを個別に指定でき、必要に応じてターゲットを絞ったインターネットアクセスを許可できます。
これらの除外を設定することで、全て (双方向) またはアウトバウンド (エグレス方向のみ) のインターネットアクセスを許可できます。イングレス方向のみのブロックと同様に、エグレス方向のみの除外を許可すると、VPC またはサブネットからのエグレストラフィックは NAT Gateway と EIGW を通してのみ許可されます。
Amazon VPC Block Public Access の動作方法と主要機能について、より深く掘り下げていきます。
Amazon VPC Block Public Access を理解する
Amazon VPC Block Public Access を実演するために、シンプルなデュアルスタック (IPv4とIPv6) の VPC アーキテクチャを作成しました。2つのパブリックサブネット、2つのプライベートサブネット、2つの NAT Gateway、EIGW、IGW があります。パブリックサブネットには、IGW へのデフォルトルートがあります。プライベートサブネットには、同じアベイラビリティーゾーン内の NAT Gateway への IPv4 デフォルトルートと、EIGW への IPv6 デフォルトルートがあります。パブリックサブネットには、HTTP を受け付けるインターネット向け Application Load Balancer (ALB) をデプロイしました。ALB はインターネットからのインバウンドトラフィックをプライベートサブネット内の Web サーバーに渡します。
Amazon VPC Block Public Access を有効にする前は、ALB を通してインターネットから Web サーバーにアクセスできます。また、Web サーバーにログインしている間、IPv4 用の NAT Gateway とIPv6 用の EIGW を通してインターネットにアクセスでき、AWS ホームページに ping を実行することもできます。
Amazon VPC Block Public Access を設定して、パブリックサブネットのみとの双方向の全トラフィックを許可したいと思います。しかし、Amazon VPC Block Public Access の有効化後に、Web サイトが利用できなくなることは避けたいです。そのため、Amazon VPC Block Public Access を有効化する前に、これらのサブネットに対する除外設定を行います。
VPC コンソールに移動し、次のことを行います。
- 設定を選択します。
- 次に、パブリックアクセスをブロックタブを選択します。
次に、以下を行います。
- 除外を作成をクリックし、2つのパブリックサブネットが全てのインターネットトラフィック (双方向通信) を許可するように指定してください。
- 次に、除外を作成をクリックします。
数分後、除外が Active になります。
さて、Amazon VPC Block Public Access を有効化する準備ができました。この機能を有効にした際に何が起こるのかを確実に理解しておきたいと思います。Network Access Scope を作成をクリックし、Network Access Analyzer を使用して、現在許可されている AWS 提供のインターネットパスを特定します。2 つの除外条件を使用して、パブリックサブネットをインターネットトラフィックの送信元または宛先としてフィルタリングします。これらのサブネットへのトラフィックは、除外によって許可されていることがわかります。
分析によると、Web サーバーでは ALB を介したインターネットトラフィックの受け入れや応答が許可されており、また、NAT Gateway を介してアウトバウンド (エグレス) のインターネットトラフィックを開始することができます。プライベートサブネットには EIGW への IPv6 デフォルトルートもあることや、プライベートサブネットに対して Amazon VPC Block Public Access の除外を行っていないことを思い出してください。その結果、Amazon VPC Block Public Access がWeb サーバーからのエグレス IPv6 トラフィックを拒否すると予想されます。
パブリックアクセスをブロックのタブに戻り、以下を行います。
- パブリックアクセス設定を編集をクリックします。
- [パブリックアクセスをブロックする]をオンにするのボックスをチェックし、すべてのインターネットトラフィック (双方向) をブロックする動作を設定します。
- 変更を保存をクリックします。
数分後、パブリックアクセス設定のステータスがオンと表示されます。
確認のため、インターネットから ALB を通して Web サーバーにアクセスできるかどうかを確認します。“Hello, World!” ページが正常に表示されました。Web サーバーに戻ると、Network Access Analyzer の結果で確認したように、NAT Gateway と IGW を介して IPv4 で AWS ホームページに ping を送ることができます。予想通り、IPv6 では AWS ホームページに ping を送ることはできません。
プライベートサブネットで有効化されていた VPCフローログ を見ると、IPv6 トラフィックが拒否されているのが分かります。最初の行 (ACCEPT) は、パケットがネットワークインターフェースのセキュリティグループとサブネットのネットワーク ACL によって許可されたことを示しています。しかし、Amazon VPC Block Public Access がトラフィックをブロックしています (REJECT)。VPC フローログでカスタムフォーマットを設定していれば、reject-reason フィールドを含めることができ、トラフィックをブロックした理由が BPA であることが表示されたはずです。
プライベートサブネットからの EIGW を介した IPv6 アウトバウンドトラフィックを有効にするために、新しい除外を追加します。この除外は、EIGW を通過するトラフィックが流れる方向に一致する、エグレス方向のみです。
数分後、除外が Active になります。Web サーバーに戻ると、EIGW を介して IPv6 経由で AWS ホームページに再び ping を送ることができます。
最後の操作として、すべての除外を削除します。除外がない状態では、この VPC のすべてのインターネットトラフィックがブロックされます。
予想通り、ALB にはアクセスできなくなり、Web サーバーからのアウトバウンドトラフィックも開始できなくなりました。
パブリックアクセスをブロックのタブに戻り、パブリックアクセス設定を編集をクリックします。[パブリックアクセスをブロックする]をオンにするのブロックのチェックを外し、変更を保存をクリックします。数分後、パブリックアクセス設定のステータスがオフと表示されます。再び ALB にアクセスできるようになり、IPv4 と IPv6 を使用して AWS ホームページに ping を送ることができるようになります。
知っておくべきポイント
- Amazon VPC Block Public Access は、イングレス方向のみのブロック、またはエグレス方向のみの除外を許可する場合、ステートフルです。許可された接続の戻りのトラフィックは自動的に許可されます。この動作はセキュリティグループと類似しています。
- 有効にすると、Amazon VPC Block Public Access は新規および既存のネットワーク接続に影響します。
- Amazon VPC Block Public Accessには、デフォルトで50個の除外までといったクォータがあります。クォータの引き上げは可能です。
- イングレス方向のみのブロックが有効になっているか、エグレス方向のみの除外が許可されている場合、NAT Gateway と EIGW のみが VPC から出ることを許可します。
- Amazon VPC Block Public Access は、Elastic Load Balancing や AWS Global Accelerator などの他のサービスと統合されています。
- AWS Client VPN とAWS Site-to-Site VPN は安全な通信とみなされてるため、Amazon VPC Block Public Access から除外されています。
結論
本稿では、お客様が VPC のインターネットアクセスを管理するための宣言的なコントロールを求めていたことについて議論しました。Amazon VPC Block Public Access を使用することで、お客様はどの VPC やサブネットが Amazon が提供するインターネットにアクセスできるかを管理することができます。これにより、VPC 内のリソースへの AWS 提供のインターネットアクセスを一元的にブロックすることで、組織のセキュリティとコンプライアンス要件への準拠を確保できます。Network Access Analyzer と VPC フローログを活用してトラフィックパターンを理解し、Amazon VPC Block Public Access を有効にすることで、今すぐ始めることができます。詳細については、Amazon VPC Block Public Access のドキュメントをご覧ください。
本稿は、2024年11月19日に Networking & Content Delivery で公開された “Enhancing VPC Security with Amazon VPC Block Public Access” を翻訳したものです。翻訳は Solutions Architect の武松が担当しました。