AWS - VPC & Networking Basic Information

Support HackTricks

AWS Networking in a Nutshell

VPCは、10.0.0.0/16のようなネットワークCIDRルーティングテーブルネットワークACLを含む)を持ちます。

このVPCネットワークはサブネットワークに分割され、サブネットワークは直接VPCルーティングテーブルネットワークACL関連しています。

次に、サービス(例えばEC2インスタンス)に接続されたネットワークインターフェースは、セキュリティグループと共にサブネットワーク接続されます。

したがって、セキュリティグループは、サブネットワークに関係なく、それを使用するネットワークインターフェースの公開ポートを制限します。そして、ネットワークACL全体のネットワークに対して公開ポートを制限します。

さらに、インターネットにアクセスするために、以下のような興味深い設定があります:

  • サブネットワーク自動的にパブリックIPv4アドレスを割り当てることができます

  • インスタンスは、IPv4アドレスを自動割り当てするネットワークで作成されると、IPv4アドレスを取得できます

  • インターネットゲートウェイVPCに接続する必要があります

  • Egress-onlyインターネットゲートウェイを使用することもできます

  • プライベートサブネットNATゲートウェイを持つこともでき、プライベートサブネットから外部サービスに接続することが可能ですが、外部からそれらに到達することはできません

  • NATゲートウェイはパブリック(インターネットへのアクセス)またはプライベート(他のVPCへのアクセス)にすることができます

VPC

Amazon Virtual Private Cloud (Amazon VPC)は、定義した仮想ネットワークにAWSリソースを起動することを可能にします。この仮想ネットワークには、いくつかのサブネット、インターネットゲートウェイ、ACL、セキュリティグループ、IPアドレスなどが含まれます。

Subnets

サブネットは、より高いレベルのセキュリティを強化するのに役立ちます。同様のリソースの論理的なグループ化は、インフラ全体の管理の容易さを維持するのにも役立ちます。

  • 有効なCIDRは/16ネットマスクから/28ネットマスクまでです。

  • サブネットは同時に異なるアベイラビリティゾーンに存在することはできません。

  • AWSは各サブネットの最初の3つのホストIPアドレスを内部AWS使用のために予約しています:最初のホストアドレスはVPCルーターに使用されます。2番目のアドレスはAWS DNSに予約され、3番目のアドレスは将来の使用に予約されています。

  • インターネットに直接アクセスできるサブネットをパブリックサブネットと呼び、プライベートサブネットはそうではありません。

Route Tables

ルートテーブルは、VPC内のサブネットのトラフィックルーティングを決定します。これらは、ネットワークトラフィックがインターネットまたはVPN接続に転送されるかどうかを決定します。通常、以下へのアクセスが見られます:

  • ローカルVPC

  • NAT

  • インターネットゲートウェイ / Egress-onlyインターネットゲートウェイ(VPCにインターネットアクセスを提供するために必要)

  • サブネットをパブリックにするためには、インターネットゲートウェイを作成してVPCに接続する必要があります。

  • VPCエンドポイント(プライベートネットワークからS3にアクセスするため)

以下の画像では、デフォルトのパブリックネットワークとプライベートネットワークの違いを確認できます:

ACLs

Network Access Control Lists (ACLs): ネットワークACLは、サブネットへの入出力ネットワークトラフィックを制御するファイアウォールルールです。特定のIPアドレスまたは範囲へのトラフィックを許可または拒否するために使用できます。

  • セキュリティグループを使用してアクセスを許可/拒否することが最も一般的ですが、これは確立されたリバースシェルを完全に切断する唯一の方法です。セキュリティグループの変更されたルールは、既に確立された接続を停止しません。

  • ただし、これはサブネット全体に適用されるため、必要な機能が妨げられる可能性があるため、禁止する際には注意が必要です。

Security Groups

セキュリティグループは、VPC内のインスタンスへの入出力ネットワークトラフィックを制御する仮想ファイアウォールです。1つのSGに対して複数のインスタンス(通常は1対1)の関係があります。 通常、これはインスタンスの危険なポートを開くために使用されます。例えば、ポート22など:

Elastic IP Addresses

_Elastic IP address_は、動的クラウドコンピューティング用に設計された静的IPv4アドレスです。Elastic IPアドレスはAWSアカウントに割り当てられ、リリースするまであなたのものです。Elastic IPアドレスを使用することで、インスタンスやソフトウェアの障害を迅速に他のインスタンスに再マッピングすることで隠すことができます。

Connection between subnets

デフォルトでは、すべてのサブネットは自動的にパブリックIPアドレスの割り当てがオフになっていますが、オンにすることができます。

ルートテーブル内のローカルルートは、VPCサブネット間の通信を可能にします。

異なるサブネットと接続している場合、他のサブネットと接続しているサブネットにアクセスすることはできません。直接接続を作成する必要があります。これはインターネットゲートウェイにも適用されます。サブネット接続を通じてインターネットにアクセスすることはできません。インターネットゲートウェイをサブネットに割り当てる必要があります。

VPC Peering

VPCピアリングは、2つ以上のVPCを接続し、IPV4またはIPV6を使用して、同じネットワークの一部であるかのように接続します。

ピア接続が確立されると、1つのVPCのリソースが他のVPCのリソースにアクセスできます。VPC間の接続は既存のAWSネットワークインフラストラクチャを通じて実装されるため、非常に高い可用性があり、帯域幅のボトルネックはありません。ピア接続は同じネットワークの一部として機能するため、使用できるCIDRブロック範囲に制限があります。 重複または重なり合うCIDR範囲がある場合、VPCをピアリングすることはできません。 各AWS VPCはピアとだけ通信します。例えば、VPC 1とVPC 2の間にピア接続があり、VPC 2とVPC 3の間に別の接続がある場合、VPC 1と2は直接通信でき、VPC 2とVPC 3も同様ですが、VPC 1とVPC 3は通信できません。1つのVPCを経由して他のVPCにルーティングすることはできません。

VPC Flow Logs

VPC内には、数百または数千のリソースがあり、パブリックおよびプライベートの異なるサブネット間で通信し、VPCピアリング接続を通じて異なるVPC間で通信する可能性があります。VPC Flow Logsは、VPC内のリソースのネットワークインターフェース間を流れるIPトラフィック情報をキャプチャすることを可能にします

S3アクセスログやCloudFrontアクセスログとは異なり、VPC Flow Logsによって生成されたログデータはS3に保存されません。代わりに、キャプチャされたログデータはCloudWatchログに送信されます

制限事項:

  • VPCピア接続を実行している場合、同じアカウント内のピアVPCのフローログのみを見ることができます。

  • EC2-Classic環境内でリソースを実行している場合、そのインターフェースから情報を取得することはできません。

  • VPC Flow Logが作成された後、変更することはできません。VPC Flow Logの設定を変更するには、削除して新しいものを再作成する必要があります。

  • 次のトラフィックはログによって監視およびキャプチャされません。VPC内のDHCPトラフィック、Amazon DNSサーバー宛のインスタンスからのトラフィック。

  • VPCデフォルトルーターのIPアドレス宛のトラフィック、および次のアドレス宛のトラフィック、169.254.169.254(インスタンスメタデータの収集に使用)、169.254.169.123(Amazon Time Sync Serviceに使用)。

  • Amazon Windowsアクティベーションライセンスに関連するトラフィック(Windowsインスタンスから)。

  • ネットワークロードバランサーインターフェースとエンドポイントネットワークインターフェース間のトラフィック。

CloudWatchロググループにデータを公開する各ネットワークインターフェースには、異なるログストリームが使用されます。これらのストリーム内には、ログエントリの内容を示すフローログイベントデータがあります。これらのログは約10〜15分のウィンドウ内でデータをキャプチャします

VPN

Basic AWS VPN Components

  1. Customer Gateway:

  • Customer Gatewayは、VPN接続のあなた側を表すためにAWSで作成するリソースです。

  • これは、Site-to-Site VPN接続のあなた側の物理デバイスまたはソフトウェアアプリケーションです。

  • ルーティング情報とネットワークデバイス(ルーターやファイアウォールなど)のパブリックIPアドレスをAWSに提供してCustomer Gatewayを作成します。

  • VPN接続の設定の参照ポイントとして機能し、追加料金は発生しません。

  1. Virtual Private Gateway:

  • Virtual Private Gateway (VPG)は、Site-to-Site VPN接続のAmazon側のVPNコンセントレーターです。

  • VPCに接続され、VPN接続のターゲットとして機能します。

  • VPGは、VPN接続のAWS側のエンドポイントです。

  • VPCとオンプレミスネットワーク間の安全な通信を処理します。

  1. Site-to-Site VPN Connection:

  • Site-to-Site VPN接続は、セキュアなIPsec VPNトンネルを介してオンプレミスネットワークをVPCに接続します。

  • このタイプの接続には、Customer GatewayとVirtual Private Gatewayが必要です。

  • データセンターやネットワークとAWS環境間の安全で安定した一貫した通信に使用されます。

  • 通常、定期的で長期的な接続に使用され、接続を介して転送されるデータ量に基づいて課金されます。

  1. Client VPN Endpoint:

  • Client VPNエンドポイントは、クライアントVPNセッションを有効にし、管理するためにAWSで作成するリソースです。

  • 個々のデバイス(ラップトップ、スマートフォンなど)がAWSリソースまたはオンプレミスネットワークに安全に接続するために使用されます。

  • Site-to-Site VPNとは異なり、ネットワーク全体を接続するのではなく、個々のクライアント用に設計されています。

  • Client VPNでは、各クライアントデバイスがVPNクライアントソフトウェアを使用して安全な接続を

Last updated