GCP - VPC & Networking

Support HackTricks

GCP Compute Networking in a Nutshell

VPCsには、VPCへの着信トラフィックを許可するFirewallルールが含まれています。VPCsには、仮想マシン接続される subnetworksも含まれています。 AWSと比較すると、FirewallAWSSecurity Groups and NACLsに最も近いものですが、この場合、これらは各インスタンスではなくVPCに定義されています。

VPC, Subnetworks & Firewalls in GCP

Compute InstancesはVPCsVirtual Private Clouds)の一部であるsubnetworksに接続されています。GCPにはセキュリティグループはなく、VPC firewallsがあり、ネットワークレベルで定義されたルールが各VMインスタンスに適用されます。

Subnetworks

VPC複数のsubnetworksを持つことができます。各subnetworkは1つのリージョンにあります。

Firewalls

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

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

  • default-allow-internal: defaultネットワーク上の他のインスタンスからのすべてのトラフィックを許可

  • default-allow-ssh: どこからでも22を許可

  • default-allow-rdp: どこからでも3389を許可

  • default-allow-icmp: どこからでもpingを許可

ご覧のとおり、ファイアウォールルール内部IPアドレスに対してより寛容である傾向があります。デフォルトのVPCは、Compute Instances間のすべてのトラフィックを許可します。

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

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

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

  • インスタンス、パブリックIP、許可されたTCP、許可されたUDPを示すCSVファイル

  • パブリックインターネット(0.0.0.0/0)からの着信が許可されているポートでのすべてのインスタンスをターゲットとするnmapスキャン

  • パブリックインターネット(0.0.0.0/0)からすべてのTCPポートが許可されているインスタンスの完全なTCP範囲をターゲットとするmasscan

Hierarchical Firewall Policies

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

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

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

階層的なファイアウォールポリシーを作成する方法についてはこちらを参照してください。

Firewall Rules Evaluation

  1. Org: 組織に割り当てられたファイアウォールポリシー

  2. Folder: フォルダーに割り当てられたファイアウォールポリシー

  3. VPC: VPCに割り当てられたファイアウォールルール

  4. Global: VPCに割り当てられる別のタイプのファイアウォールルール

  5. Regional: VMのNICおよびリージョンのVPCネットワークに関連付けられたファイアウォールルール

VPC Network Peering

2つのVirtual Private Cloud (VPC)ネットワークを接続し、各ネットワークのリソースが相互に通信できるようにします。 ピアリングされたVPCネットワークは、同じプロジェクト、同じ組織の異なるプロジェクト、または異なる組織の異なるプロジェクトに存在することができます。

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

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

詳細はドキュメントで

References

Support HackTricks

Last updated