GCP - VPC & Networking
Last updated
Last updated
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)
VPCは、VPCへの着信トラフィックを許可するファイアウォールルールを含みます。VPCはまた、仮想マシンが接続されるサブネットワークを含みます。 AWSと比較すると、ファイアウォールはAWSのセキュリティグループとNACLに最も近いものですが、この場合、これらはVPC内で定義され、各インスタンスではありません。
コンピュートインスタンスは、VPCの一部であるサブネットワークに接続されています(仮想プライベートクラウド)。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を許可
ご覧のとおり、ファイアウォールルールは内部IPアドレスに対してより許可的である傾向があります。デフォルトのVPCは、コンピュートインスタンス間のすべてのトラフィックを許可します。
デフォルトのVPCまたは新しいVPCのために、さらにファイアウォールルールを作成できます。ファイアウォールルールは、次の方法でインスタンスに適用できます:
VPC内のすべてのインスタンス
残念ながら、インターネット上のオープンポートを持つすべてのコンピュートインスタンスを出力する簡単なgcloud
コマンドはありません。ファイアウォールルール、ネットワークタグ、サービスアカウント、およびインスタンスの間の関連をつなぐ必要があります。
このプロセスは、次の内容をエクスポートするこのPythonスクリプトを使用して自動化されました:
インスタンス、パブリックIP、許可されたTCP、許可されたUDPを示すCSVファイル
パブリックインターネットから許可されたポートに対してすべてのインスタンスをターゲットにしたnmapスキャン
パブリックインターネットからすべてのTCPポートを許可するインスタンスのTCP範囲全体をターゲットにしたmasscan
_階層的ファイアウォールポリシー_を使用すると、組織全体で一貫したファイアウォールポリシーを作成および適用できます。階層的ファイアウォールポリシーを組織全体または個々のフォルダー**に割り当てることができます。これらのポリシーには、接続を明示的に拒否または許可するルールが含まれています。
ファイアウォールポリシーは、別々のステップとして作成および適用します。ファイアウォールポリシーは、リソース階層の組織またはフォルダーノードで作成および適用できます。ファイアウォールポリシールールは、接続をブロック、接続を許可、またはファイアウォールルールの評価を下位フォルダーまたはVPCネットワークで定義されたVPCファイアウォールルールに委任できます。
デフォルトでは、すべての階層的ファイアウォールポリシールールは、ポリシーが関連付けられている組織またはフォルダーのすべてのプロジェクト内のすべてのVMに適用されます。ただし、ターゲットネットワークまたはターゲットサービスアカウントを指定することで、特定のルールを受け取るVMを制限できます。
階層的ファイアウォールポリシーを作成する方法については、こちらをお読みください。
組織:組織に割り当てられたファイアウォールポリシー
フォルダー:フォルダーに割り当てられたファイアウォールポリシー
VPC:VPCに割り当てられたファイアウォールルール
グローバル:VPCに割り当てることができる別のタイプのファイアウォールルール
リージョナル:VMのNICおよびVMのリージョンに関連付けられたVPCネットワークのファイアウォールルール。
2つの仮想プライベートクラウド(VPC)ネットワークを接続し、各ネットワーク内のリソースが相互に通信できるようにします。 ピアリングされたVPCネットワークは、同じプロジェクト内、同じ組織の異なるプロジェクト、または異なる組織の異なるプロジェクトに存在できます。
必要な権限は次のとおりです:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
AWSハッキングを学び、実践する:HackTricks Training AWS Red Team Expert (ARTE) GCPハッキングを学び、実践する:HackTricks Training GCP Red Team Expert (GRTE)