In unserer vernetzten Welt fließen Daten ungehindert zwischen Netzwerken und Systemen. Umso wichtiger ist es, sensible Informationen mit robusten Sicherheitsmaßnahmen zu schützen. Während die Filterung des eingehenden Datenverkehrs viel Aufmerksamkeit erhält, wird die Bedeutung der Egress-Filterung oft unterschätzt. Mit Egress-Filterung steuern Unternehmen die ausgehende Netzwerkkommunikation und stellen sicher, dass nur autorisierte und sichere Verbindungen zustande kommen.
Eine der gängigsten Techniken für die Egress-Filterung ist das Filtern nach Fully Qualified Domain Name (FQDN). So erhalten Administratoren präzise Kontrolle über ausgehenden Datenverkehr anhand von Domainnamen. In Kombination mit der Firewall Policy der Google Cloud Platform (GCP) sichern und verwalten Unternehmen ihre Netzwerk-Egress-Punkte besonders zuverlässig.
In diesem Blogpost zeigen wir Schritt für Schritt, wie Sie die FQDN-Egress-Filterung in GCP mithilfe von FQDN-Objekten in den Firewall-Policy-Regeln umsetzen. Die Firewall Policy ist eine eigenständige Funktion der Cloud Firewall und bietet im Vergleich zu den VPC-Firewall-Regeln deutlich mehr Möglichkeiten.
Die FQDN-Objekt-Funktion in den Firewall-Policy-Regeln befindet sich derzeit in der Preview; der GCP-Support gewährt dafür weder SLAs noch technische Support-Zusagen.
Was ist eine Firewall Policy?
Die Firewall Policy der Google Cloud Platform (GCP) ist eine Funktion für die Netzwerksicherheit, mit der sich zentrale Firewall-Regeln für Virtual-Machine-Instanzen (VM) und VPC-Netzwerke (Virtual Private Cloud) definieren und durchsetzen lassen.
Sie liefert einen einheitlichen, skalierbaren Ansatz für die Steuerung des Netzwerkverkehrs: Ein- und ausgehende Kommunikation lässt sich kontrollieren, Datenverkehr nach unterschiedlichen Kriterien filtern und das Sicherheitsniveau insgesamt anheben.
Mit der Firewall Policy lassen sich feingranulare Regeln festlegen, die anhand von IP-Bereichen, Ports, Protokollen und sogar Fully Qualified Domain Names (FQDNs) bestimmen, welcher Datenverkehr zugelassen oder blockiert wird. So etablieren Sie einen sicheren Netzwerkperimeter und schützen Ihre Cloud-Ressourcen vor unbefugtem Zugriff und schädlichen Aktivitäten.
Die wichtigsten Funktionen und Vorteile der GCP Firewall Policy im Überblick:
- Zentrale Verwaltung: Firewall-Regeln lassen sich projekt-, regions- und VPC-übergreifend über eine einzige Oberfläche verwalten und konfigurieren – das vereinfacht Netzwerksicherheitsrichtlinien erheblich.
- Flexible Regeldefinitionen: Mit der Cloud Firewall Policy definieren Sie Regeln auf Basis von IP-Adressen, IP-Bereichen, Ports, Protokollen und FQDNs. Diese Flexibilität ermöglicht eine granulare Kontrolle über ein- und ausgehenden Datenverkehr und damit hochspezifische Sicherheitsrichtlinien.
- Dynamische Aktualisierungen: Sie passen Firewall-Regeln in Echtzeit an und reagieren so auf veränderte Sicherheitsanforderungen, ohne den laufenden Netzwerkverkehr zu unterbrechen.
- Integration mit Google Cloud Services: Die Cloud Firewall Policy integriert sich nahtlos in andere Google-Cloud-Dienste wie VPC-Netzwerke, Load Balancer und VM-Instanzen und sorgt für konsistente Sicherheitskontrollen über die gesamte Infrastruktur hinweg.
- Logging und Monitoring: Die Cloud Firewall Policy bietet detaillierte Logging- und Monitoring-Funktionen, mit denen Sie den Netzwerkverkehr einsehen, Sicherheitsereignisse analysieren und Probleme effizient beheben.
Referenzarchitektur

Beispielhaftes Setup
Implementierungsschritte für die Referenzarchitektur
- Private Google Access einrichten
- Cloud NAT für Internetzugriff
- Firewall-Policy-Regeln einrichten
Private Google Access einrichten
Private Google Access ermöglicht Ressourcen innerhalb eines Virtual-Private-Cloud-Netzwerks (VPC) den Zugriff auf Google-Dienste über private IP-Adressen, ohne dass eine externe Internetverbindung nötig ist.
Außerdem richten wir Private Google Access mit der Domain private.googleapis.com oder restricted.googleapis.com ein, damit Anfragen an Google-APIs ausschließlich innerhalb der Google Cloud geroutet werden.
Private Google Access wird pro Subnetz aktiviert. Aktivieren Sie die Funktion auf einem bestehenden Subnetz und passen Sie die Variablen entsprechend an.
gcloud config set project $PROJECT_ID
gcloud compute networks subnets update $SUBNET_NAME \
--region=$REGION \
--enable-private-ip-google-access

Für dieses Setup legen wir Cloud-DNS-Zonen für private.googleapis.com an. Verwenden Sie restricted.googleapis.com, wenn Sie VPC Service Controls einsetzen. Weitere Details finden Sie unter Domain options.
Legen Sie eine private DNS-Zone für googleapis.com an:
gcloud dns managed-zones create googleapis-com \
--dns-name=googleapis.com. \
--description="googleapis-com domain for PGA" \
--visibility=private \
--networks=$NETWORK_NAME

Legen Sie einen A-Record für private.googleapis.com an, der auf folgende IP-Adressen verweist: 199.36.153.8, 199.36.153.9, 199.36.153.10, 199.36.153.11.
gcloud dns record-sets create "private.googleapis.com." \
--type="A" \
--ttl="300" \
--rrdatas="199.36.153.8,199.36.153.9,199.36.153.10,199.36.153.11" \
--zone="googleapis-com"
Legen Sie einen CNAME-Record für *.googleapis.com an, der auf die zuvor konfigurierte Domain private.googleapis.com verweist.
gcloud dns record-sets create "*.googleapis.com." \
--type="CNAME" \
--ttl="300" \
--rrdatas="private.googleapis.com." \
--zone="googleapis-com"

Einige Google-APIs und -Dienste werden über zusätzliche Domainnamen bereitgestellt, darunter *.gcr.io, *.gstatic.com, *.pkg.dev und pki.goog.
Prüfen Sie in der Tabelle domain and IP address ranges unter Domain options, ob die Dienste der zusätzlichen Domain über private.googleapis.com oder restricted.googleapis.com erreichbar sind. Wenn Sie etwa Google Kubernetes Engine (GKE) nutzen, müssen Sie zusätzlich private Zonen für *.gcr.io und *.pkg.dev in Cloud DNS konfigurieren.
Cloud NAT einrichten
Cloud NAT ist ein verteilter, software-definierter Managed Service, mit dem Ressourcen ohne externe IP-Adresse ausgehende Verbindungen ins Internet aufbauen können. Statt des Standard-Internet-Gateways empfiehlt sich Cloud NAT, um den ausgehenden Datenverkehr gezielt zu steuern.
Legen Sie einen Cloud Router in der gewünschten Region an.
gcloud compute routers create cloud-firewall-policy-demo-cloud-nat \
--network=$NETWORK_NAME \
--region=$REGION
Erstellen Sie das Cloud-NAT-Gateway.
gcloud compute routers nats create cloud-firewall-policy-demo-cloud-nat \
--router=cloud-firewall-policy-demo-cloud-nat \
--region=$REGION \
--auto-allocate-nat-external-ips \
--nat-all-subnet-ip-ranges

Beispielhafte Cloud-NAT-Konfiguration
Firewall-Policy-Regeln einrichten
Es gibt drei Arten von Firewall Policies:
- Mit Hierarchical Firewall Policies setzen Sie eine konsistente Firewall-Richtlinie für Ihre gesamte Organisation durch. Sie lassen sich der Organisation als Ganzes oder einzelnen Ordnern zuweisen.
- Global Network Firewall Policies bündeln alle Firewall-Regeln in einem einzigen Policy-Objekt und ermöglichen Massenupdates – die Regeln gelten für alle Regionen.
- Mit Regional Network Firewall Policies setzen Sie eine konsistente Firewall-Richtlinie über alle Subnetze einer Region innerhalb Ihres VPC-Netzwerks durch.
Legen Sie für dieses Setup eine Global Network Firewall Policy an.
gcloud compute network-firewall-policies create global-demo-firewall-policy \
--global
Verknüpfen Sie die Firewall Policy mit dem Zielnetzwerk.
gcloud compute network-firewall-policies associations create \
--firewall-policy=global-demo-firewall-policy \
--network=$NETWORK_NAME --global-firewall-policy

Standard-Firewall-Regeln sind Bestandteil der Policy

Verknüpfung des Netzwerks mit der Policy
Damit sind alle Ressourcen vorhanden, um die FQDN-Egress-Filterung über FQDN-Objekte in den Firewall-Policy-Regeln durchzusetzen. Im nächsten Schritt fügen wir der Firewall Policy die nötigen Regeln hinzu.
Aktuell gelten keinerlei Einschränkungen für ausgehenden Datenverkehr; Instanzen im Netzwerk haben uneingeschränkten Internetzugriff.


Für dieses Setup erlauben wir ausgehenden Datenverkehr ausschließlich zu www.example.com sowie zu den öffentlichen IP-Adressen von private.googleapis.com und blockieren den übrigen Internetverkehr.
Legen Sie eine Default-Ingress-Allow-Regel an. Eingehender Zugriff ist damit uneingeschränkt erlaubt – passen Sie die Regel nach Bedarf an.
gcloud compute network-firewall-policies rules create 1001 \
--firewall-policy="global-demo-firewall-policy" \
--action="allow" \
--direction="INGRESS" \
--description="Allow ingress traffic" \
--src-ip-ranges="0.0.0.0/0" \
--layer4-configs="all" \
--global-firewall-policy
Legen Sie eine Firewall-Regel an, die die Kommunikation mit privaten IP-Bereichen erlaubt. Achten Sie darauf, dass die Regel auch alle weiteren in Ihrer Umgebung verwendeten privaten Bereiche abdeckt, damit die Kommunikation zwischen Instanzen ungestört bleibt.
gcloud compute network-firewall-policies rules create 999 \
--firewall-policy="global-demo-firewall-policy" -\
-action="allow" \
--direction="EGRESS" \
--description="Allow communication with private IP ranges" \
--dest-ip-ranges="10.0.0.0/8,172.16.0.0/12,192.168.0.0/16" \
--layer4-configs="all" \
--global-firewall-policy
Legen Sie eine Firewall-Policy-Regel an, die ausgehende Anfragen an die öffentlichen IPs von private.googleapis.com erlaubt – diese IPs sind ausschließlich innerhalb der Google Cloud routbar.
gcloud compute network-firewall-policies rules create 998 \
--firewall-policy="global-demo-firewall-policy" \
--action="allow" \
--direction="EGRESS" \
--description="Allow DNS resolution requests to private.googleapis.com" \
--dest-ip-ranges="199.36.153.8/32,199.36.153.9/32,199.36.153.10/32,199.36.153.11/32" \
--layer4-configs="tcp:443" \
--global-firewall-policy
Legen Sie eine Firewall-Policy-Regel an, die ausgehende Anfragen an www.example.com erlaubt.
gcloud compute network-firewall-policies rules create 997 \
--firewall-policy="global-demo-firewall-policy" \
--action="allow" \
--direction="EGRESS" \
--description="FQDN egress filtering rules" \
--dest-fqdns="www.example.com" \
--layer4-configs="tcp:80,tcp:443" \
--global-firewall-policy
Legen Sie eine Default-Egress-Deny-Regel an. Stellen Sie zuvor sicher, dass für die benötigten Domains und IP-Bereiche entsprechende Allow-Regeln existieren.
gcloud compute network-firewall-policies rules create 1000 \
--firewall-policy="global-demo-firewall-policy" \
--action="deny" \
--direction="EGRESS" \
--description="Deny all Egress traffic" \
--dest-ip-ranges="0.0.0.0/0" \
--layer4-configs="all" \
--global-firewall-policy
Konsolidierte Liste der Firewall-Policy-Regeln.

Es kann bis zu 30 Sekunden dauern, bis die Regeln greifen. Testen Sie anschließend die Netzwerkverbindung von der GCE-Instanz oder den GKE-Pods aus. Ausgehende Anfragen sind nur noch zu den in den Firewall-Policy-Regeln definierten Domains und IP-Bereichen erlaubt.

Testergebnisse nach Durchsetzung der Firewall-Policy-Regeln
In diesem Beispiel haben wir gezeigt, wie sich FQDN-Objekte in Firewall-Policy-Regeln für die Egress-Filterung nutzen lassen. Diese Methode hebt die Netzwerksicherheit deutlich und macht Egress-Punkte gezielt steuerbar.
Weitere Informationen zur Firewall Policy finden Sie auf der Produktseite.