VPC-Firewallregeln migrieren, die weder Netzwerk-Tags noch Dienstkonten verwenden

Um den Betriebsaufwand zu verringern und die Verwaltung zu zentralisieren, können Sie Ihre vorhandenen VPC-Firewallregeln (Virtual Private Cloud) zu einer globalen Netzwerk-Firewallrichtlinie migrieren. In diesem Dokument wird beschrieben, wie Sie diese Migration für Regeln ausführen, die keine Netzwerk-Tags oder Dienstkonten verwenden.

Dieses Dokument richtet sich an Netzwerkadministratoren und Sicherheitsexperten, die VPC-Firewallregeln migrieren, die Netzwerk-Tags und Dienstkonten verwenden.

Führen Sie dazu die folgenden Aufgaben aus:

  1. Umgebung bewerten.
  2. Migrieren der VPC-Firewallregeln.
  3. Neue globale Firewallrichtlinie für Netzwerke überprüfen.
  4. Nach der Migration erforderliche Aufgaben ausführen

Hinweis

  1. Melden Sie sich in Ihrem Google Cloud Konto an. Wenn Sie noch kein Google Cloud-Kunde sind, erstellen Sie ein Konto, um zu sehen, wie sich unsere Produkte in realen Szenarien schlagen. Neukunden erhalten außerdem ein Guthaben von 300 $, um Arbeitslasten auszuführen, zu testen und bereitzustellen.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  5. Installieren Sie die Google Cloud CLI.

  6. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  7. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  8. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  9. Verify that billing is enabled for your Google Cloud project.

  10. Enable the Compute Engine API.

    Roles required to enable APIs

    To enable APIs, you need the serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  11. Installieren Sie die Google Cloud CLI.

  12. Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.

  13. Führen Sie den folgenden Befehl aus, um die gcloud CLI zu initialisieren:

    gcloud init
  14. Sie benötigen die Rolle „Compute Security Admin“ (roles/compute.securityAdmin).

Umgebung bewerten

  1. Ermitteln Sie die Anzahl der vorhandenen VPC-Firewallregeln in Ihrem Netzwerk.
  2. Notieren Sie sich die Prioritäten für jede einzelne VPC-Firewallregel.
  3. Prüfen Sie, ob Sie die erforderlichen IAM-Rollen (Identity and Access Management) und -Berechtigungen haben, um globale Netzwerk-Firewallrichtlinien zu erstellen, zu verknüpfen, zu ändern und anzusehen.

VPC-Firewallregeln migrieren

Nachdem Sie Ihre Umgebung bewertet haben, migrieren Sie Ihre VPC-Firewallregeln mit dem compute firewall-rules migrate-Befehl zu einer globalen Netzwerk-Firewallrichtlinie.

gcloud beta compute firewall-rules migrate \
    --source-network=NETWORK_NAME \
    --target-firewall-policy=POLICY_NAME

Ersetzen Sie dabei Folgendes:

  • NETWORK_NAME: Name des VPC-Netzwerks, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.
  • POLICY_NAME: Name der globalen Netzwerk-Firewallrichtlinie, die während der Migration erstellt werden soll.

Firewallregeln von der Migration ausschließen

Wenn Sie bestimmte Firewallregeln von der Migration ausschließen möchten, verwenden Sie den gcloud beta compute firewall-rules migrate Befehl mit dem --exclusion-patterns-file Flag:

gcloud beta compute firewall-rules migrate \
    --source-network=NETWORK_NAME \
    --target-firewall-policy=POLICY_NAME \
    --exclusion-patterns-file=EXCLUSION_PATTERNS_FILE

Ersetzen Sie dabei Folgendes:

  • NETWORK_NAME: Name des VPC-Netzwerk, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.
  • POLICY_NAME: Name der globalen Richtlinie für Netzwerkfirewalls, die während der Migration erstellt werden soll.
  • EXCLUSION_PATTERNS_FILE: Name der Datei, die reguläre Ausdrücke enthält, die VPC-Firewall-Benennungsmuster definieren, die von der Migration ausgeschlossen werden sollen. Geben Sie den vollständigen Pfad der Datei an. Firewallregeln, die den angegebenen Mustern entsprechen, werden übersprungen.

    Beachten Sie beim Definieren der Ausschlussmuster Folgendes:

    • Jeder reguläre Ausdruck muss sich in einer eigenen Zeile befinden und ein einzelnes Firewall-Benennungsmuster darstellen.
    • Die regulären Ausdrücke dürfen keine führenden oder nachgestellten Leerzeichen enthalten.

Ausgeschlossene Firewallregeln ansehen

Basierend auf den ausgeschlossenen Benennungsmustern für Firewallregeln werden einige Firewallregeln vom Migrationstool nicht migriert, z. B. Google Kubernetes Engine-Firewallregeln (GKE). Verwenden Sie den Befehl gcloud beta compute firewall-rules migrate mit den Flags --export-exclusion-patterns und --exclusion-patterns-file, um die Liste der ausgeschlossenen Benennungsmuster für Firewallregeln zu exportieren.

gcloud beta compute firewall-rules migrate \
    --source-network=NETWORK_NAME \
    --target-firewall-policy=POLICY_NAME \
    --exclusion-patterns-file=EXCLUSION_PATTERNS_FILE \
    --export-exclusion-patterns

Ersetzen Sie dabei Folgendes:

  • NETWORK_NAME: Name des VPC-Netzwerk, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.
  • POLICY_NAME: Name der globalen Richtlinie für Netzwerkfirewalls, die während der Migration erstellt werden soll.
  • EXCLUSION_PATTERNS_FILE: Pfad der Datei, in die die folgenden ausgeschlossenen Benennungsmuster für Firewallregeln exportiert werden.

    gke-(.+)-ipv6-all
    gke-(.+)-(.+)-((master)|(vms)|(all)|(inkubelet)|(exkubelet)|(mcsd))
    k8s-fw-(l7-)?(.+)
    k8s-(.+)-((node)|(http)|(node-http))-hc
    (.+)-hc
    k8s2-(.+)-(.+)-(.+)-(.+)(-fw)?
    k8s2-(.+)-l4-shared-hc-fw
    gke((gw)|(mcg))1-l7-(.+)-(.+)
    

Wenn Sie ausgeschlossene Firewallregeln migrieren möchten, die einem bestimmten Muster entsprechen, entfernen Sie das Muster aus der exportierten Liste und führen Sie den Befehl gcloud beta compute firewall-rules migrate mit dem Flag --exclusion-patterns-file aus.

Migration erzwingen und Auswertungsreihenfolge beibehalten

Wenn die Auswertungsreihenfolge einer ausgeschlossenen Firewallregel während der Migration zwischen die Auswertungsreihenfolgen von vom Nutzer angegebenen Firewallregeln fällt, schlägt die Migration fehl.Das liegt daran, dass die ausgeschlossenen Firewallregeln nicht migriert werden und das Migrationstool die ursprüngliche Auswertungsreihenfolge der vom Nutzer definierten Regeln in der neuen Netzwerk-Firewallrichtlinie nicht beibehalten kann.

Wenn Ihre Firewallregeln beispielsweise die folgenden Prioritäten haben, schlägt die Migration fehl.

  • Eine vom Nutzer angegebene Regel mit der Priorität 100
  • Eine ausgeschlossene Regel mit der Priorität 200
  • Eine vom Nutzer angegebene Regel mit der Priorität 300

Wenn Sie erzwingen möchten, dass das Migrationstool die vom Nutzer angegebenen Regeln migriert, die ursprüngliche Auswertungsreihenfolge beibehält und ausgeschlossene Firewallregeln ignoriert, verwenden Sie den Befehl gcloud beta compute firewall-rules migrate mit dem Flag --force.

gcloud beta compute firewall-rules migrate \
    --source-network=NETWORK_NAME \
    --target-firewall-policy=POLICY_NAME \
    --force

Ersetzen Sie dabei Folgendes:

  • NETWORK_NAME: Name des VPC-Netzwerk, das die VPC-Firewallregeln enthält, die Sie migrieren möchten.
  • POLICY_NAME: Name der globalen Richtlinie für Netzwerkfirewalls, die während der Migration erstellt werden soll.

Neue globale Firewallrichtlinie für Netzwerke überprüfen

Bevor Sie die neue globale Netzwerk-Firewallrichtlinie an ein VPC-Netzwerk anhängen, empfiehlt Google, dass Sie die Richtlinie prüfen, um sicherzustellen, dass die Migration korrekt abgeschlossen wurde.

Prüfen Sie die Konfiguration der Firewallrichtlinienregeln und ob die folgenden Regelkomponenten für die einzelnen Regeln korrekt migriert wurden:

  • Relative Priorität
  • Traffic-Richtung
  • Aktion bei Übereinstimmung
  • Log-Einstellungen
  • Zielparameter
  • Quellparameter (für Eingangsregeln)
  • Zielparameter (für Ausgangsregeln)
  • Protokoll- und Portbeschränkungen

Weitere Informationen zu den Komponenten einer Firewallrichtlinien-Regel finden Sie unter Komponenten von Firewallrichtlinienregeln.

Nach der Migration erforderliche Aufgaben

Um Ihre globale Netzwerk-Firewallrichtlinie zu aktivieren und zu verwenden, müssen Sie die in den folgenden Abschnitten beschriebenen Aufgaben ausführen, die nach der Migration erforderlich sind.

Globale Netzwerk-Firewallrichtlinie mit Ihrem Netzwerk verknüpfen

Das Migrationstool erstellt die globale Netzwerk-Firewallrichtlinie basierend auf den vorhandenen VPC-Firewallregeln. Sie müssen die Richtlinie manuell mit dem erforderlichen VPC-Netzwerk verknüpfen, um die Richtlinienregeln für alle VMs innerhalb dieses Netzwerks zu aktivieren. Verwenden Sie zum Verknüpfen der globalen Netzwerk-Firewallrichtlinie den compute network-firewall-policies associations create-Befehl.

gcloud compute network-firewall-policies associations create \
    --firewall-policy=POLICY_NAME \
    --network=NETWORK_NAME \
    --global-firewall-policy \
    --replace-association-on-target

Ersetzen Sie dabei Folgendes:

  • POLICY_NAME: Name der globalen Netzwerkrichtlinie, die Sie mit Ihrem VPC-Netzwerk verknüpfen möchten.
  • NETWORK_NAME ist der Name des VPC-Netzwerks.

Weitere Informationen zum Verknüpfen einer globalen Netzwerk-Firewallrichtlinie mit einem VPC-Netzwerk finden Sie unter Richtlinie mit dem Netzwerk verknüpfen.

Reihenfolge der Richtlinien- und Regelauswertung ändern

Standardmäßig wertet Cloud Next Generation Firewall die VPC-Firewallregeln aus, bevor es eine globale Netzwerk-Firewallrichtlinie auswertet. Damit globale Netzwerk-Firewallrichtlinien Vorrang vor VPC-Firewallregeln haben, verwenden Sie den compute networks update-Befehl, um die Reihenfolge der Regelauswertung zu ändern.

gcloud compute networks update NETWORK_NAME \
    --network-firewall-policy-enforcement-order=BEFORE_CLASSIC_FIREWALL

Ersetzen Sie NETWORK_NAME durch den Namen Ihres VPC-Netzwerks.

Verwenden Sie den Befehl compute networks get-effective-firewalls, um zu prüfen, ob die globale Netzwerk-Firewallrichtlinie vor den VPC-Firewallregeln ausgewertet wird.

gcloud compute networks get-effective-firewalls NETWORK_NAME

Wenn in der Ausgabe des vorherigen Befehls TYPE: network-firewall-policy vor TYPE: network-firewall angezeigt wird, wird die globale Netzwerk-Firewallrichtlinie zuerst ausgewertet.

Weitere Informationen zur Reihenfolge der Richtlinien- und Regelauswertung finden Sie unter Auswertungsreihenfolge für Firewallrichtlinien und -regeln.

Logging von Firewallregeln aktivieren

Anhand von Protokollen können Sie feststellen, ob eine Firewallregel wie gewünscht funktioniert. Das Migrationstool behält den Logging-Status der vorhandenen VPC-Firewallregeln bei, wenn es die neue globale Netzwerk-Firewallrichtlinie erstellt. Prüfen Sie, ob das Logging für die Regeln in der globalen Netzwerk-Firewallrichtlinie aktiviert ist. Verwenden Sie den compute network-firewall-policies rules update-Befehl, um das Logging für Firewallrichtlinienregeln zu aktivieren.

gcloud compute network-firewall-policies rules update PRIORITY \
    --firewall-policy=POLICY_NAME \
    --enable-logging \
    --global-firewall-policy

Ersetzen Sie dabei Folgendes:

  • PRIORITY: Priorität der zu aktualisierenden Regel.
  • POLICY_NAME: Name der globalen Firewallrichtlinie für Netzwerke, deren Regel Sie aktualisieren möchten.

Globale Netzwerk-Firewallrichtlinie testen

Bevor Sie Ihre VPC-Firewallregeln löschen, testen Sie Ihre globale Netzwerk-Firewallrichtlinie, um zu prüfen, ob die Richtlinienregeln bei regelkonformem Traffic wie gewünscht funktionieren.

Gehen Sie dazu so vor:

  1. Prüfen Sie, ob das Logging für VPC-Firewallregeln und die globale Netzwerk-Firewallrichtlinie aktiviert ist.
  2. Ändern Sie die Reihenfolge der Regelauswertung so, dass die globale Netzwerk-Firewallrichtlinie vor den VPC-Firewallregeln ausgewertet wird.
  3. Prüfen Sie in den Logs ob die globale Netzwerk-Firewallrichtlinie Trefferzahlen hat und die VPC-Firewallregeln verdeckt sind.

VPC-Firewallregeln aus dem Netzwerk löschen

Wir empfehlen, die VPC-Firewallregeln erst zu deaktivieren, bevor Sie sie vollständig löschen. Sie können zu diesen Regeln zurückkehren, wenn die vom Migrationstool erstellte globale Netzwerk-Firewallrichtlinie nicht die gewünschten Ergebnisse liefert.

Verwenden Sie zum Löschen einer VPC-Firewallregel den Befehl compute firewall-rules update:

gcloud compute firewall-rules update RULE_NAME --disabled

Ersetzen Sie RULE_NAME durch den Namen der VPC-Firewallregel, die deaktiviert werden soll.

Verwenden Sie zum Löschen einer VPC-Firewallregel den Befehl compute firewall-rules delete.

gcloud compute firewall-rules delete RULE_NAME

Nächste Schritte