Hierarchische Firewallrichtlinie konfigurieren, um ausgehenden Traffic von einem bestimmten VPC-Netzwerk zuzulassen

Hier erfahren Sie, wie Sie eine hierarchische Firewallrichtlinie erstellen und konfigurieren, um ausgehenden Traffic von einem bestimmten VPC-Netzwerk (Virtual Private Cloud) in Ihrem Ordner an eine bestimmte IP-Adresse als Ziel zuzulassen. Die Firewallrichtlinie blockiert den gesamten anderen ausgehenden Traffic, der aus Ihrem Ordner stammt. Auf dieser Seite wird ein Beispiel für das Erstellen von zwei VPC-Netzwerken, VM-Instanzen in den VPC-Netzwerken, das Einrichten einer hierarchischen Firewallrichtlinie mit Firewallregeln und das Testen der Firewallrichtlinie erläutert.

Vorbereitung

Ordner erstellen

Erstellen Sie in Ihrer Organisation einen Ordner.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Klicken Sie auf Ordner erstellen.

  3. Geben Sie für Ordnername test-folder ein.

  4. Wählen Sie in der Liste Organisation den Namen Ihrer Organisationsressource aus.

  5. Klicken Sie im Feld Speicherort auf Durchsuchen und wählen Sie Ihre Organisationsressource aus.

  6. Klicken Sie auf Erstellen.

Projekt erstellen

Erstellen Sie ein Projekt in dem Ordner, den Sie im vorherigen Abschnitt erstellt haben.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Klicken Sie auf Projekt erstellen.

  3. Geben Sie für Projektname test-project ein.

  4. Wählen Sie ein Rechnungskonto für das Projekt aus.

  5. Wählen Sie in der Liste Organisation den Namen Ihrer Organisationsressource aus.

  6. Klicken Sie im Feld Speicherort auf Durchsuchen, maximieren Sie den Namen Ihrer Organisationsressource und wählen Sie test-folder aus.

  7. Klicken Sie auf Erstellen.

Zwei benutzerdefinierte VPC-Netzwerke mit IPv4-Subnetzen erstellen

Erstellen Sie in dem Projekt, das Sie im vorherigen Abschnitt erstellt haben, zwei VPC-Netzwerke im benutzerdefinierten Modus, myvpc mit einem Nur-IPv4-Subnetz und test-vpc mit zwei Nur-IPv4-Subnetzen.

  1. Wählen Sie in der Google Cloud Console auf der Seite der Projektauswahl test-project aus.

    Zur Projektauswahl

  2. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  3. Klicken Sie auf VPC-Netzwerk erstellen.

  4. Geben Sie für Name myvpc ein.

  5. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  6. Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest:

    • Name: Geben Sie myvpc-subnet-1 ein.
    • Region: Wählen Sie us-central1 aus.
    • IPv4-Bereich: Geben Sie 10.0.0.0/24 ein.
  7. Klicken Sie auf Fertig und dann auf Erstellen.

  8. Klicken Sie zum Erstellen eines weiteren VPC-Netzwerks auf VPC-Netzwerk erstellen.

  9. Geben Sie für Name test-vpc ein.

  10. Wählen Sie unter Modus für Subnetzerstellung die Option Benutzerdefiniert aus.

  11. Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest und klicken Sie dann auf Fertig:

    • Name: Geben Sie testvpc-subnet-1 ein.
    • Region: Wählen Sie us-central1 aus.
    • IPv4-Bereich: Geben Sie 10.0.0.0/16 ein.
  12. Klicken Sie auf Subnetz hinzufügen, um dem Netzwerk test-vpc ein weiteres Subnetz hinzuzufügen.

  13. Legen Sie im Abschnitt Neues Subnetz folgende Konfigurationsparameter für das Subnetz fest und klicken Sie dann auf Fertig:

    • Name: Geben Sie testvpc-subnet-ext ein.
    • Region: Wählen Sie us-central1 aus.
    • IPv4-Bereich: Geben Sie 192.168.1.0/24 ein.
  14. Klicken Sie auf Erstellen.

VMs erstellen

Erstellen Sie drei VMs in den Subnetzen, die Sie im vorherigen Abschnitt konfiguriert haben.

VM im Netzwerk myvpc erstellen

Erstellen Sie eine VM ohne externe IP-Adresse im Netzwerk myvpc.

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Klicken Sie auf Instanz erstellen.

  3. Geben Sie für Name myvpc-vm ein.

  4. Wählen Sie unter Region die Option us-central1 (Iowa) aus.

  5. Maximieren Sie Erweiterte Optionen und dann Netzwerk.

  6. Maximieren Sie im Bereich Netzwerkschnittstellen die vorhandene Netzwerkschnittstelle und geben Sie die folgenden Konfigurationsparameter an:

    • Netzwerk: Wählen Sie myvpc.
    • Subnetzwerk: Wählen Sie subnet-1 IPv4 (10.0.0.0/24) aus.
    • Externe IPv4-Adresse: Wählen Sie Keine aus.
  7. Klicken Sie auf Fertig.

  8. Klicken Sie auf Erstellen.

Zwei VMs im Netzwerk test-vpc erstellen

Zwei VMs erstellen, eine ohne externe IP-Adresse und eine andere mit einer externen IP-Adresse. Wenn Sie die VM mit einer externen IP-Adresse erstellen, übergeben Sie ein Startskript, um in dieser VM einen Apache-Webserver zu installieren und zu starten.

Erstellen Sie eine VM ohne externe IP-Adresse:

  1. Rufen Sie in der Google Cloud Console die Seite Instanz erstellen auf.

    Zur Seite „Instanz erstellen“

  2. Klicken Sie auf Instanz erstellen.

  3. Geben Sie für Name testvpc-vm ein.

  4. Wählen Sie bei Region die Option us-central1 (Iowa) aus.

  5. Maximieren Sie Erweiterte Optionen und dann Netzwerk.

  6. Maximieren Sie im Bereich Netzwerkschnittstellen die vorhandene Netzwerkschnittstelle und geben Sie die folgenden Konfigurationsparameter an:

    • Netzwerk: Wählen Sie test-vpc aus.
    • Subnetzwerk: Wählen Sie testvpc-subnet-1 IPv4 (10.0.0.0/16) aus.
    • Externe IPv4-Adresse: Wählen Sie Keine aus.
  7. Klicken Sie auf Fertig.

  8. Klicken Sie auf Erstellen.

Erstellen Sie eine VM mit einer sitzungsspezifischen externen IP-Adresse und übergeben Sie ein Startskript, um einen Apache-Webserver zu installieren und zu starten:

  1. Klicken Sie auf Instanz erstellen.
  2. Geben Sie für Name testvpc-apache-vm ein.
  3. Wählen Sie bei Region die Option us-central1 (Iowa) aus.
  4. Maximieren Sie Erweiterte Optionen und dann Netzwerk.
  5. Maximieren Sie im Bereich Netzwerkschnittstellen die vorhandene Netzwerkschnittstelle und geben Sie die folgenden Konfigurationsparameter an:
    • Netzwerk: Wählen Sie test-vpc aus.
    • Subnetzwerk: Wählen Sie testvpc-subnet-ext IPv4 (192.168.1.0/24) aus.
    • Externe IPv4-Adresse: Wählen Sie Sitzungsspezifisch aus.
  6. Maximieren Sie die Verwaltung.
  7. Geben Sie im Abschnitt Metadaten das folgende Skript in das Feld Startskript ein:

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      # Read VM network configuration:
      md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
      vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
      filter="{print \$NF}"
      vm_network="$(curl $md_vm/network-interfaces/0/network \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      vm_zone="$(curl $md_vm/zone \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      # Apache configuration:
      echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
      tee /var/www/html/index.html
      systemctl restart apache2
    

    Das vorherige Skript stellt einen Apache-Webserver in dieser VM bereit und startet ihn.

  8. Klicken Sie auf Fertig.

  9. Klicken Sie auf Erstellen.

  10. Notieren Sie sich die sitzungsspezifische externe IP-Adresse, die dieser VM auf der Seite VM-Instanzen zugewiesen wurde. Sie benötigen diese externe IP-Adresse später.

Cloud Router und Cloud NAT-Gateway erstellen

Im vorherigen Abschnitt haben Sie im Netzwerk myvpc die VM myvpc-vm ohne externe IP-Adresse erstellt. Damit die myvpc-vm-VM auf den Apache-Webserver zugreifen kann, der in testvpc-apache-vm über das öffentliche Internet ausgeführt wird, erstellen Sie einen Cloud Router und ein Cloud NAT-Gateway im selben Subnetz, in dem Sie Ihre VM myvpc-vm erstellt haben.

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud NAT.

    Zur Seite "Cloud NAT"

  2. Klicken Sie auf Erste Schritte oder NAT-Gateway erstellen.

    Hinweis: Wenn Sie das erste Cloud NAT-Gateway erstellen, klicken Sie auf Jetzt starten. Wenn Sie bereits Gateways haben, zeigt Google Cloud die Schaltfläche Cloud NAT-Gateway erstellen an. Klicken Sie zum Erstellen eines weiteren Gateways auf Cloud NAT-Gateway erstellen.

  3. Geben Sie als Gatewayname myvpc-gateway ein.

  4. Wählen Sie als NAT-Typ Öffentlich aus.

  5. Geben Sie im Bereich Cloud Router wählen folgende Konfigurationsparameter an:

    • Netzwerk: Wählen Sie myvpc aus.
    • Region: Wählen Sie us-central1 (Iowa) aus.
    • Cloud Router: Klicken Sie auf Neuen Router erstellen.
      1. Geben Sie für Name myvpc-router ein.
      2. Klicken Sie auf Erstellen.
  6. Klicken Sie auf Erstellen.

Hierarchische Firewallrichtlinie erstellen und Firewallregeln hinzufügen

Erstellen Sie eine hierarchische Firewallrichtlinie und fügen Sie ihr die folgenden Firewallrichtlinienregeln hinzu:

  • Aktivieren Sie IAP für alle VMs in test-folder, um Administratorzugriff auf die VMs zu aktivieren.
  • Lassen Sie eingehenden Traffic zu allen VMs im test-vpc-Netzwerk zu.
  • Delegieren Sie den ausgehenden Traffic vom Netzwerk myvpc an die nächste Regel in der Hierarchie, nämlich die VPC firewall implied IPv4 rule egress all-Regel.
  • Verweigern Sie ausgehenden Traffic von allen anderen VPC-Netzwerken in test-folder.

So erstellen Sie eine hierarchische Firewallrichtlinie:

  1. Rufen Sie in der Google Cloud Console die Seite für die Projektauswahl auf und wählen Sie test-folder aus.

    Zur Projektauswahl

  2. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  3. Klicken Sie auf Firewallrichtlinie erstellen.

  4. Geben Sie im Abschnitt Richtlinie konfigurieren unter Richtlinienname fw-egress-specific-vpc ein.

  5. Geben Sie unter Beschreibung example-firewall-policy ein.

  6. Klicken Sie auf Weiter.

  7. Klicken Sie im Abschnitt Regeln hinzufügen auf Weiter. Die Firewallregeln werden in den folgenden Abschnitten dieser Kurzanleitung hinzugefügt.

  8. Klicken Sie im Abschnitt Richtlinie mit Ressourcen verknüpfen auf Hinzufügen.

  9. Maximieren Sie Ihre Organisation, wählen Sie test-folder aus und klicken Sie auf Hinzufügen.

  10. Klicken Sie auf Erstellen.

Fügen Sie eine Firewallregel hinzu, um IAP in allen VMs im test-folder zu aktivieren

Damit IAP eine Verbindung zu allen VMs in test-folder herstellen kann, benötigen Sie in der hierarchischen Firewallrichtlinie eine Firewallregel mit den folgenden Eigenschaften:

  • gilt für alle VMs im test-folder, die über die IAP-TCP-Weiterleitung zugänglich sein sollen.
  • Lässt eingehenden Traffic aus dem IP-Adressbereich 35.235.240.0/20 zu. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.
  • Lässt Verbindungen zu allen Ports zu, die über die IAP-TCP-Weiterleitung zugänglich sein sollen, z. B. Port 22 für SSH.

So fügen Sie die Firewallregel hinzu:

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf fw-egress-specific-vpc und dann auf fw-egress-specific-vpc.

  3. Geben Sie 100 als Priorität ein.

  4. Geben Sie unter Beschreibung enable-iap ein.

  5. Wählen Sie für Traffic-Richtung die Option Eingehend aus.

  6. Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.

  7. Geben Sie im Abschnitt Quelle unter IP-Bereiche 35.235.240.0/20 ein.

  8. Wählen Sie im Bereich Protokolle und Ports Angegebene Protokolle und Ports aus.

  9. Markieren Sie das Kästchen TCP und geben Sie unter Ports 22 ein.

  10. Klicken Sie auf Erstellen.

Fügen Sie eine Firewallregel hinzu, um eingehenden Traffic im Netzwerk test-vpc zuzulassen

Fügen Sie eine Firewallregel hinzu, um eingehenden HTTP-Web-Traffic an TCP-Port 80 an alle VMs im Netzwerk test-vpc zuzulassen:

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf fw-egress-specific-vpc und dann auf fw-egress-specific-vpc.

  3. Geben Sie 200 als Priorität ein.

  4. Geben Sie unter Beschreibung allow-ingress-testvpc ein.

  5. Wählen Sie für Traffic-Richtung die Option Eingehend aus.

  6. Wählen Sie für Aktion bei Übereinstimmung die Option Zulassen aus.

  7. Klicken Sie im Abschnitt Ziel auf Netzwerk hinzufügen.

  8. Wählen Sie das Testprojekt aus, das das Netzwerk test-vpc enthält, und wählen Sie dann test-vpc als Netzwerk aus.

  9. Geben Sie im Abschnitt Quelle unter IP-Bereiche 0.0.0.0/0 ein.

  10. Wählen Sie im Bereich Protokolle und Ports Angegebene Protokolle und Ports aus.

  11. Markieren Sie das Kästchen TCP und geben Sie unter Ports 80 ein.

  12. Klicken Sie auf Erstellen.

Fügen Sie eine Firewallregel hinzu, um den ausgehenden Traffic vom Netzwerk myvpc an die nächste Regel in der Hierarchie zu delegieren.

Fügen Sie eine Firewallregel hinzu, die die Aktion goto_next verwendet, um den ausgehenden Traffic vom Netzwerk myvpc an die nächste Regel in der Firewall zu delegieren. Dies ist die implizierte VPC-Firewallregel zum Zulassen von ausgehendem IPv4-Traffic.

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf fw-egress-specific-vpc und dann auf fw-egress-specific-vpc.

  3. Geben Sie 300 als Priorität ein.

  4. Geben Sie unter Beschreibung delegate-egress-myvpc ein.

  5. Wählen Sie unter Traffic-Richtung Ausgehend aus.

  6. Wählen Sie für Aktion bei Übereinstimmung die Option Weiter aus.

  7. Klicken Sie im Abschnitt Ziel auf Netzwerk hinzufügen.

  8. Wählen Sie den Namen des Testprojekts aus, das myvpc enthält, und wählen Sie dann myvpc als Netzwerk aus.

  9. Geben Sie im Abschnitt Ziel unter IP-Bereiche die sitzungsspezifische externe IP-Adresse für die VM ein, auf der der Apache-Webserver ausgeführt wird. Sie haben diese IP-Adresse im Abschnitt Zwei VMs im Netzwerk test-vpc erstellen notiert.

  10. Klicken Sie auf Erstellen.

Firewallregel hinzufügen, um ausgehenden Traffic aus allen anderen VPC-Netzwerken abzulehnen.

Fügen Sie abschließend eine Firewallregel hinzu, die den ausgehenden Traffic von allen anderen VPC-Netzwerken in test-folder ablehnt.

  1. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf fw-egress-specific-vpc und dann auf fw-egress-specific-vpc.

  3. Geben Sie 400 als Priorität ein.

  4. Geben Sie unter Beschreibung block-egress-all-traffic ein.

  5. Wählen Sie unter Traffic-Richtung Ausgehend aus.

  6. Wählen Sie für Aktion bei Übereinstimmung die Option Ablehnen aus.

  7. Geben Sie im Abschnitt Ziel unter IP-Bereiche 0.0.0.0/0 ein.

  8. Klicken Sie auf Erstellen.

Hierarchische Firewallrichtlinie testen

Nachdem Sie die hierarchische Firewallrichtlinie konfiguriert haben, können Sie die Richtlinie mit den folgenden Schritten testen:

  1. Öffnen Sie die Google Cloud Console.

    Zur Google Cloud Console

  2. Wählen Sie in der Projektauswahl oben auf der Seite test-project aus, in dem Sie die VPC-Netzwerke erstellt haben.

  3. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu "VM-Instanzen"

  4. Klicken Sie in der Spalte Verbinden für myvpc-vm auf SSH.

  5. Klicken Sie im Dialogfeld SSH im Browser auf Autorisieren und warten Sie, bis die Verbindung hergestellt wurde.

  6. Führen Sie den folgenden Befehl aus, um zu prüfen, ob der ausgehende Traffic von myvpc zu testvpc-apache-vm zugelassen ist:

    curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
    

    Der vorherige Befehl gibt den Inhalt zurück, den Sie für die Seite index.html des Apache-Webservers angegeben haben. Dies bedeutet, dass ausgehende Verbindungen von myvpc zulässig sind.

  7. So prüfen Sie, ob der ausgehende Traffic von jedem anderen VPC-Netzwerk in der Organisation blockiert wird:

    1. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

      Zu "VM-Instanzen"

    2. Klicken Sie in der Spalte Verbinden für testvpc-vm auf SSH.

    3. Klicken Sie im Dialogfeld SSH im Browser auf Autorisieren und warten Sie, bis die Verbindung hergestellt wurde.

    4. Führen Sie den folgenden Befehl aus, um zu prüfen, ob der ausgehende Traffic von testvpc-vm nach testvpc-apache-vm blockiert ist:

      curl <internal_IP_testvpc_apache_vm> -m 2
      

      Der vorherige Befehl gibt die Meldung Connection timed out zurück. Dies wird erwartet, da Sie eine Firewallregel erstellt haben, um ausgehenden Traffic von allen VPC-Netzwerken in der Organisation mit Ausnahme von myvpc abzulehnen.

Bereinigen

Damit Ihrem Google Cloud-Konto die in dieser Kurzanleitung verwendeten Ressourcen nicht in Rechnung gestellt werden, löschen Sie die einzelnen Ressourcen und anschließend das Projekt und den Ordner.

Führen Sie die folgenden Aufgaben aus, um die in dieser Kurzanleitung erstellten Ressourcen zu löschen.

Hierarchische Firewallrichtlinie löschen

  1. Öffnen Sie die Google Cloud Console.

    Zur Google Cloud Console

  2. Wählen Sie in der Projektauswahl oben auf der Seite test-folder aus, wo Sie die Ressourcen für diese Kurzanleitung erstellt haben.

  3. Rufen Sie in der Google Cloud Console die Seite der Firewall-Richtlinien auf.

    Zu den Firewall-Richtlinien

  4. Klicken Sie im Bereich Mit diesem Knoten verknüpfte oder vom Knoten übernommene Firewallrichtlinien auf fw-egress-specific-vpc.

  5. Klicken Sie auf den Tab Verknüpfungen.

  6. Klicken Sie auf das Kästchen für test-folder und dann auf Verknüpfung entfernen.

  7. Klicken Sie im Dialogfeld Verknüpfung mit test-folder entfernen auf Löschen.

  8. Klicken Sie auf Löschen.

  9. Klicken Sie im Dialogfeld fw-egress-specific-vpc löschen auf Löschen.

VMs löschen

  1. Öffnen Sie die Google Cloud Console.

    Zur Google Cloud Console

  2. Wählen Sie in der Projektauswahl oben auf der Seite test-project aus.

  3. Rufen Sie in der Google Cloud Console die Seite VM-Instanzen auf.

    Zu "VM-Instanzen"

  4. Klicken Sie die Kästchen für myvpc-vm, myvpc-vm und myvpc-vm an.

  5. Klicken Sie auf Löschen.

  6. Klicken Sie im Dialogfeld Instanz 3-Instanzen löschen auf Löschen.

Cloud Router und Cloud NAT-Gateway löschen

  1. Wechseln Sie in der Google Cloud Console zur Seite Cloud Routers.

    Zu "Cloud Router"

  2. Klicken Sie auf das Kästchen für myvpc-router.

  3. Klicken Sie auf Löschen.

  4. Klicken Sie im Dialogfeld myvpc-router löschen auf Löschen.

Wenn Sie einen Cloud Router löschen, wird auch das zugehörige Cloud NAT-Gateway gelöscht.

VPC-Netzwerk und dessen Subnetze löschen

  1. Rufen Sie in der Google Cloud Console die Seite VPC-Netzwerke auf.

    Zur Seite VPC-Netzwerke

  2. Klicken Sie in der Spalte Name auf myvpc.

  3. Klicken Sie auf VPC-Netzwerk löschen.

  4. Klicken Sie im Dialogfeld Netzwerk löschen auf Löschen.

    Löschen Sie entsprechend das Netzwerk test-vpc.

Wenn Sie ein VPC-Netzwerk löschen, werden auch dessen Subnetze gelöscht.

Projekt löschen

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Löschen Sie den Ordner.

  1. Wechseln Sie in der Google Cloud Console zur Seite Ressourcen verwalten.

    Zur Seite „Ressourcen verwalten“

  2. Wenn der Ordner, das Sie löschen möchten, an eine Organisation geknüpft ist, maximieren Sie in der Spalte Name die Liste Organisation.

  3. Wählen Sie in der Ordnerliste test-folder aus und klicken Sie auf Löschen.

  4. Geben Sie im Dialogfeld die Ordner-ID ein und klicken Sie auf Trotzdem löschen, um das Projekt zu löschen.

Nächste Schritte