GCP - VPC & Networking

Reading time: 8 minutes

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする

GCPコンピュートネットワーキングの概要

VPCは、VPCへの着信トラフィックを許可するファイアウォールルールを含みます。VPCはまた、仮想マシン接続されるサブネットワークを含みます。
AWSと比較すると、ファイアウォールAWSセキュリティグループとNACLに最も近いものですが、この場合、これらは各インスタンスではなくVPC内で定義されています。

GCPのVPC、サブネットワークおよびファイアウォール

コンピュートインスタンスは、VPCの一部であるサブネットワークに接続されています(Virtual Private Clouds)。GCPにはセキュリティグループはなく、VPCファイアウォールがあり、これらのルールはこのネットワークレベルで定義され、各VMインスタンスに適用されます。

サブネットワーク

VPC複数のサブネットワークを持つことができます。各サブネットワークは1つのリージョンにあります。

ファイアウォール

デフォルトでは、すべてのネットワークには2つの暗黙のファイアウォールルールがあります:アウトバウンドを許可し、インバウンドを拒否します。

GCPプロジェクトが作成されると、**default**というVPCも作成され、以下のファイアウォールルールが設定されます:

  • default-allow-internal: defaultネットワーク上の他のインスタンスからのすべてのトラフィックを許可
  • default-allow-ssh: どこからでも22を許可
  • default-allow-rdp: どこからでも3389を許可
  • default-allow-icmp: どこからでもpingを許可

warning

ご覧のとおり、ファイアウォールルール内部IPアドレスに対してより許可的になる傾向があります。デフォルトのVPCは、コンピュートインスタンス間のすべてのトラフィックを許可します。

デフォルトのVPCまたは新しいVPCのために、さらにファイアウォールルールを作成できます。ファイアウォールルールは、以下の方法でインスタンスに適用できます:

残念ながら、インターネット上のオープンポートを持つすべてのコンピュートインスタンスを出力する簡単なgcloudコマンドはありません。ファイアウォールルール、ネットワークタグ、サービスアカウント、およびインスタンスの間の関連をつなぐ必要があります。

このプロセスは、このpythonスクリプトを使用して自動化され、以下をエクスポートします:

  • インスタンス、パブリックIP、許可されたTCP、許可されたUDPを示すCSVファイル
  • パブリックインターネットから許可されたポートでターゲットとするすべてのインスタンスへのnmapスキャン(0.0.0.0/0)
  • パブリックインターネットからすべてのTCPポートを許可するインスタンスのTCP範囲全体をターゲットとするmasscan(0.0.0.0/0)

階層的ファイアウォールポリシー

_階層的ファイアウォールポリシー_を使用すると、組織全体で一貫したファイアウォールポリシーを作成および適用できます。階層的ファイアウォールポリシーを組織全体または個々のフォルダーに割り当てることができます。これらのポリシーには、接続を明示的に拒否または許可するルールが含まれています。

ファイアウォールポリシーは、別々のステップとして作成および適用します。ファイアウォールポリシーは、リソース階層組織またはフォルダーノードで作成および適用できます。ファイアウォールポリシールールは、接続をブロック、接続を許可、またはファイアウォールルールの評価を下位フォルダーまたはVPCネットワークで定義されたVPCファイアウォールルールに委任できます。

デフォルトでは、すべての階層的ファイアウォールポリシールールは、ポリシーが関連付けられている組織またはフォルダーのすべてのプロジェクト内のすべてのVMに適用されます。ただし、ターゲットネットワークまたはターゲットサービスアカウントを指定することで、特定のルールを受け取るVMを制限できます。

ここで、階層的ファイアウォールポリシーを作成する方法を読むことができます。

ファイアウォールルールの評価

  1. Org: 組織に割り当てられたファイアウォールポリシー
  2. フォルダー: フォルダーに割り当てられたファイアウォールポリシー
  3. VPC: VPCに割り当てられたファイアウォールルール
  4. グローバル: VPCに割り当てることができる別のタイプのファイアウォールルール
  5. リージョナル: VMのNICおよびVMのリージョンに関連付けられたVPCネットワークのファイアウォールルール。

VPCネットワークピアリング

2つの仮想プライベートクラウド(VPC)ネットワークを接続し、各ネットワーク内のリソースが互いに通信できるようにします。
ピアリングされたVPCネットワークは、同じプロジェクト内、同じ組織の異なるプロジェクト、または異なる組織の異なるプロジェクトに存在できます。

必要な権限は次のとおりです:

  • compute.networks.addPeering
  • compute.networks.updatePeering
  • compute.networks.removePeering
  • compute.networks.listPeeringRoutes

ドキュメントでの詳細

参考文献

tip

AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE)
GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE) Azureハッキングを学び、実践する:HackTricks Training Azure Red Team Expert (AzRTE)

HackTricksをサポートする