AWS - VPC & Networking Basic Information

Support HackTricks

AWS Networking in a Nutshell

A VPC contains a network CIDR like 10.0.0.0/16 (with its routing table and network ACL).

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

次に、サービス(EC2インスタンスなど)に接続されたネットワークインターフェースは、セキュリティグループを使用してサブネット接続されます。

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

さらに、インターネットにアクセスするために確認すべきいくつかの興味深い設定があります:

  • サブネットパブリックIPv4アドレスを自動割り当てできます

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

  • インターネットゲートウェイ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

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

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

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

Security Groups

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

Elastic IP Addresses

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

Connection between subnets

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

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

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

VPC Peering

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

ピア接続が確立されると、1つのVPC内のリソースが他のリソースにアクセスできます。VPC間の接続は、既存のAWSネットワークインフラストラクチャを通じて実装されるため、高可用性で帯域幅のボトルネックはありません。ピア接続は同じネットワークの一部であるかのように動作するため、使用できるCIDRブロック範囲に制限があります。 VPCの重複または重なり合う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 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に使用)。

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

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

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

VPN

Basic AWS VPN Components

  1. Customer Gateway:

  • カスタマーゲートウェイは、VPN接続のあなたの側を表すためにAWSで作成するリソースです。

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

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

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

  1. Virtual Private Gateway:

  • 仮想プライベートゲートウェイ(VPG)は、サイト間VPN接続のAmazon側のVPN集中装置です。

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

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

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

  1. Site-to-Site VPN Connection:

  • サイト間VPN接続は、オンプレミスネットワークをVPCに安全なIPsec VPNトンネルを介して接続します。

  • このタイプの接続には、カスタマーゲートウェイと仮想プライベートゲートウェイが必要です。

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

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

  1. Client VPN Endpoint:

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

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

  • サイト間VPNとは異なり、個々のクライアント向けに設計されています。

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

Site-to-Site VPN

オンプレミスネットワークをVPCに接続します。

  • VPN接続:オンプレミス機器とVPC間の安全な接続。

  • VPNトンネル:顧客ネットワークからAWSへのデータが通過できる暗号化されたリンク。

各VPN接続には、同時に使用できる2つのVPNトンネルが含まれています。

  • カスタマーゲートウェイ:AWSに顧客ゲートウェイデバイスに関する情報を提供するAWSリソース。

  • カスタマーゲートウェイデバイス:サイト間VPN接続のあなたの側にある物理デバイスまたはソフトウェアアプリケーション。

  • 仮想プライベートゲートウェイ:サイト間VPN接続のAmazon側のVPN集中装置。サイト間VPN接続のAmazon側のゲートウェイとして仮想プライベートゲートウェイまたはトランジットゲートウェイを使用します。

  • トランジットゲートウェイ:VPCとオンプレミスネットワークを相互接続するために使用できるトランジットハブ。サイト間VPN接続のAmazon側のゲートウェイとしてトランジットゲートウェイまたは仮想プライベートゲートウェイを使用します。

Limitations

  • IPv6トラフィックは、仮想プライベートゲートウェイのVPN接続ではサポートされていません。

  • AWS VPN接続は、Path MTU Discoveryをサポートしていません。

さらに、サイト間VPNを使用する際には、次の点を考慮してください。

  • VPCを共通のオンプレミスネットワークに接続する場合、ネットワークのCIDRブロックが重複しないようにすることをお勧めします。

Client VPN

あなたのマシンからVPCに接続します

Concepts

  • クライアントVPNエンドポイント:クライアントVPNセッションを有効にし、管理するために作成および構成するリソースです。すべてのクライアントVPNセッションが終了するリソースです。

  • ターゲットネットワーク:クライアントVPNエンドポイントに関連付けるネットワークです。VPCのサブネットはターゲットネットワークです。サブネットをクライアントVPNエンドポイントに関連付けることで、VPNセッションを確立できます。高可用性のために、複数のサブネットをクライアントVPNエンドポイントに関連付けることができます。すべてのサブネットは同じVPCからでなければなりません。各サブネットは異なるアベイラビリティゾーンに属する必要があります。

  • ルート:各クライアントVPNエンドポイントには、利用可能な宛先ネットワークルートを説明するルートテーブルがあります。ルートテーブル内の各ルートは、特定のリソースまたはネットワークへのトラフィックのパスを指定します。

  • 認可ルール:認可ルールは、ネットワークにアクセスできるユーザーを制限します。指定されたネットワークに対して、アクセスを許可されているActive DirectoryまたはIDプロバイダー(IdP)グループを構成します。このグループに属するユーザーのみが指定されたネットワークにアクセスできます。デフォルトでは、認可ルールはありません。リソースやネットワークにアクセスできるようにするには、認可ルールを構成する必要があります。

  • クライアント:クライアントVPNエンドポイントに接続してVPNセッションを確立するエンドユーザー。エンドユーザーはOpenVPNクライアントをダウンロードし、作成したクライアントVPN構成ファイルを使用してVPNセッションを確立する必要があります。

  • クライアントCIDR範囲:クライアントIPアドレスを割り当てるためのIPアドレス範囲。クライアントVPNエンドポイントへの各接続には、クライアントCIDR範囲から一意のIPアドレスが割り当てられます。クライアントCIDR範囲を選択します。たとえば、10.2.0.0/16

  • クライアントVPNポート:AWSクライアントVPNは、TCPおよびUDPの両方でポート443および1194をサポートします。デフォルトはポート443です。

  • クライアントVPNネットワークインターフェース:サブネットをクライアントVPNエンドポイントに関連付けると、そのサブネットにクライアントVPNネットワークインターフェースが作成されます。クライアントVPNエンドポイントからVPCに送信されるトラフィックは、クライアントVPNネットワークインターフェースを介して送信されます。その後、ソースネットワークアドレス変換(SNAT)が適用され、クライアントCIDR範囲からのソースIPアドレスがクライアントVPNネットワークインターフェースIPアドレスに変換されます。

  • 接続ログ:クライアントVPNエンドポイントの接続イベントをログに記録するために接続ログを有効にできます。この情報を使用してフォレンジックを実行したり、クライアントVPNエンドポイントの使用状況を分析したり、接続の問題をデバッグしたりできます。

  • セルフサービスポータル:クライアントVPNエンドポイントのセルフサービスポータルを有効にできます。クライアントは、資格情報を使用してWebベースのポータルにログインし、クライアントVPNエンドポイント構成ファイルの最新バージョンをダウンロードしたり、AWSが提供するクライアントの最新バージョンをダウンロードしたりできます。

Limitations

  • クライアントCIDR範囲は、関連付けられたサブネットが存在するVPCのローカルCIDRと重複してはなりません。また、クライアントVPNエンドポイントのルートテーブルに手動で追加されたルートとも重複してはなりません。

  • クライアントCIDR範囲は、少なくとも/22のブロックサイズを持ち、/12を超えてはなりません

  • クライアントCIDR範囲内の一部のアドレスは、クライアントVPNエンドポイントの可用性モデルをサポートするために使用され、クライアントに割り当てることはできません。したがって、サポートする最大同時接続数を有効にするために必要なIPアドレスの2倍の数を含むCIDRブロックを割り当てることをお勧めします

  • クライアントCIDR範囲は、クライアントVPNエンドポイントを作成した後に変更することはできません

  • クライアントVPNエンドポイントに関連付けられたサブネットは同じVPC内でなければなりません

  • 同じアベイラビリティゾーンから複数のサブネットをクライアントVPNエンドポイントに関連付けることはできません

  • クライアントVPNエンドポイントは、専用テナンシーVPC内のサブネットの関連付けをサポートしていません

  • クライアントVPNはIPv4トラフィックのみをサポートします。

  • クライアントVPNは連邦情報処理基準(FIPS)に準拠していません

  • マルチファクター認証(MFA)がActive Directoryで無効になっている場合、ユーザーパスワードは次の形式であることはできません。

SCRV1:<base64_encoded_string>:<base64_encoded_string>
  • セルフサービスポータルは、相互認証を使用して認証されるクライアントには利用できません

Support HackTricks

Last updated