Firewallregeln verwenden

Auf dieser Seite werden die Befehle für die Arbeit mit Firewallregeln beschrieben und einige Verwendungsbeispiele gegeben.

Vorbereitung

In der Übersicht über Firewallregeln finden Sie weitere Informationen zu Firewallregeln, wie z. B. implizierte Regeln und automatisch generierte Regeln für Standardnetzwerke.

Sehen Sie sich vor dem Konfigurieren von Firewallregeln die Komponenten von Firewallregeln gründlich an, damit Sie sich mit den in Google Cloud verwendeten Firewallkomponenten vertraut machen.

Firewallregeln erstellen

Firewallregeln werden auf Netzwerkebene definiert und gelten nur für das Netzwerk, in dem sie erstellt werden. Der Name für jede Regel muss jedoch für das Projekt eindeutig sein.

Wenn Sie eine Firewallregel erstellen, können Sie das Firewallregel-Logging aktivieren. Wenn Sie das Logging aktivieren, können Sie Metadatenfelder weglassen, um Speicherkosten zu sparen. Weitere Informationen finden Sie unter Firewallregel-Logging verwenden.

Console

  1. Rufen Sie in der Google Cloud Console die Seite "Firewallregeln" auf.
    Zur Seite "Firewall"
  2. Klicken Sie auf Firewallregel erstellen.
  3. Geben Sie einen Namen für die Firewallregel ein.
    Dieser Name muss für das Projekt eindeutig sein.
  4. (Optional) Sie können auch das Logging von Firewallregeln aktivieren:
    • Klicken Sie auf Logs > Ein.
    • Wenn Sie Metadaten weglassen möchten, maximieren Sie die Logdetails und deaktivieren Sie dann Metadaten einschließen.
  5. Geben Sie das Netzwerk an, für das die Firewallregel implementiert werden soll.
  6. Legen Sie die Priorität der Regel fest.
    Je niedriger die Zahl, desto höher die Priorität.
  7. Wählen Sie unter Trafficrichtung die Option "Eingehend" oder "Ausgehend".
  8. Wählen Sie unter Aktion bei Übereinstimmung die Option "Zulassen" oder "Ablehnen".
  9. Geben Sie die Ziele der Regel an.
  10. Wenn die Regel für alle Instanzen im Netzwerk gelten soll, wählen Sie All instances in the network aus.
  11. Wenn Sie die Regel auf bestimmte Instanzen nach Netzwerktag (Ziel) anwenden möchten, wählen Sie Specified target tags aus. Geben Sie dann im Feld Zieltags die entsprechenden Tags ein, auf die die Regel angewendet werden soll.
  12. Wenn Sie die Regel auf bestimmte Instanzen nach verknüpftem Dienstkonto anwenden möchten, wählen Sie Specified service account aus und geben Sie unter Bereich des Dienstkontos an, ob das Dienstkonto im aktuellen Projekt oder in einem anderen Projekt enthalten ist. Wählen Sie im Feld Zieldienstkonto den Namen des Dienstkontos aus oder geben Sie ihn ein.
  13. Geben Sie den Quellfilter für eine Eingangsregel an:
    • Wählen Sie IP ranges aus und geben Sie die CIDR-Blöcke in das Feld Quell-IP-Bereiche ein, um die Quelle für eingehenden Traffic durch IP-Adressbereiche zu definieren. Verwenden Sie 0.0.0.0/0 für eine Quelle aus einem beliebigen Netzwerk.
    • Wenn Sie die Quelle nach Netzwerktag begrenzen möchten, wählen Sie Source tags aus und geben Sie dann die Netzwerktags in das Feld Quelltags ein. Das Limit für die Anzahl der Quelltags finden Sie unter VPC-Kontingente und -Limits. Das Filtern nach Quelltag ist nur verfügbar, wenn das Ziel nicht nach Dienstkonto angegeben ist. Weitere Informationen finden Sie unter Nach Dienstkonto oder Netzwerktag filtern.
    • Wenn Sie die Quelle nach Dienstkonto begrenzen möchten, wählen Sie Service account aus. Geben Sie dann im Feld Bereich des Dienstkontos an, ob sich das Dienstkonto im aktuellen oder in einem anderen Projekt befindet. Danach geben Sie das Dienstkonto im Feld Quelldienstkonto an. Das Filtern nach Quelldienstkonto ist nur verfügbar, wenn das Ziel nicht nach Netzwerktag angegeben ist. Weitere Informationen finden Sie unter Nach Dienstkonto oder Netzwerktag filtern.
    • Geben Sie ggf. einen zweiten Quellfilter an. Sekundäre Quellfilter können nicht die gleichen Filterkriterien wie primäre Quellfilter verwenden. Quell-IP-Bereiche können in Kombination mit Quelltags oder dem Quelldienstkonto verwendet werden. Der effektive Quellsatz ist die Vereinigung der Quellbereich-IP-Adressen und der durch Netzwerktags (oder Dienstkonten) identifizierten Instanzen.
    • Quelltags und Quelldienstkonto können nicht zusammen verwendet werden.
  14. Geben Sie den Zielfilter für eine Ausgangsregel an:
    • Wählen Sie IP ranges aus und geben Sie die CIDR-Blöcke in das Feld Ziel-IP-Bereiche ein, um das Ziel für ausgehenden Traffic nach IP-Adressbereichen zu definieren. Geben Sie 0.0.0.0/0 ein, um alle Bereiche einzubeziehen.
  15. Definieren Sie die Protokolle und Ports, auf die Sie die Regel anwenden möchten:

    • Wählen Sie abhängig von der Aktion die Option Allow all oder Deny all aus, um die Regel auf alle Protokolle und Ports anzuwenden.

    • Definieren Sie die angegebenen Protokolle und Ports:

      • Wählen Sie tcp aus, um das TCP-Protokoll und die -Ports einzuschließen. Geben Sie all oder eine durch Kommas getrennte Liste von Ports ein, z. B. 20-22, 80, 8080.
      • Wählen Sie udp aus, um das UDP-Protokoll und die -Ports einzuschließen. Geben Sie all oder eine durch Kommas getrennte Liste von Ports ein, z. B. 67-69, 123.
      • Wählen Sie Sonstige Protokolle aus, um Protokolle wie icmp oder sctp einzuschließen.
  16. (Optional) Wenn Sie den Erzwingungsstatus auf Deaktiviert setzen, wird die Firewallregel zwar erstellt, jedoch nicht erzwungen. Klicken Sie auf Regel deaktivieren und wählen Sie Deaktiviert aus.

  17. Klicken Sie auf Erstellen.

gcloud

Der Befehl gcloud zum Erstellen von Firewallregeln lautet:

gcloud compute firewall-rules create NAME \
    [--network NETWORK; default="default"] \
    [--priority PRIORITY;default=1000] \
    [--direction (ingress|egress|in|out); default="ingress"] \
    [--action (deny | allow )] \
    [--target-tags TAG,TAG,...] \
    [--target-service-accounts=IAM Service Account,IAM Service Account,...] \
    [--source-ranges CIDR-RANGE,CIDR-RANGE...] \
    [--source-tags TAG,TAG,...] \
    [--source-service-accounts=IAM Service Account,IAM Service Account,...] \
    [--destination-ranges CIDR-RANGE,CIDR-RANGE...] \
    [--rules (PROTOCOL[:PORT[-PORT]],[PROTOCOL[:PORT[-PORT]],...]] | all ) \
    [--disabled | --no-disabled] \
    [--enable-logging | --no-enable-logging] \
    [--logging-metadata logging_metadata]

Verwenden Sie die unten aufgeführten Parameter. Weitere Informationen zu den einzelnen Parametern finden Sie unter SDK-Referenzdokumentation.

  • --network Das Netzwerk, in dem die Regel erstellt wird. Bei Auslassung wird die Regel im Netzwerk default erstellt. Verwenden Sie dieses Feld, wenn Sie kein Standardnetzwerk haben oder die Regel in einem bestimmten Netzwerk erstellen möchten.
  • --priority Ein numerischer Wert, der die Priorität für die Regel angibt. Je niedriger die Zahl, desto höher die Priorität.
  • --direction Die Richtung des Traffics, entweder ingress oder egress.
  • --action Die Aktion bei Übereinstimmung, entweder allow oder deny. Muss mit dem Flag --rules verwendet werden.
  • Sie haben drei Möglichkeiten, ein Ziel anzugeben:
    • Lassen Sie --target-tags und --target-service-accounts aus, wenn die Regel auf alle Ziele im Netzwerk angewendet werden soll.
    • --target-tags Verwenden Sie dieses Flag, um Ziele nach Netzwerktags zu definieren.
    • --target-service-accounts Verwenden Sie dieses Flag, um Ziele nach verknüpften Dienstkonten zu definieren.
  • Geben Sie eine Quelle für eine Eingangsregel an:
    • Lassen Sie --source-ranges, source-tags und --source-service-accounts aus, wenn die Eingangsquelle überall gelten soll (0.0.0.0/0).
    • --source-ranges Verwenden Sie dieses Flag, um Bereiche der Quell-IP-Adressen im CIDR-Format anzugeben.
    • --source-tags Verwenden Sie dieses Flag, um Quellinstanzen nach Netzwerktags anzugeben. Das Filtern nach Quelltag ist nur verfügbar, wenn das Ziel nicht nach Dienstkonto angegeben ist. Weitere Informationen finden Sie unter Nach Dienstkonto oder Netzwerktag filtern.
    • --source-ranges und --source-tags können zusammen verwendet werden. Wenn beide angegeben sind, ist der effektive Quellsatz die Vereinigung der Quellbereich-IP-Adressen und der durch Netzwerktags identifizierten Instanzen, auch wenn die getaggten Instanzen keine IPs in den Quellbereichen haben.
    • --source-service-accounts Verwenden Sie dieses Flag, um Quellinstanzen nach verwendetem Dienstkonto anzugeben. Das Filtern nach Quelldienstkonto ist nur verfügbar, wenn das Ziel nicht nach Netzwerktag angegeben ist. Weitere Informationen finden Sie unter Nach Dienstkonto oder Netzwerktag filtern. --source-ranges und --source-service-accounts können zusammen verwendet werden. Wenn beide angegeben sind, ist der effektive Quellsatz die Vereinigung der Quellbereich-IP-Adressen und der durch Quelldienstkonten identifizierten Instanzen, auch wenn die durch Quelldienstkonten identifizierten Instanzen keine IPs in den Quellbereichen haben.
  • Geben Sie ein Ziel für eine Ausgangsregel an:
    • Lassen Sie --destination-ranges aus, wenn Sie kein konkretes Ausgangsziel festlegen möchten (0.0.0.0/0).
    • --destination-ranges Verwenden Sie dieses Flag, um Bereiche der Ziel-IP-Adressen im CIDR-Format anzugeben.
  • --rules Eine Liste der Protokolle und Ports, auf die die Regel angewendet wird. Verwenden Sie all, um die Regel auf alle Protokolle und Ports anzuwenden. Erfordert das Flag --action.
  • Standardmäßig werden Firewallregeln automatisch erstellt und erzwungen. Sie können dieses Verhalten jedoch ändern.
  • Bei Auslassung von sowohl --disabled als auch --no-disabled wird die Firewallregel erstellt und erzwungen.
  • --disabled Fügen Sie dieses Flag hinzu, um die Firewallregel zu erstellen, jedoch nicht zu erzwingen. Die Firewallregel bleibt solange deaktiviert, bis Sie die Firewallregel aktualisieren, um sie zu aktivieren.
  • --no-disabled Fügen Sie dieses Flag hinzu, damit die Firewallregel erzwungen wird.
  • --enable-logging | --no-enable-loggingWenn Sie eine Regel erstellen oder aktualisieren, können Sie das Firewallregel-Logging für sie aktivieren. Mit dem Firewallregel-Logging können Sie die Auswirkungen Ihrer Firewallregeln überwachen, überprüfen und analysieren. Weitere Informationen finden Sie unter Firewallregel-Logging.
    • --logging-metadata Wenn Sie das Logging aktivieren, enthält das Firewallregel-Logging standardmäßig Basis- und Metadatenfelder. Sie können Metadatenfelder weglassen, um Speicherkosten zu sparen. Weitere Informationen finden Sie unter Firewallregel-Logging verwenden.
  • API

    Erstellen Sie eine Firewallregel.

    POST https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/firewalls
    {
      "name": "FIREWALL-NAME",
      "network": "projects/PROJECT-ID/global/networks/NETWORK-NAME",
      ... other fields
    }
    

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • PROJECT-ID ist die ID des Projekts, in dem sich das VPC-Netzwerk befindet.
    • NETWORK-NAME ist der Name des VPC-Netzwerks, in dem die Firewallregel erstellt wird.
    • FIREWALL-NAME ist ein Name für die Firewallregel.

    • Verwenden Sie für eine Firewallregel für eingehenden Traffic die folgenden Felder, um die Eingangsquelle anzugeben: sourceRanges, sourceTags oder sourceServiceAccounts. Geben Sie kein Feld an, wenn Sie den Bereich 0.0.0.0/0 verwenden möchten. Sie können die Felder sourceTags und sourceServiceAccounts nicht zusammen verwenden. Sie können jedoch sourceRanges mit sourceTags oder sourceServiceAccounts verwenden. In diesem Fall muss die Verbindung nur mit einem der beiden übereinstimmen, damit die Firewallregel angewendet wird.

      Wenn Sie das Feld sourceTags für die Zielfelder verwenden, können Sie das Feld targetServiceAccounts nicht verwenden. Sie müssen das Feld targetTags oder kein Zielfeld verwenden. Wenn Sie das Feld sourceServiceAccounts verwenden, können Sie das Feld targetTags nicht verwenden. Wenn Sie kein Zielfeld angeben, gilt die Regel für alle Ziele im Netzwerk.

    • Verwenden Sie das Feld destinationRanges bei einer Firewallregel für ausgehenden Traffic, um das Ziel anzugeben. Wenn Sie kein Ziel angeben, verwendet Google Cloud 0.0.0.0/0. Verwenden Sie das Feld targetTags oder targetServiceAccounts, um anzugeben, auf welche Ziele die Regel angewendet wird. Wenn Sie kein Zielfeld angeben, gilt die Regel für alle Ziele im Netzwerk.

    Weitere Informationen und Beschreibungen für die einzelnen Felder finden Sie in der Methode firewalls.insert.

    Firewallregeln aktualisieren

    Sie können einige Komponenten einer Firewallregel ändern, z. B. die angegebenen Protokolle und Ports für die Übereinstimmungsbedingung. Sie können den Namen einer Firewallregel, das Netzwerk, die Aktion bei Übereinstimmung und die Richtung des Traffics nicht ändern.

    Wenn Sie die Komponente "Name", "Netzwerk", "Aktion" oder "Richtung" ändern möchten, müssen Sie die Regel löschen und dann eine neue Regel erstellen.

    Console

    1. Rufen Sie in der Google Cloud Console die Seite "Firewallregeln" auf.
      Zur Seite "Firewall"
    2. Klicken Sie auf die Firewallregel, die Sie ändern möchten.
    3. Klicken Sie auf Bearbeiten.
    4. Sie können jede der bearbeitbaren Komponenten entsprechend Ihren Anforderungen ändern.

      Verwenden Sie im Feld Angegebene Protokolle und Ports eine durch Semikolons getrennte Liste, um mehrere Protokolle anzugeben.

    5. Klicken Sie auf Speichern.

    gcloud

    Der gcloud-Befehl zum Aktualisieren von Firewallregeln lautet:

    gcloud compute firewall-rules update NAME \
        [--priority=PRIORITY] \
        [--description=DESCRIPTION] \
        [--target-tags=TAG,...] \
        [--target-service-accounts=IAM Service Account, ...] \
        [ --source-ranges=CIDR-RANGE, ...] \
        [--source-tags=TAG,...] \
        [--source-service-accounts=IAM Service Account, ...] \
        [--destination-ranges=CIDR-RANGE, ...] \
        [--rules=[PROTOCOL[:PORT[-PORT]],…]] \
        [--disabled | --no-disabled] \
        [--enable-logging | --no-enable-logging]
    

    Die Beschreibungen der einzelnen Flags stimmen mit den Beschreibungen überein, die unter Firewallregeln erstellen aufgeführt sind. Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

    API

    Verwenden Sie PATCH, um die folgenden Felder zu aktualisieren: allowed, description, sourceRanges, sourceTags oder targetTags. Verwenden Sie PUT oder POST für alle anderen Felder.

    (PATCH|(POST|PUT)) https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/firewalls/FIREWALL-NAME
    {
      "name": "FIREWALL-NAME",
      "network": "projects/PROJECT-ID/global/networks/NETWORK-NAME",
      ... other fields
    }
    

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • PROJECT-ID ist die ID des Projekts, in dem sich das VPC-Netzwerk befindet.
    • NETWORK-NAME ist der Name des VPC-Netzwerks, in dem sich die Firewallregel befindet.
    • FIREWALL-NAME ist der Name der zu aktualisierenden Firewallregel.

    Weitere Informationen und Beschreibungen für die einzelnen Felder finden Sie in der Methode firewalls.patch oder firewalls.update.

    Firewallregeln für ein VPC-Netzwerk auflisten

    In der Cloud Console können Sie alle Firewallregeln für Ihr Projekt oder für ein bestimmtes VPC-Netzwerk auflisten. Für jede Firewallregel zeigt die Cloud Console Details wie den Typ, die Ziele und die Filter der Regel an.

    Wenn Sie das Logging von Firewallregeln aktivieren, erhalten Sie in Firewall Insights Informationen zu Ihren Firewallregeln, damit Sie deren Konfigurationen besser verstehen und sicher optimieren können. Sie können beispielsweise sehen, welche allow-Regeln in den letzten 6 Wochen nicht verwendet wurden. Weitere Informationen finden Sie in der Firewall Insights-Dokumentation unter Bildschirm mit Details zu Firewallregeln verwenden.

    Console

    So zeigen Sie alle Firewallregeln für alle Netzwerke in Ihrem Projekt an:

    So zeigen Sie Firewallregeln in einem bestimmten Netzwerk an:

    1. Rufen Sie in der Google Cloud Console die Seite "VPC-Netzwerke" auf.
      Zur VPC-Netzwerkseite
    2. Klicken Sie auf den Namen eines VPC-Netzwerks, um zu dessen Detailseite zu wechseln.
    3. Klicken Sie auf der Detailseite für das Netzwerk auf den Tab Firewallregeln.

    gcloud

    Mit dem folgenden Befehl wird eine sortierte Liste mit Firewallregeln für ein bestimmtes Netzwerk ([NETWORK-NAME]) generiert.

    gcloud compute firewall-rules list --filter network=NETWORK-NAME \
        --sort-by priority \
        --format="table(
            name,
            network,
            direction,
            priority,
            sourceRanges.list():label=SRC_RANGES,
            destinationRanges.list():label=DEST_RANGES,
            allowed[].map().firewall_rule().list():label=ALLOW,
            denied[].map().firewall_rule().list():label=DENY,
            sourceTags.list():label=SRC_TAGS,
            targetTags.list():label=TARGET_TAGS
            )"
    

    API

    Listen Sie alle Firewallregeln für ein bestimmtes Netzwerk auf.

    GET https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/firewalls/?filter=network="NETWORK-NAME
    

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • PROJECT-ID ist die ID des Projekts, in dem sich das VPC-Netzwerk befindet.
    • NETWORK-NAME ist der Name des VPC-Netzwerks, das die aufzulistenden Firewallregeln enthält.

    Weitere Informationen finden Sie in der Methode firewalls.list.

    Firewallregeln für eine Netzwerkschnittstelle einer VM-Instanz auflisten

    Für jede Netzwerkschnittstelle listet die Cloud Console alle für die Schnittstelle geltenden Firewallregeln und die Regeln auf, die tatsächlich von der Schnittstelle verwendet werden. Firewallregeln können andere Regeln maskieren. Daher werden möglicherweise nicht alle Regeln, die für eine Schnittstelle gelten, von der Schnittstelle tatsächlich verwendet.

    Firewallregeln werden durch den Zielparameter einer Regel mit einer VM-Instanz verknüpft und auf diese angewendet. Wenn Sie alle angewendeten Regeln aufrufen, können Sie überprüfen, ob eine bestimmte Regel auf eine Schnittstelle angewendet wird.

    Wenn Sie das Logging von Firewallregeln aktivieren, erhalten Sie in Firewall Insights Informationen zu Ihren Firewallregeln, damit Sie deren Konfigurationen besser verstehen und sicher optimieren können. Sie können beispielsweise sehen, für welche Regeln auf einer Schnittstelle in den letzten 24 Stunden Treffer erzielt wurden. Weitere Informationen finden Sie in der Firewall Insights-Dokumentation unter Bildschirm mit Details zur VM-Netzwerkschnittstelle verwenden.

    So zeigen Sie die Firewallregeln an, die für eine bestimmte Netzwerkschnittstelle einer VM-Instanz gelten:

    1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf und suchen Sie nach der Instanz, die Sie sich ansehen möchten.
      Zur Seite "VM-Instanzen"
    2. Wählen Sie im Dreipunkt-Menü () der Instanz die Option Netzwerkdetails anzeigen aus.
    3. Wenn eine Instanz mehrere Netzwerkschnittstellen hat, wählen Sie im Abschnitt Details zur Netzwerkschnittstelle die Netzwerkschnittstelle aus, die Sie ansehen möchten.
    4. Klicken Sie auf den Tab Firewallregeln, um alle Regeln zu sehen, die für die Netzwerkschnittstelle gelten. Diese sind nach Namen geordnet.

    Eine Netzwerkschnittstelle verwendet möglicherweise nicht alle Regeln, die für sie gelten. Einige Regeln können durch Regeln mit einem spezifischeren Bereich oder einer höheren Priorität überschrieben werden. Durch das Aufrufen der verwendeten Regeln können Sie schnell überprüfen, welche IP-Bereiche, Protokolle und Ports für die Instanz geöffnet oder geschlossen sind.

    So zeigen Sie die Regeln an, die von einer bestimmten Netzwerkschnittstelle einer VM-Instanz verwendet werden:

    1. Rufen Sie in der Google Cloud Console die Seite "VM-Instanzen" auf und suchen Sie nach der Instanz, die Sie sich ansehen möchten.
      Zur Seite "VM-Instanzen"
    2. Wählen Sie im Dreipunkt-Menü () der Instanz die Option Netzwerkdetails anzeigen aus.
    3. Wenn eine Instanz mehrere Netzwerkschnittstellen hat, wählen Sie im Abschnitt Details zur Netzwerkschnittstelle die Netzwerkschnittstelle aus, die Sie ansehen möchten.
    4. Wählen Sie im Abschnitt Netzwerkanalyse den Tab Analyse eingehender Verbindungen oder Analyse ausgehender Verbindungen aus.
    5. Überprüfen Sie in der Tabelle, die vom spezifischsten bis zum am wenigsten spezifischen IP-Adressbereich sortiert ist, ob Traffic zu oder von einer bestimmten IP-Adresse zulässig ist.

    Details zu Firewallregeln ansehen

    Sie können eine Firewallregel untersuchen, um deren Name, zutreffendes Netzwerk und Komponenten anzuzeigen und zu sehen, ob die Regel aktiviert oder deaktiviert ist.

    Console

    1. Zeigen Sie die Firewallregeln in einer Liste an. Sie können die Liste nach einem bestimmten Netzwerk filtern oder alle Regeln aufrufen.
    2. Klicken Sie auf die Regel, die Sie anzeigen möchten.

    gcloud

    Der folgende Befehl beschreibt eine einzelne Firewallregel. Ersetzen Sie [FIREWALL-NAME] durch den Namen der Firewallregel. Da Firewallregeln nur für ein bestimmtes Projekt gelten, müssen Sie kein Netzwerk angeben, wenn Sie eine bestehende Firewallregel beschreiben.

    gcloud compute firewall-rules describe [FIREWALL-NAME]
    

    API

    Beschreiben Sie eine bestimmte Firewallregel.

    GET https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/firewalls/FIREWALL-NAME
    

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • PROJECT-ID ist die ID des Projekts, in dem sich die Firewallregel befindet.
    • FIREWALL-NAME ist der Name der zu beschreibenden Firewallregel.

    Weitere Informationen finden Sie in der Methode firewalls.get.

    Firewallregeln löschen

    Console

    1. Zeigen Sie die Firewallregeln in einer Liste an. Sie können die Liste nach einem bestimmten Netzwerk filtern oder alle Regeln aufrufen.
    2. Klicken Sie auf die Regel, die Sie löschen möchten.
    3. Klicken Sie auf Löschen.
    4. Klicken Sie zur Bestätigung noch einmal auf Löschen.

    gcloud

    Mit dem folgenden Befehl werden Firewallregeln gelöscht. Ersetzen Sie [FIREWALL-NAME] durch den Namen Ihres Dienstes.

    gcloud compute firewall-rules delete [FIREWALL-NAME]
    

    API

    Firewallregel löschen

    DELETE https://www.googleapis.com/compute/v1/projects/PROJECT-ID/global/firewalls/FIREWALL-NAME
    

    Ersetzen Sie die Platzhalter durch gültige Werte:

    • PROJECT-ID ist die ID des Projekts, in dem sich die Firewallregel befindet.
    • FIREWALL-NAME ist der Name der zu löschenden Firewallregel.

    Weitere Informationen finden Sie in der Methode firewalls.delete.

    Firewallregeln überwachen

    Wenn Sie das Firewallregel-Logging aktivieren, können Sie sehen, welche Regel welche Art von Traffic zulässt oder blockiert. Informationen zum Einrichten von Firewallregel-Logging finden Sie unter Firewallregel-Logging verwenden.

    Konfigurationsbeispiele

    Das folgende Diagramm zeigt ein Beispiel für eine Firewallkonfiguration. Das Szenario umfasst my-network mit folgenden Elementen:

    • ein Subnetz subnet1 mit IP-Bereich 10.240.10.0/24
    • ein Subnetz subnet2 mit IP-Bereich 192.168.1.0/24
    • Instanz vm1 in subnet2 mit dem Tag webserver und der internen IP-Adresse 192.168.1.2
    • Instanz vm2 in subnet2 mit dem Tag database und der internen IP-Adresse 192.168.1.3
    Beispiel für die Netzwerkkonfiguration (zum Vergrößern anklicken)
    Beispiel für die Netzwerkkonfiguration (zum Vergrößern anklicken)

    Beispiel 1: Alle eingehenden TCP-Verbindungen mit Ausnahme von Port 80 aus subnet1 ablehnen

    In diesem Beispiel werden mehrere Firewallregeln erstellt, die alle eingehenden TCP-Verbindungen außer denen mit dem Zielport 80 von subnet1 blockieren.

    1. Erstellen Sie eine Firewallregel, die den gesamten eingehenden TCP-Traffic zu Instanzen mit dem Tag webserver ablehnt.

      gcloud compute firewall-rules create deny-subnet1-webserver-access \
          --network NETWORK-NAME \
          --action deny \
          --direction ingress \
          --rules tcp \
          --source-ranges 0.0.0.0/0 \
          --priority 1000 \
          --target-tags webserver
      
    2. Erstellen Sie eine Firewallregel, die allen IP-Adressen in subnet1 (10.240.10.0/24) den Zugriff auf TCP-Port 80 auf Instanzen mit dem Tag webserver gewährt.

      gcloud compute firewall-rules create vm1-allow-ingress-tcp-port80-from-subnet1 \
          --network NETWORK-NAME \
          --action allow \
          --direction ingress \
          --rules tcp:80 \
          --source-ranges 10.240.10.0/24 \
          --priority 50 \
          --target-tags webserver
      

    Beispiel 2: Alle ausgehenden TCP-Verbindungen außer an Port 80 von vm1 ablehnen

    1. Erstellen Sie eine Firewallregel, die den gesamten ausgehenden TCP-Traffic ablehnt.

      gcloud compute firewall-rules create deny-all-access \
          --network NETWORK-NAME \
          --action deny \
          --direction egress \
          --rules tcp \
          --destination-ranges 0.0.0.0/0 \
          --priority 1000
      
    2. Erstellen Sie eine Firewallregel, die den TCP-Traffic an vm1 mit dem Port 80 zulässt.

      gcloud compute firewall-rules create vm1-allow-egress-tcp-port80-to-vm1 \
          --network NETWORK-NAME \
          --action allow \
          --direction egress \
          --rules tcp:80 \
          --destination-ranges 192.168.1.2/32 \
          --priority 60
      

    Beispiel 3: Ausgehende TCP-Verbindungen an Port 443 eines externen Hosts zulassen

    Erstellen Sie eine Firewallregel, die für Instanzen mit dem Tag webserver ausgehenden TCP-Traffic an Port 443 für die externe Beispiel-IP-Adresse 192.0.2.5 zulässt.

    gcloud compute firewall-rules create vm1-allow-egress-tcp-port443-to-192-0-2-5 \
        --network NETWORK-NAME \
        --action allow \
        --direction egress \
        --rules tcp:443 \
        --destination-ranges 192.0.2.5/32 \
        --priority 70 \
        --target-tags webserver
    

    Beispiel 4: SSH-Verbindungen von vm2 zu vm1 zulassen

    Erstellen Sie eine Firewallregel, die SSH-Traffic von Instanzen mit dem Tag database (vm2) zu Instanzen mit dem Tag webserver (vm1) zulässt.

    gcloud compute firewall-rules create vm1-allow-ingress-tcp-ssh-from-vm2 \
        --network NETWORK-NAME \
        --action allow \
        --direction ingress \
        --rules tcp:22 \
        --source-tags database \
        --priority 80 \
        --target-tags webserver
    

    Beispiel 5: TCP:1443 vom Webserver zur Datenbank über Dienstkonten zulassen

    Weitere Informationen zu Dienstkonten und Rollen finden Sie unter Rollen für Dienstkonten zuweisen.

    Betrachten Sie das Szenario im nachfolgenden Diagramm. Hier werden zwei Anwendungen mithilfe von Vorlagen automatisch skaliert: eine Webserveranwendung my-sa-web und eine Datenbankanwendung "my-sa-db". Ein Sicherheitsadministrator möchte TCP-Abläufe an Port 1443 von my-sa-web bis my-sa-db zulassen.

    Firewallregeln mit Dienstkonten verwenden (zum Vergrößern anklicken)
    Firewallregeln mit Dienstkonten verwenden (zum Vergrößern anklicken)

    Die Konfigurationsschritte, einschließlich dem Erstellen der Dienstkonten, sind wie folgt:

    1. Ein Projektbearbeiter oder Projektinhaber erstellt die Dienstkonten my-sa-web und my-sa-db.

      gcloud iam service-accounts create my-sa-web \
          --display-name "webserver service account"
      
      gcloud iam service-accounts create my-sa-db \
          --display-name "database service account"
      
    2. Ein Projektinhaber weist dem Webserverentwickler web-dev@example.com die Rolle serviceAccountUser für das Dienstkonto my-sa-web zu und richtet dafür eine IAM-Richtlinie ein.

      gcloud iam service-accounts add-iam-policy-binding \
         my-sa-web@my-project.iam.gserviceaccount.com \
         --member='user:web-dev@example.com' \
         --role='roles/iam.serviceAccountUser'
      
    3. Ein Projektinhaber weist dem Datenbankentwickler "db-dev@example.com" die Rolle serviceAccountUser für das Dienstkonto my-sa-db zu und richtet dafür eine IAM-Richtlinie ein.

      gcloud iam service-accounts add-iam-policy-binding \
         my-sa-db@my-project.iam.gserviceaccount.com \
         --member='user:db-dev@example.com' \
         --role='roles/iam.serviceAccountUser'
      
    4. Der Entwickler web-dev@example.com, der die Rolle "Instanzadministrator" hat, erstellt die Vorlage für Webserverinstanzen und autorisiert die Ausführung von Instanzen über das Dienstkonto my-sa-web.

      gcloud compute instance-templates create [INSTANCE_TEMPLATE_NAME]  \
          --service-account my-sa-web@my-project-123.iam.gserviceaccount.com
      
    5. Der Entwickler db-dev@example.com, der die Rolle "Instanzadministrator" hat, erstellt die Vorlage für Datenbankinstanzen und autorisiert die Ausführung von Instanzen über das Dienstkonto my-sa-db.

      gcloud compute instance-templates create [INSTANCE_TEMPLATE_NAME] \
          --service-account my-sa-db@my-project-123.iam.gserviceaccount.com
      
    6. Der Sicherheitsadministrator erstellt die Firewallregeln mithilfe von Dienstkonten und lässt Traffic TCP:1443 vom Dienstkonto my-sa-web zum Dienstkonto my-sa-dbzu.

      gcloud compute firewall-rules create FIREWALL-NAME \
          --network network_a \
          --allow TCP:1443 \
          --source-service-accounts my-sa-web@my-project.iam.gserviceaccount.com \
          --target-service-accounts my-sa-db@my-project.iam.gserviceaccount.com
      

    Fehlerbehebung

    Fehlermeldungen beim Erstellen oder Aktualisieren einer Firewallregel

    Möglicherweise wird eine der folgenden Fehlermeldungen angezeigt:

    • Should not specify destination range for ingress direction.

      Zielbereiche sind keine gültigen Parameter für Firewallregeln für den eingehenden Traffic. Es wird davon ausgegangen, dass die Firewallregeln den eingehenden Traffic betreffen, es sei denn, egress wäre als spezifische Richtung angegeben. Wenn Sie eine Regel erstellen, die keine Richtung angibt, wird sie als Eingangsregel erstellt. Deshalb sind Zielbereiche nicht zulässig. Gleichermaßen sind Quellbereiche keine gültigen Parameter für Ausgangsregeln.

    • Firewall direction cannot be changed once created.

      Sie können die Richtung einer vorhandenen Firewallregel nicht ändern. Sie müssen eine neue Regel mit den korrekten Parametern erstellen und dann die alte Regel löschen.

    • Firewall traffic control action cannot be changed once created.

      Sie können die Aktion einer bestehenden Firewallregel nicht ändern. Sie müssen eine neue Regel mit den korrekten Parametern erstellen und dann die alte Regel löschen.

    • Service accounts must be valid RFC 822 email addresses. Das in der Firewallregel angegebene Dienstkonto muss eine gemäß RFC 822 formatierte E-Mail-Adresse sein.

      gcloud compute firewall-rules create bad --allow tcp --source-service-accounts invalid-email
      
      Creating firewall...failed.
      ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource:
      – Invalid value for field 'resource.sourceServiceAccounts[0]': 'invalid-email'. Service accounts must be valid RFC 822 email addresses.
      
    • ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule. Sie können nicht sowohl Dienstkonten als auch Tags in derselben Regel angeben.

      gcloud compute firewall-rules create bad --allow tcp --source-service-accounts test@google.com --target-tags target
      
      Creating firewall...failed.
       ERROR: (gcloud.compute.firewall-rules.create) Could not fetch resource:
      – ServiceAccounts and Tags are mutually exclusive and can't be combined in the same firewall rule.
      

    Keine Verbindung zur VM-Instanz möglich

    Wenn Sie keine Verbindung zu einer VM-Instanz herstellen können, überprüfen Sie Ihre Firewallregeln.

    1. Wenn Sie die Verbindung von einer anderen VM-Instanz aus initiieren, listen Sie die ausgehenden Firewallregeln für diese Instanz auf.

      gcloud compute firewall-rules list --filter network=[NETWORK-NAME] \
          --filter EGRESS \
          --sort-by priority \
          --format="table(
              name,
              network,
              direction,
              priority,
              sourceRanges.list():label=SRC_RANGES,
              destinationRanges.list():label=DEST_RANGES,
              allowed[].map().firewall_rule().list():label=ALLOW,
              denied[].map().firewall_rule().list():label=DENY,
              sourceTags.list():label=SRC_TAGS,
              sourceServiceAccounts.list():label=SRC_SVC_ACCT,
              targetTags.list():label=TARGET_TAGS,
              targetServiceAccounts.list():label=TARGET_SVC_ACCT
              )"
      
    2. Überprüfen Sie, ob die Ziel-IP von ausgehenden Regeln blockiert wird. Die Regel mit der höchsten Priorität (niedrigste Prioritätsnummer) überschreibt Regeln mit niedrigerer Priorität. Bei Regeln mit derselben Priorität hat die "deny"-Regel Vorrang.

    3. Prüfen Sie die eingehende Firewallregel für das Netzwerk, das die Ziel-VM-Instanz enthält.

      gcloud compute firewall-rules list --filter network=[NETWORK-NAME] \
          --filter INGRESS \
          --sort-by priority \
          --format="table(
              name,
              network,
              direction,
              priority,
              sourceRanges.list():label=SRC_RANGES,
              destinationRanges.list():label=DEST_RANGES,
              allowed[].map().firewall_rule().list():label=ALLOW,
              denied[].map().firewall_rule().list():label=DENY,
              sourceTags.list():label=SRC_TAGS,
              sourceServiceAccounts.list():label=SRC_SVC_ACCT,
              targetTags.list():label=TARGET_TAGS,
              targetServiceAccounts.list():label=TARGET_SVC_ACCT
              )"
      

      Hier eine Beispielausgabe. Ihre Ausgabe hängt von Ihrer Liste der Firewallregeln ab.

      NAME                    NETWORK  DIRECTION  PRIORITY  SRC_RANGES    DEST_RANGES  ALLOW                         DENY  SRC_TAGS  SRC_SVC_ACCT      TARGET_TAGS  TARGET_SVC_ACCT
      default-allow-icmp      default  INGRESS    65534     0.0.0.0/0                  icmp
      default-allow-internal  default  INGRESS    65534     10.128.0.0/9               tcp:0-65535,udp:0-65535,icmp
      default-allow-rdp       default  INGRESS    65534     0.0.0.0/0                  tcp:3389
      default-allow-ssh       default  INGRESS    65534     0.0.0.0/0                  tcp:22
      firewall-with-sa        default  INGRESS    1000                                 tcp:10000                                     test1@google.com               target@google.com
      

    Ist meine Firewallregel aktiviert oder deaktiviert?

    Unter Details zu Firewallregeln können Sie sehen, ob eine Firewallregel aktiviert oder deaktiviert ist.

    Suchen Sie in der Google Cloud Console unter Erzwingung nach Enabled oder Disabled.

    Suchen Sie in der Ausgabe des Befehlszeilentools gcloud nach dem Feld disabled. Bei disabled:false wird die Regel aktiviert und erzwungen. Bei disabled: true wird die Regel deaktiviert.

    Welche Regel wird auf eine VM-Instanz angewendet?

    Angenommen, Sie fügen einem VPC-Netzwerk eine neue Firewallregel hinzu, die Verbindungen zu einem Datenbankserver unter 10.1.2.3 über tcp:1433 zulässt. Nachdem Sie die Regel erstellt haben, können Sie prüfen, ob sie für eine bestimmte Instanz korrekt angewendet wird. Weitere Informationen finden Sie unter Firewallregeln für eine Netzwerkschnittstelle einer VM-Instanz auflisten.

    Im folgenden Beispiel wird in der Konsole auf dem Tab Analyse ausgehender Verbindungen für diese VM-Instanz die Regel database-access aufgelistet. Das bedeutet, dass unter 10.1.2.3 ausgehender Traffic an Port 1433 zugelassen wird. Anderer ausgehender Traffic im Bereich 10.1.0.0/16 wird aufgrund der Firewallregel deny-database-subnet blockiert.

    Zulässiger ausgehender Traffic für eine VM-Instanz (zum Vergrößern anklicken)
    Zulässiger ausgehender Traffic für eine VM-Instanz (zum Vergrößern anklicken)

    Firewallregeln mit Quelltags werden nicht sofort wirksam

    Firewallregeln für eingehenden Traffic, die Quelltags verwenden, benötigen etwas Zeit, bis sie wirksam werden. Weitere Informationen finden Sie in den Hinweisen zu Quelltags bei Firewallregeln für eingehenden Traffic.

    Weitere Informationen