GCP - VPC & Networking
GCP Compute Networking im Überblick
VPCs enthalten Firewall-Regeln, um eingehenden Datenverkehr zum VPC zuzulassen. VPCs enthalten auch Subnetzwerke, in denen virtuelle Maschinen verbunden werden. Im Vergleich zu AWS wäre die Firewall das nächste an AWS-Sicherheitsgruppen und NACLs, aber in diesem Fall sind diese im VPC definiert und nicht in jeder Instanz.
VPC, Subnetzwerke & Firewalls in GCP
Compute-Instanzen sind mit Subnetzwerken verbunden, die Teil von VPCs (Virtual Private Clouds) sind. In GCP gibt es keine Sicherheitsgruppen, sondern VPC-Firewalls mit Regeln, die auf dieser Netzwerkebene definiert sind, aber auf jede VM-Instanz angewendet werden.
Subnetzwerke
Ein VPC kann mehrere Subnetzwerke haben. Jedes Subnetzwerk befindet sich in einer Region.
Firewalls
Standardmäßig hat jedes Netzwerk zwei implizite Firewall-Regeln: Erlaube ausgehenden und Verweigere eingehenden Datenverkehr.
Wenn ein GCP-Projekt erstellt wird, wird auch ein VPC namens default
erstellt, mit den folgenden Firewall-Regeln:
default-allow-internal: erlaube allen Datenverkehr von anderen Instanzen im
default
-Netzwerkdefault-allow-ssh: erlaube 22 von überall
default-allow-rdp: erlaube 3389 von überall
default-allow-icmp: erlaube Ping von überall
Wie Sie sehen können, neigen Firewall-Regeln dazu, für interne IP-Adressen offener zu sein. Das Standard-VPC erlaubt allen Datenverkehr zwischen Compute-Instanzen.
Es können weitere Firewall-Regeln für das Standard-VPC oder für neue VPCs erstellt werden. Firewall-Regeln können auf Instanzen über die folgenden Methoden angewendet werden:
Alle Instanzen innerhalb eines VPCs
Leider gibt es keinen einfachen gcloud
-Befehl, um alle Compute-Instanzen mit offenen Ports im Internet anzuzeigen. Sie müssen die Verbindung 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 zeigt
nmap-Scan, um alle Instanzen auf Ports zu zielen, die von öffentlichen Internetverbindungen (0.0.0.0/0) erlaubt sind
masscan, um den vollständigen TCP-Bereich dieser Instanzen zu zielen, die ALLE TCP-Ports aus dem ö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 Organisation als Ganzes oder einzelnen Ordnern zuweisen. Diese Richtlinien enthalten Regeln, die Verbindungen explizit verweigern oder zulassen können.
Sie erstellen und wenden Firewall-Richtlinien als separate Schritte an. Sie können Firewall-Richtlinien an den Organisations- oder Ordnernodes der Ressourcenhierarchie erstellen und anwenden. Eine Firewall-Richtlinienregel kann Verbindungen blockieren, Verbindungen zulassen oder die Auswertung von Firewall-Regeln an untergeordnete Ordner oder VPC-Firewall-Regeln in VPC-Netzwerken delegieren.
Standardmäßig gelten alle hierarchischen Firewall-Richtlinienregeln für alle VMs in allen Projekten unter der Organisation oder dem Ordner, in dem die Richtlinie zugeordnet ist. Sie können jedoch einschränken, welche VMs eine bestimmte Regel erhalten, indem Sie Zielnetzwerke oder Ziel-Dienstkonten angeben.
Hier erfahren Sie, wie Sie eine hierarchische Firewall-Richtlinie erstellen.
Auswertung von Firewall-Regeln
Org: Firewall-Richtlinien, die der Organisation zugewiesen sind
Ordner: Firewall-Richtlinien, die dem Ordner zugewiesen sind
VPC: Firewall-Regeln, die dem VPC zugewiesen sind
Global: Ein weiterer Typ von Firewall-Regeln, die VPCs zugewiesen werden können
Regional: Mit dem VPC-Netzwerk des NIC der VM und der Region der VM verbundene Firewall-Regeln.
VPC-Netzwerk-Peering
Ermöglicht die Verbindung von zwei Virtual Private Cloud (VPC)-Netzwerken, damit Ressourcen in jedem Netzwerk miteinander kommunizieren können. Gepaarte VPC-Netzwerke können im selben Projekt, in verschiedenen Projekten derselben Organisation oder in verschiedenen Projekten verschiedener Organisationen sein.
Folgende Berechtigungen sind erforderlich:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
Referenzen
Last updated