Globale Netzwerk-Firewallrichtlinie konfigurieren, um eingehenden Traffic zuzulassen

In einem benutzerdefinierten VPC-Netzwerk (Virtual Private Cloud) mit mehreren Subnetzen ist ausgehender Traffic standardmäßig zulässig, eingehender Traffic wird jedoch abgelehnt. Um eingehenden Traffic zu aktivieren und die Kommunikation von VM-Instanzen in verschiedenen Subnetzen zu ermöglichen, erstellen Sie eine Globale Netzwerk-Firewallrichtlinie in Cloud Next Generation Firewall im VPC-Netzwerk, die eingehenden Traffic von einem bestimmten IP-Adressbereich des Subnetzes zulässt.

In dieser Anleitung wird beschrieben, wie Sie eine globale Firewallrichtlinie so konfigurieren, dass interner Traffic zwischen VM-Subnetzen in einem benutzerdefinierten VPC-Netzwerk zugelassen wird.

Benutzerdefiniertes VPC-Netzwerk mit Subnetzen erstellen

In diesem Abschnitt erstellen Sie ein VPC-Netzwerk im benutzerdefinierten Modus mit zwei IPv4-Subnetzen.

Console

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

    Zur Seite VPC-Netzwerke

  2. Klicken Sie auf VPC-Netzwerk erstellen.

  3. Geben Sie für Name vpc-fw-rules ein.

  4. Geben Sie unter Beschreibung VPC network for the firewall rules tutorial 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: subnet-fw-rules-server
    • Region: us-central1 (Iowa)
    • IPv4-Bereich: 10.0.0.0/24
    • Privater Google-Zugriff: Ein
  7. Klicken Sie auf Fertig.

  8. Klicken Sie auf Subnetz hinzufügen und geben Sie folgende Konfigurationsparameter an:

    • Name: subnet-fw-rules-client
    • Region: us-central1 (Iowa)
    • IPv4-Bereich: 192.168.10.0/24
    • Privater Google-Zugriff: Ein
  9. Klicken Sie auf Fertig.

  10. Klicken Sie auf Erstellen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um ein VPC-Netzwerk zu erstellen:

    gcloud compute networks create vpc-fw-rules \
      --subnet-mode=custom \
      --description="VPC network for the firewall rules tutorial"
    
  2. Optional: Klicken Sie im Dialogfeld Cloud Shell autorisieren auf Autorisieren.

  3. Führen Sie folgenden Befehl aus, um ein Subnetz zu erstellen:

    gcloud compute networks subnets create subnet-fw-rules-server \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=10.0.0.0/24 \
      --enable-private-ip-google-access
    
  4. Führen Sie folgenden Befehl aus, um ein weiteres Subnetz zu erstellen:

    gcloud compute networks subnets create subnet-fw-rules-client \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=192.168.10.0/24 \
      --enable-private-ip-google-access
    

Das VPC-Netzwerk hat standardmäßig zwei implizierte IPv4-Regeln:

  • Eine allow-Regel für ausgehenden Traffic mit dem Ziel 0.0.0.0/0 und der niedrigsten möglichen Priorität (65535), die es jeder Instanz ermöglicht, Traffic an einen beliebigen Bestimmungsort zu senden (gilt nicht für von Cloud de Confiance by S3NSblockiertem Traffic).
  • Ein eingehender deny-Traffic mit der Quelle 0.0.0.0/0 und der niedrigsten möglichen Priorität (65535), die alle Instanzen schützt, indem auf sie eingehende Verbindungen blockiert werden.

Weitere Informationen finden Sie unter Implizierte Regeln.

Client- und Server-VMs erstellen

In diesem Abschnitt erstellen Sie zwei Linux-VMs ohne externe IP-Adressen in den Subnetzen des VPC-Netzwerk, das Sie im vorherigen Abschnitt erstellt haben.

Server-VM erstellen

Console

So erstellen Sie die Client-VM:

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

    Zur Seite „Instanz erstellen“

  2. Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:

    1. Geben Sie für Name vm-fw-rules-server ein.
    2. Wählen Sie bei Region die Option us-central1 (Iowa) aus.
  3. Klicken Sie im Navigationsmenü auf Netzwerk.

    1. Klicken Sie im Bereich Netzwerkschnittstellen auf default und geben Sie die folgenden Konfigurationsparameter an:
      • Netz: vpc-fw-rules
      • Subnetzwerk: subnet-fw-rules-server IPv4 (10.0.0.0/24)
      • Externe IPv4-Adresse: Keine
    2. Klicken Sie auf Fertig.
  4. Klicken Sie auf Erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um die Server-VM zu erstellen:

gcloud compute instances create vm-fw-rules-server \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-server \
    --stack-type=IPV4_ONLY \
    --no-address

Client-VM erstellen

Console

So erstellen Sie die Client-VM:

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

    Zur Seite „Instanz erstellen“

  2. Führen Sie im Bereich Maschinenkonfiguration die folgenden Schritte aus:

    1. Geben Sie für Name vm-fw-rules-client ein.
    2. Wählen Sie bei Region die Option us-central1 (Iowa) aus.
  3. Klicken Sie im Navigationsmenü auf Netzwerk.

    1. Klicken Sie im Bereich Netzwerkschnittstellen auf default und geben Sie die folgenden Konfigurationsparameter an:
      • Netz: vpc-fw-rules
      • Subnetzwerk: subnet-fw-rules-client IPv4 (192.168.10.0/24)
      • Externe IPv4-Adresse: Keine
    2. Klicken Sie auf Fertig.
  4. Klicken Sie auf Erstellen.

gcloud

Führen Sie den folgenden Befehl aus, um die Client-VM zu erstellen:

gcloud compute instances create vm-fw-rules-client \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-client \
    --stack-type=IPV4_ONLY \
    --no-address

Cloud Router und Cloud NAT-Gateway erstellen

Im vorherigen Abschnitt haben Sie zwei Linux-VMs ohne öffentliche IPv4-Adressen erstellt. Damit diese VMs auf das öffentliche Internet zugreifen können, erstellen Sie einen Cloud Router und ein Cloud NAT-Gateway.

Console

  1. Wechseln Sie in der Cloud de Confiance Console zur Seite Cloud NAT.

    Zur Seite „Cloud NAT”

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

  3. Geben Sie als Gatewayname gateway-fw-rules ein.

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

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

    • Netz: vpc-fw-rules
    • Region: us-central1
    • Cloud Router: Neuen Router erstellen.
      1. Geben Sie für Name router-fw-rules ein.
      2. Klicken Sie auf Erstellen.
  6. Klicken Sie auf Erstellen.

gcloud

  1. Führen Sie den folgenden Befehl aus, um einen Cloud Router zu erstellen:

    gcloud compute routers create router-fw-rules \
      --network=vpc-fw-rules \
      --region=us-central1
    
  2. Führen Sie folgenden Befehl aus, um ein Cloud NAT-Gateway zu erstellen:

    gcloud compute routers nats create gateway-fw-rules \
      --router=router-fw-rules \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

Globale Netzwerk-Firewallrichtlinie erstellen

In diesem Abschnitt erstellen Sie eine globale Netzwerkfirewall-Richtlinie mit den folgenden Einstellungen:

  • Eine Regel für ausgehenden Traffic mit 0.0.0.0./0 als Ziel.
  • Logging aktiviert. Durch das Logging der Firewallregeln können Sie die Auswirkungen Ihrer Firewallregeln überwachen, überprüfen und analysieren.

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie auf Firewallrichtlinie erstellen.

  3. Geben Sie im Abschnitt Richtlinie konfigurieren unter Richtlinienname fw-policy ein.

  4. Wählen Sie unter Bereitstellungsbereich Global aus und klicken Sie auf Weiter.

  5. Wenn Sie Regeln für die Richtlinie erstellen möchten, klicken Sie im Bereich Regeln hinzufügen auf Regel hinzufügen.

    1. Geben Sie 65534 als Priorität ein.
    2. Wählen Sie unter Traffic-Richtung Ausgehend aus.
    3. Wählen Sie für Logs Ein aus.
    4. Wählen Sie im Abschnitt Ziel als Zieltyp Alle Instanzen im Netzwerk aus.
    5. Geben Sie im Abschnitt Ziel unter IP-Bereiche 0.0.0.0/0 ein.
    6. Wählen Sie im Abschnitt Protokoll und Ports Alle zulassen aus.
    7. Klicken Sie auf Erstellen.
  6. Klicken Sie auf Weiter.

  7. Wenn Sie ein VPC-Netzwerk mit der Richtlinie verknüpfen möchten, klicken Sie im Bereich Richtlinie mit VPC-Netzwerken verknüpfen auf Verknüpfen.

  8. Markieren Sie das Kästchen vpc-fw-rules und klicken Sie dann auf Verknüpfen.

  9. Klicken Sie auf Weiter.

  10. Klicken Sie auf Erstellen.

gcloud

  1. Führen Sie folgenden Befehl aus, um eine Firewallrichtlinie zu erstellen:

    gcloud compute network-firewall-policies create fw-policy \
        --global
    
  2. Führen Sie folgenden Befehl aus, um eine Firewallregel zu erstellen, die Traffic an alle Ziele zulässt und Logs aktiviert:

    gcloud compute network-firewall-policies rules create 65534 \
        --firewall-policy=fw-policy \
        --direction=EGRESS \
        --action=ALLOW \
        --dest-ip-ranges=0.0.0.0/0 \
        --layer4-configs=all \
        --global-firewall-policy \
        --enable-logging
    
  3. Führen Sie folgenden Befehl aus, um die Firewallrichtlinie mit dem VPC-Netzwerk zu verknüpfen:

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy \
        --network=vpc-fw-rules \
        --name=pol-association-fw-rules \
        --global-firewall-policy
    

Firewallregel für IAP hinzufügen

Im vorherigen Abschnitt haben Sie Linux-VMs ohne externe IP-Adressen erstellt. In diesem Abschnitt aktivieren Sie Identity-Aware Proxy (IAP), um Administratorzugriff auf VM-Instanzen ohne externe IP-Adressen zuzulassen.

Damit IAP eine Verbindung zu Ihren VM-Instanzen herstellen kann, erstellen Sie eine Firewallregel, die:

  • für alle VM-Instanzen gilt, die über IAP zugänglich sein sollen.
  • Lässt eingehenden Traffic aus dem IP-Bereich 35.235.240.0/20 zu. Dieser Bereich enthält alle IP-Adressen, die IAP für die TCP-Weiterleitung verwendet.

    Verwenden Sie für IPv6-VMs den folgenden IP-Bereich: 2600:2d00:1:7::/64.

  • Lässt Verbindungen zu allen Ports zu, die über die IAP-TCP-Weiterleitung zugänglich sein sollen, z. B. Port 22 für SSH und Port 3389 für RDP.

Console

Führen Sie folgenden Befehl aus, um RDP- und SSH-Zugriff auf alle VM-Instanzen im Netzwerk vpc-fw-rules zuzulassen:

  1. Rufen Sie in der Cloud de Confiance Console die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf fw-policy.

  3. Klicken Sie auf Regel erstellen.

  4. Geben Sie 500 als Priorität ein.

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

  6. Wählen Sie für Logs Ein aus.

  7. Wählen Sie im Abschnitt Ziel als Zieltyp Alle Instanzen im Netzwerk aus.

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

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

  10. Markieren Sie das Kästchen TCP und geben Sie unter Ports 22 und 3389 durch Kommas getrennt ein.

  11. Klicken Sie auf Erstellen.

gcloud

Führen Sie folgenden Befehl aus, um RDP- und SSH-Zugriff auf alle VM-Instanzen im Netzwerk vpc-fw-rules zuzulassen:

gcloud compute network-firewall-policies rules create 500 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=35.235.240.0/20 \
    --global-firewall-policy \
    --layer4-configs tcp:22,tcp:3389 \
    --enable-logging

Apache-Server installieren

In diesem Abschnitt installieren Sie den Apache-Server auf der Server-VM.

  1. Rufen Sie in der Cloud de Confiance Console die Seite VM-Instanzen auf:

    Zu "VM-Instanzen"

  2. Klicken Sie in der Spalte Verbinden der vm-fw-rules-server-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 im Eingabeprompt folgenden Befehl aus, um das apache2-Paket zu installieren:

    sudo apt update && sudo apt -y install apache2
    

    Nach der Installation von Apache startet das Betriebssystem den Apache-Server automatisch.

  5. Führen Sie folgenden Befehl aus, um zu prüfen, ob Apache ausgeführt wird:

    sudo systemctl status apache2 --no-pager
    
  6. Führen Sie folgenden Befehl aus, um die Standardwebseite des Apache-Webservers zu überschreiben:

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    
  7. Schließen Sie das Dialogfeld SSH-in-browser.

Verbindung testen

Nach der Installation des Apache-Servers auf der Server-VM stellen Sie über die interne IP-Adresse der Server-VM eine Verbindung von der Client-VM zur Server-VM her.

  1. Rufen Sie in der Cloud de Confiance Console die Seite VM-Instanzen auf:

    Zu "VM-Instanzen"

  2. Kopieren Sie in der Spalte Interne IP-Adresse der vm-fw-rules-server-VM die interne IP-Adresse der VM.

  3. Klicken Sie in der Spalte Verbinden der vm-fw-rules-client-VM auf SSH.

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

  5. Führen Sie folgenden Befehl aus, um die Verbindung zu prüfen:

    curl INTERNAL_IP -m 2
    

    Ersetzen Sie INTERNAL_IP durch die IP-Adresse der vm-fw-rules-server-VM.

    Die Connection timed out-Nachricht wird erwartet, da jede VM eine implizite Firewallregel für eingehenden Traffic erstellt, die jeden Traffic ablehnt. Wenn Sie den Traffic zulassen möchten, fügen Sie der Firewallrichtlinie eine Regel für eingehenden Traffic hinzu.

  6. Schließen Sie das Dialogfeld SSH-in-browser.

Globale Netzwerk-Firewallrichtlinie aktualisieren, um internen Traffic zuzulassen

In diesem Abschnitt aktualisieren Sie die globale Netzwerk-Firewallrichtlinie, um internen Traffic vom Subnetz der Client-VM zuzulassen.

Console

  1. Rufen Sie in der Cloud de Confiance Console die Seite Firewallrichtlinien auf.

    Zu den Firewall-Richtlinien

  2. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf fw-policy.

  3. Klicken Sie auf Regel erstellen.

  4. Geben Sie 501 als Priorität ein.

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

  6. Wählen Sie für Logs Ein aus.

  7. Wählen Sie im Abschnitt Ziel als Zieltyp Alle Instanzen im Netzwerk aus.

  8. Geben Sie im Abschnitt Quelle unter IP-Bereiche 192.168.10.0/24 ein.

    Denken Sie daran, dass der IP-Bereich 192.168.10.0/24 subnet-fw-rules-client zugewiesen ist.

  9. Wählen Sie im Abschnitt Ziel unter IP-Typ IPv4 aus. Geben Sie unter IP-Bereiche 10.0.0.0/24 an.

    Denken Sie daran, dass der IP-Bereich 10.0.0.0/24 dem subnet-fw-rules-server zugewiesen ist.

  10. Klicken Sie auf Erstellen.

gcloud

Führen Sie folgenden Befehl aus, um die Firewallrichtlinie zu aktualisieren:

gcloud compute network-firewall-policies rules create 501 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=192.168.10.0/24 \
    --dest-ip-ranges=10.0.0.0/24 \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

Verbindung testen

Nachdem Sie die Firewallrichtlinie erstellt haben, stellen Sie über die interne IP-Adresse der Server-VM eine Verbindung von der Client-VM zur Server-VM her.

  1. Rufen Sie in der Cloud de Confiance Console die Seite VM-Instanzen auf:

    Zu "VM-Instanzen"

  2. Kopieren Sie in der Spalte Interne IP-Adresse der vm-fw-rules-server-VM die interne IP-Adresse der VM.

  3. Klicken Sie in der Spalte Verbinden der vm-fw-rules-client-VM auf SSH.

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

  5. Führen Sie folgenden Befehl aus, um die Verbindung zu prüfen:

    curl INTERNAL_IP -m 2
    

    Ersetzen Sie INTERNAL_IP durch die IP-Adresse der vm-fw-rules-server-VM.

    Die erwartete Nachricht ist <!doctype html><html><body><h1>Hello World!</h1></body></html>.

  6. Schließen Sie das Dialogfeld SSH-in-browser.

Informationen zum Anzeigen von Firewall-Logs finden Sie unter Logs ansehen.