ネットワークアクセスコントロールリスト (ACL) には、vSwitch に適用され、サブネット間を流れるトラフィックを制御するルールが含まれています。ネットワーク ACL をセキュリティグループと併用して、多層防御のセキュリティ戦略を構築できます。
セキュリティリスク
セキュリティグループはインスタンスレベル、具体的にはネットワークインターフェイスカード (NIC) レベルで動作し、インスタンスのサービスとセキュリティのニーズに基づいてアクセスルールを定義します。対照的に、ネットワーク ACL はサブネットレベルで動作し、サブネットのサービスとセキュリティのニーズに基づいてサブネット間を流れるトラフィックのルールを定義します。セキュリティグループは柔軟で詳細な制御を提供しますが、ネットワーク ACL は追加のセキュリティレイヤーを提供します。この階層化されたアプローチは、セキュリティグループルールの設定ミスや、セキュリティグループに追加されていないインスタンスから発生する可能性のあるネットワークの脅威を防ぐのに役立ちます。
トラフィックが Virtual Private Cloud (VPC) に入ると、まず vSwitch に到達します。ネットワーク ACL は、セキュリティグループまたは Cloud Firewall の前に適用されます。ネットワーク ACL は不正なインバウンドトラフィックをフィルタリングするため、処理リソースを節約できます。同様に、インターネットへのアウトバウンドトラフィックも最初に vSwitch を通過します。ネットワーク ACL は不要なアウトバウンドトラフィックをフィルタリングできるため、アウトバウンド帯域幅を節約できます。
ベストプラクティス: ネットワーク ACL でセキュリティグループルールを補完する
背景と課題
クラウドコンピューティング環境では、サービス間の通信を可能にするために、複数の VPC を接続する必要があることがよくあります。たとえば、次の 2 つの個別の VPC を考えてみましょう。
VPC1 (10.200.0.0/16): VPC2 のリソースにアクセスする必要があるアプリケーションが含まれています。
VPC2 (10.1.0.0/16): 複雑なネットワーク環境でさまざまなサービスインスタンスをホストします。
当初、開発を簡素化し、サービスデプロイを加速するために、VPC2 のセキュリティグループルールは許容的に設定されていました。これにより、いくつかのセキュリティリスクが生じました。たとえば、一部のセキュリティグループは、10.0.0.0/8 CIDR ブロック全体へのポートを開放していました。内部アクセスのみを目的とした一部の ECS インスタンスには、すべてのソース (0.0.0.0/0) からのアクセスを許可するルールが設定されていました。
VPC ピアリング接続で VPC1 と VPC2 を接続すると、これらの潜在的なセキュリティリスクが明らかになります。目標は、VPC1 のサービスが VPC2 の 10.1.38.0/24 クラスターのポート 80 にアクセスできるようにすることです。ただし、ターゲットクラスター (10.1.38.0/24) に正確なセキュリティグループルールを設定するだけでは不十分です。ピアリング接続は、VPC1 の 10.200.0.0/16 CIDR ブロックと VPC2 の 10.1.0.0/16 CIDR ブロックを、部分的または全体的に接続します。その結果、VPC2 の設定が間違っている他のインスタンスやサービスが誤って VPC1 に公開され、セキュリティの脆弱性が生じる可能性があります。
解決策: ネットワーク ACL を使用して境界セキュリティを強化する
これらの問題を解決し、明確で信頼性の高いセキュリティ境界を確立するために、VPC1 に接続する VPC2 の vSwitch に ネットワーク ACL を設定できます。ネットワーク ACL は、サブネットレベルで動作してサブネットに出入りするトラフィックをフィルタリングするステートレスパケットフィルタリングツールです。これは VPC サブネットのファイアウォールとして機能し、セキュリティグループの前に適用される、より広範なセキュリティコントロールを提供します。
構成ポリシーは次のとおりです。
デフォルトで拒否: まず、ネットワーク ACL にデフォルトルールを設定して、VPC1 CIDR ブロック (10.200.0.0/16) からのすべてのインバウンドトラフィックと VPC1 へのすべてのアウトバウンドトラフィックを拒否できます。これにより、安全なベースラインが確立され、2 つの VPC が明示的な許可なしに通信できないようになります。
特定のトラフィックを許可: 次に、より高い優先度のルールを追加して、VPC1 (10.200.0.0/16) と VPC2 (10.1.38.0/24) のターゲットクラスター間のポート 80 での双方向通信を明示的に許可できます。
インバウンドルール: 送信元アドレス 10.200.0.0/16 から宛先アドレス 10.1.38.0/24 へのポート 80 でのインバウンド TCP トラフィックを許可します。
アウトバウンドルール: 送信元アドレス 10.1.38.0/24 から宛先アドレス 10.200.0.0/16 へのエフェメラルポート範囲でのアウトバウンド TCP トラフィック (応答トラフィック) を許可します。
この構成では、vSwitch はまずネットワーク ACL を使用して、すべての不正なアクセスリクエストをフィルタリングします。明示的に許可された正当なトラフィックのみが、サブネット内の ECS インスタンスに転送されます。一部の ECS インスタンスにアタッチされたセキュリティグループルールに欠陥がある場合でも、インスタンスは VPC1 に公開されません。この構成により、VPC 間の通信のセキュリティが大幅に向上します。