GCP - VPC & Networking

Reading time: 5 minutes

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks

GCP Compute Networking in a Nutshell

VPCs enthalten Firewall-Regeln, um eingehenden Verkehr zur VPC zuzulassen. VPCs enthalten auch Subnetze, in denen virtuelle Maschinen verbunden werden.
Im Vergleich zu AWS wäre die Firewall das nächste Äquivalent zu AWS Sicherheitsgruppen und NACLs, aber in diesem Fall sind diese in der VPC definiert und nicht in jeder Instanz.

VPC, Subnetze & Firewalls in GCP

Compute-Instanzen sind mit Subnetzen verbunden, die Teil von VPCs sind (Virtual Private Clouds). In GCP gibt es keine Sicherheitsgruppen, es gibt VPC-Firewalls mit Regeln, die auf dieser Netzwerktebene definiert, aber auf jede VM-Instanz angewendet werden.

Subnetze

Eine VPC kann mehrere Subnetze haben. Jedes Subnetz befindet sich in 1 Region.

Firewalls

Standardmäßig hat jedes Netzwerk zwei implizierte Firewall-Regeln: ausgehenden Verkehr zulassen und eingehenden Verkehr verweigern.

Wenn ein GCP-Projekt erstellt wird, wird auch eine VPC namens default erstellt, mit den folgenden Firewall-Regeln:

  • default-allow-internal: erlaubt allen Verkehr von anderen Instanzen im default-Netzwerk
  • default-allow-ssh: erlaubt 22 von überall
  • default-allow-rdp: erlaubt 3389 von überall
  • default-allow-icmp: erlaubt Ping von überall

warning

Wie Sie sehen können, tendieren Firewall-Regeln dazu, permissiver für interne IP-Adressen zu sein. Die Standard-VPC erlaubt allen Verkehr zwischen Compute-Instanzen.

Weitere Firewall-Regeln können für die Standard-VPC oder für neue VPCs erstellt werden. Firewall-Regeln können über die folgenden Methoden auf Instanzen angewendet werden:

Leider gibt es keinen einfachen gcloud-Befehl, um alle Compute-Instanzen mit offenen Ports im Internet anzuzeigen. Sie müssen die Verbindungen zwischen Firewall-Regeln, Netzwerk-Tags, Dienstkonten und Instanzen herstellen.

Dieser Prozess wurde mit diesem Python-Skript automatisiert, das Folgendes exportiert:

  • CSV-Datei, die Instanz, öffentliche IP, erlaubtes TCP, erlaubtes UDP anzeigt
  • nmap-Scan, um alle Instanzen auf Ports zu scannen, die vom öffentlichen Internet (0.0.0.0/0) eingehend erlaubt sind
  • masscan, um den gesamten TCP-Bereich dieser Instanzen zu scannen, die ALLE TCP-Ports vom öffentlichen Internet (0.0.0.0/0) erlauben

Hierarchische Firewall-Richtlinien

Hierarchische Firewall-Richtlinien ermöglichen es Ihnen, eine konsistente Firewall-Richtlinie in Ihrer Organisation zu erstellen und durchzusetzen. Sie können hierarchische Firewall-Richtlinien der gesamten Organisation oder einzelnen Ordnern zuweisen. Diese Richtlinien enthalten Regeln, die Verbindungen ausdrücklich verweigern oder zulassen können.

Sie erstellen und wenden Firewall-Richtlinien in separaten Schritten an. Sie können Firewall-Richtlinien an den Organisations- oder Ordnerknoten der Ressourcenhierarchie erstellen und anwenden. Eine Regel der Firewall-Richtlinie kann Verbindungen blockieren, Verbindungen zulassen oder die Bewertung der Firewall-Regel an niedrigere Ordner oder VPC-Firewall-Regeln, die in VPC-Netzwerken definiert sind, verschieben.

Standardmäßig gelten alle Regeln der hierarchischen Firewall-Richtlinie für alle VMs in allen Projekten unter der Organisation oder dem Ordner, mit dem die Richtlinie verknüpft ist. Sie können jedoch einschränken, welche VMs eine bestimmte Regel erhalten, indem Sie Zielnetzwerke oder Ziel-Dienstkonten angeben.

Hier können Sie lesen, wie Sie eine hierarchische Firewall-Richtlinie erstellen.

Bewertung der Firewall-Regeln

  1. Org: Firewall-Richtlinien, die der Organisation zugewiesen sind
  2. Ordner: Firewall-Richtlinien, die dem Ordner zugewiesen sind
  3. VPC: Firewall-Regeln, die der VPC zugewiesen sind
  4. Global: Eine andere Art von Firewall-Regeln, die VPCs zugewiesen werden können
  5. Regional: Firewall-Regeln, die mit dem VPC-Netzwerk der VM's NIC und der Region der VM verbunden sind.

VPC-Netzwerk-Peering

Ermöglicht die Verbindung von zwei Virtual Private Cloud (VPC)-Netzwerken, sodass Ressourcen in jedem Netzwerk miteinander kommunizieren können.
Peered VPC-Netzwerke können im selben Projekt, in verschiedenen Projekten derselben Organisation oder in verschiedenen Projekten verschiedener Organisationen sein.

Dies sind die benötigten Berechtigungen:

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

Mehr in den Dokumenten.

Referenzen

tip

Lernen & üben Sie AWS Hacking:HackTricks Training AWS Red Team Expert (ARTE)
Lernen & üben Sie GCP Hacking: HackTricks Training GCP Red Team Expert (GRTE) Lernen & üben Sie Azure Hacking: HackTricks Training Azure Red Team Expert (AzRTE)

Unterstützen Sie HackTricks