Logging von Firewallrichtlinien-Regeln verwalten

Auf dieser Seite wird beschrieben, wie Sie das Logging für Regeln für hierarchische Firewallrichtlinien und Netzwerk-Firewallrichtlinien aktivieren und deaktivieren. Eine Anleitung zum Logging für Firewallrichtlinienregeln finden Sie unter Logging von Firewallrichtlinienregeln aktivieren und deaktivieren. Außerdem erfahren Sie, wie Sie generierte Logs für Firewallrichtlinienregeln aufrufen. Informationen zum Logging von Firewallrichtlinienregeln finden Sie unter Übersicht über das Logging von Firewallrichtlinienregeln.

Wenn Sie das Logging für eine Firewallrichtlinienregel aktivieren, können Sie über Firewall Insights Informationen und Empfehlungen dazu abrufen. Weitere Informationen finden Sie unter Firewall Insights in der Dokumentation zu Network Intelligence Center.

Berechtigungen

Zum Ändern von Firewallrichtlinienregeln oder Zugriffslogs benötigen IAM-Hauptkonten (Identity and Access Management) eine der folgenden Rollen.

Aufgabe Erforderliche Rolle
Firewallregeln erstellen, löschen oder aktualisieren Projektinhaber oder -bearbeiter oder Rolle „Sicherheitsadministrator“ (roles/compute.securityAdmin)
Logs ansehen Projektinhaber, -bearbeiter oder -betrachter oder Rolle „Logbetrachter“ (roles/logging.viewer)
Weitere Informationen zu IAM-Rollen und Berechtigungen für Logging finden Sie unter Vordefinierte Rollen.

Logging von Firewallrichtlinienregeln aktivieren und deaktivieren

Wenn Sie eine Firewallrichtlinien-Regel erstellen, können Sie das Logging von Firewallrichtlinien-Regeln aktivieren. Hier finden Sie weitere Informationen:

Wenn Sie das Logging aktivieren, können Sie angeben, ob Metadatenfelder enthalten sein sollen. Wenn Sie sie weglassen, können Sie Speicherkosten sparen. In den folgenden Abschnitten erfahren Sie, wie Sie das Logging von Firewallrichtlinienregeln für eine vorhandene Firewallrichtlinienregel aktivieren oder deaktivieren.

Logging von Firewallrichtlinienregeln für eine hierarchische Firewallrichtlinie aktivieren

Console

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

    Zu den Firewall-Richtlinien

  2. Wählen Sie im Menü zur Projektauswahl den Namen der Organisation aus, in der Sie die hierarchische Firewallrichtlinie erstellt haben.

  3. Klicken Sie im Bereich Firewallrichtlinien in dieser Organisation auf den Namen Ihrer hierarchischen Firewallrichtlinie.

  4. Prüfen Sie in der Spalte Logs, ob das Logging von Firewallrichtlinienregeln für jede Firewallrichtlinienregel Deaktiviert oder Aktiviert ist.

  5. Wenn Sie das Logging für eine Firewallrichtlinienregel aktivieren möchten, klicken Sie auf die Priorität der Regel und dann auf Bearbeiten.

  6. Wählen Sie im Bereich Logs die Option Aktiviert aus.

  7. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den gcloud compute firewall-policies rules update-Befehl, um Firewallrichtlinienregeln für Organisationen zu aktualisieren:

gcloud compute firewall-policies rules update PRIORITY \
    --firewall-policy= FIREWALL_POLICY \
    --enable-logging

Ersetzen Sie Folgendes:

  • PRIORITY: die Priorität der zu aktualisierenden Firewallrichtlinienregel.
  • FIREWALL_POLICY: der Name der Firewallrichtlinie, in der die Regel aktualisiert wird.

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Terraform

Sie können die Terraform-Ressource verwenden, um eine Firewallrichtlinienregel mit aktiviertem Logging zu erstellen.

resource "google_compute_firewall_policy_rule" "primary" {
  firewall_policy = google_compute_firewall_policy.POLICY_ID
  description     = "Creates an ingress firewall policy rule with logging enabled"
  priority        = PRIORITY
  enable_logging  = true
  action          = "allow"
  direction       = "INGRESS"
  disabled        = false
  match {
    layer4_configs {
      ip_protocol = "tcp"
      ports = [8080]
    }
    layer4_configs {
      ip_protocol = "udp"
      ports = [22]
    }
    src_ip_ranges = ["SOURCE_IP_ADDRESS"]
  }
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

API

Logging von Firewallrichtlinienregeln für eine vorhandene hierarchische Firewallrichtlinienregel aktivieren

POST https://compute.googleapis.com/compute/v1/locations/global/firewallPolicies/POLICY_ID/patchRule?priority=PRIORITY

{
  "enableLogging": true,
}

Ersetzen Sie Folgendes:

  • POLICY_ID: die ID der hierarchischen Firewallrichtlinie, in der sich die Firewallrichtlinienregel befindet.
  • PRIORITY: die Priorität der Firewallrichtlinienregel.

Weitere Informationen finden Sie in der Methode firewallPolicies.patchRule.

Logging von Firewallrichtlinienregeln für eine hierarchische Firewallrichtlinie deaktivieren

Console

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

    Zu den Firewall-Richtlinien

  2. Wählen Sie im Menü zur Projektauswahl den Namen der Organisation aus, in der Sie die hierarchische Firewallrichtlinie erstellt haben.

  3. Klicken Sie im Bereich Firewallrichtlinien in dieser Organisation auf den Namen Ihrer hierarchischen Firewallrichtlinie.

  4. Prüfen Sie in der Spalte Logs, ob das Logging von Firewallrichtlinienregeln für jede Firewallrichtlinienregel Deaktiviert oder Aktiviert ist.

  5. Wenn Sie das Logging für eine Firewallrichtlinienregel deaktivieren möchten, klicken Sie auf die Priorität der Regel und dann auf Bearbeiten.

  6. Wählen Sie im Bereich Logs die Option Deaktiviert aus.

  7. Klicken Sie auf Speichern.

gcloud

Verwenden Sie den gcloud compute firewall-policies rules update-Befehl, um Firewallrichtlinienregeln für Organisationen zu aktualisieren:

gcloud compute firewall-policies rules update PRIORITY \
    --firewall-policy= FIREWALL_POLICY \
    --no-enable-logging

Ersetzen Sie Folgendes:

  • PRIORITY: die Priorität der zu aktualisierenden Firewallrichtlinienregel.
  • FIREWALL_POLICY: der Name der Firewallrichtlinie, in der die Regel aktualisiert wird.

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

API

Logging von Firewallrichtlinienregeln für eine vorhandene hierarchische Firewallrichtlinienregel deaktivieren

POST https://compute.googleapis.com/compute/v1/locations/global/firewallPolicies/POLICY_ID/patchRule?priority=PRIORITY

{
  "enableLogging": false,
}

Ersetzen Sie Folgendes:

  • POLICY_ID: die ID der hierarchischen Firewallrichtlinie, in der sich die Firewallrichtlinienregel befindet.
  • PRIORITY: die Priorität der Firewallrichtlinienregel.

Weitere Informationen finden Sie in der Methode firewallPolicies.patchRule.

Logging von Firewallrichtlinienregeln für eine Netzwerk-Firewallrichtlinie aktivieren

Console

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

    Zu den Firewall-Richtlinien

  2. Wählen Sie im Menü zur Projektauswahl den Namen des Projekts aus, in dem Sie die Netzwerk-Firewallrichtlinie erstellt haben.

  3. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf den Namen der Netzwerk-Firewallrichtlinie, für die Sie das Logging aktivieren möchten.

  4. Prüfen Sie in der Spalte Logs, ob das Logging von Firewallrichtlinienregeln für jede Firewallrichtlinienregel Deaktiviert oder Aktiviert ist.

  5. Wenn Sie das Logging für eine Netzwerk-Firewallrichtlinienregel aktivieren möchten, klicken Sie auf die Priorität der Regel und dann auf Bearbeiten.

  6. Wählen Sie im Bereich Logs die Option Aktiviert aus.

  7. Klicken Sie auf Speichern.

gcloud

Verwenden Sie zum Aktualisieren von Netzwerk-Firewallrichtlinienregeln den gcloud compute network-firewall-policies rules update-Befehl:

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

Ersetzen Sie Folgendes:

  • PRIORITY: die Priorität der zu aktualisierenden Firewallrichtlinienregel.
  • FIREWALL_POLICY: der Name der Richtlinie für Netzwerkfirewalls, in der sich die Firewallrichtlinienregel befindet.

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Terraform

Sie können die Terraform-Ressource verwenden, um eine Firewallrichtlinienregel mit aktiviertem Logging zu erstellen.

resource "google_compute_firewall_policy_rule" "primary" {
  firewall_policy = google_compute_firewall_policy.POLICY_ID
  description     = "Creates an ingress firewall policy rule with logging enabled"
  priority        = PRIORITY
  enable_logging  = true
  action          = "allow"
  direction       = "INGRESS"
  disabled        = false
  match {
    layer4_configs {
      ip_protocol = "tcp"
      ports = [8080]
    }
    layer4_configs {
      ip_protocol = "udp"
      ports = [22]
    }
    src_ip_ranges = ["SOURCE_IP_ADDRESS"]
  }
}

Informationen zum Anwenden oder Entfernen einer Terraform-Konfiguration finden Sie unter Grundlegende Terraform-Befehle.

API

Logging von Firewallrichtlinienregeln für eine vorhandene Regel für die Netzwerk-Firewallrichtlinie aktivieren

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewallPolicies/POLICY_ID/patchRule?priority=PRIORITY

{
  "enableLogging": true,
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: Die ID des Projekts, in dem sich Ihre Netzwerkrichtlinie befindet.
  • POLICY_ID: die ID der hierarchischen Firewallrichtlinie, in der sich die Firewallrichtlinienregel befindet.
  • PRIORITY: die Priorität der Firewallrichtlinienregel.

Weitere Informationen finden Sie in der Methode networkFirewallPolicies.patchRule.

Logging von Firewallrichtlinien-Regeln für eine Netzwerk-Firewallrichtlinie deaktivieren

Console

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

    Zu den Firewall-Richtlinien

  2. Wählen Sie im Menü zur Projektauswahl den Namen des Projekts aus, in dem Sie die Netzwerk-Firewallrichtlinie erstellt haben.

  3. Klicken Sie im Abschnitt Netzwerk-Firewallrichtlinien auf den Namen der Netzwerk-Firewallrichtlinie, für die Sie das Logging aktivieren möchten.

  4. Prüfen Sie in der Spalte Logs, ob das Logging von Firewallrichtlinienregeln für jede Firewallrichtlinienregel Deaktiviert oder Aktiviert ist.

  5. Wenn Sie die Protokollierung für eine Regel einer Netzwerkfirewall-Richtlinie deaktivieren möchten, klicken Sie auf die Regelpriorität und dann auf Bearbeiten.

  6. Wählen Sie im Bereich Logs die Option Deaktiviert aus.

  7. Klicken Sie auf Speichern.

gcloud

Verwenden Sie zum Aktualisieren von Netzwerk-Firewallrichtlinienregeln den gcloud compute network-firewall-policies rules update-Befehl:

gcloud compute network-firewall-policies rules update PRIORITY \
    --firewall-policy= FIREWALL_POLICY \
    --no-enable-logging

Ersetzen Sie Folgendes:

  • PRIORITY: die Priorität der zu aktualisierenden Firewallrichtlinienregel.
  • FIREWALL_POLICY: der Name der Richtlinie für Netzwerkfirewalls, in der sich die Firewallrichtlinienregel befindet.

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

API

Logging von Firewallrichtlinienregeln für eine vorhandene hierarchische Firewallrichtlinienregel deaktivieren

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewallPolicies/POLICY_ID/patchRule?priority=PRIORITY

{
  "enableLogging": false,
}

Ersetzen Sie Folgendes:

  • POLICY_ID: die ID der hierarchischen Firewallrichtlinie, in der sich die Firewallrichtlinienregel befindet.
  • PRIORITY: die Priorität der Firewallrichtlinienregel.

Weitere Informationen finden Sie in der Methode networkFirewallPolicies.patchRule.

Logs ansehen

Die Firewallrichtlinienregel-Logs werden in dem Projekt erstellt, in dem das Netzwerk mit den VM-Instanzen und Firewallregeln gehostet wird. Bei Verwendung einer freigegebenen VPC erstellen Sie VM-Instanzen in Dienstprojekten. Diese Instanzen verwenden jedoch ein freigegebene VPC-Netzwerk, das sich im Hostprojekt befindet. In solchen Fällen werden die Logs der Firewallrichtlinienregeln im Hostprojekt gespeichert.

Informationen zu Firewallrichtlinienregel-Logs finden Sie im Abschnitt „Log-Explorer“ der Google Cloud -Konsole. Weitere Informationen finden Sie unter Logs ansehen und analysieren.

Die folgenden Anfragen zeigen, wie Sie nach bestimmten Firewallereignissen suchen können.

Alle Firewalllogs ansehen

Verwenden Sie eine der folgenden Optionen, um die Logs der Firewallrichtlinienregeln aufzurufen.

Option 1

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk und dann auf Übernehmen.

  4. Klicken Sie auf Alle Lognamen und wählen Sie in der Liste die Option Firewall aus.

  5. Klicken Sie auf Übernehmen.

Option 2

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Fügen Sie Folgendes in das Feld des Abfrageeditors ein.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    

    Ersetzen Sie PROJECT_ID durch Ihre Projekt-ID.

  3. Wenn das Feld des Abfrageeditors nicht angezeigt wird, klicken Sie auf den Ein/Aus-Button Abfrage anzeigen.

  4. Klicken Sie auf Abfrage ausführen.

Logs für bestimmte Subnetze ansehen

Verwenden Sie eine der folgenden Optionen, um die Firewallrichtlinienregel-Logs für bestimmte Subnetze aufzurufen.

Option 1

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf Subnetzwerk.

  4. Wählen Sie das Subnetzwerk aus, für das Sie Logs aufrufen möchten, und klicken Sie dann auf Übernehmen.

  5. Klicken Sie auf Alle Lognamen und wählen Sie in der Liste die Option Firewall aus.

  6. Klicken Sie auf Übernehmen.

Option 2

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Fügen Sie Folgendes in das Feld des Abfrageeditors ein.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    resource.labels.subnetwork_name="SUBNET_NAME"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID
    • SUBNET_NAME: der Name Ihres Subnetzwerks
  3. Wenn das Feld des Abfrageeditors nicht angezeigt wird, klicken Sie auf den Ein/Aus-Button Abfrage anzeigen.

  4. Klicken Sie auf Abfrage ausführen.

Logs in bestimmten VMs ansehen

Verwenden Sie eine der folgenden Optionen, um die Firewallrichtlinienregellogs für bestimmte VMs aufzurufen.

Option 1

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Klicken Sie auf Alle Ressourcen.

  3. Klicken Sie in der Liste Ressource auswählen auf VM-Instanz.

  4. Wählen Sie die Instanz aus, für die Sie Logs aufrufen möchten, und klicken Sie dann auf Übernehmen.

  5. Klicken Sie auf Alle Lognamen und wählen Sie in der Liste die Option Firewall aus.

  6. Klicken Sie auf Übernehmen.

Option 2

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Fügen Sie Folgendes in das Feld des Abfrageeditors ein.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    jsonPayload.instance.vm_name="INSTANCE_ID"
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID
    • INSTANCE_ID: die ID der VM, für die Sie Logs ansehen möchten
  3. Wenn das Feld des Abfrageeditors nicht angezeigt wird, klicken Sie auf den Ein/Aus-Button Abfrage anzeigen.

  4. Klicken Sie auf Abfrage ausführen.

Logs für Verbindungen aus einem bestimmten Land ansehen

So rufen Sie die Firewallrichtlinienregellogs für ein bestimmtes Land auf:

  1. Rufen Sie in der Google Cloud Console die Seite Log-Explorer auf.

    Zum Log-Explorer

  2. Fügen Sie Folgendes in das Feld des Abfrageeditors ein.

    resource.type="gce_subnetwork"
    logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
    jsonPayload.remote_location.country=COUNTRY
    

    Ersetzen Sie Folgendes:

    • PROJECT_ID: die Projekt-ID
    • COUNTRY: Der ISO 3166-1alpha-3-Code des Landes, für das Sie Logs aufrufen möchten
  3. Wenn das Feld des Abfrageeditors nicht angezeigt wird, klicken Sie auf den Ein/Aus-Button Abfrage anzeigen.

  4. Klicken Sie auf Abfrage ausführen.

Logs exportieren

Informationen zum Exportieren von Logs zu Firewallrichtlinienregeln finden Sie unter Logs an unterstützte Ziele weiterleiten. Mit den Beispielabfragen können Sie die zu exportierenden Logs einschränken.

Tabelle der Interaktionen

  • Im Falle einer VM-zu-VM-Kommunikation können Log-Datensätze entsprechend den jeweiligen Firewallregeln von beiden VMs generiert werden.
  • Die im Log erfasste Verbindung enthält Pakete, die in beide Richtungen übertragen werden, wenn das erste Paket von der Firewall zugelassen wurde.
  • Für jede VM werden eingehende Verbindungen mit den auf der VM konfigurierten Firewallregeln abgeglichen. Ausgehende Verbindungen werden mit der auf der VM konfigurierten Firewallregel für ausgehenden Traffic verglichen.
  • Eine zulässige Verbindung, die eine Firewallregel mit "zulassen und im Log erfassen" erfüllt, wird nur einmal erfasst. Der Logeintrag wird nicht alle 5 Sekunden wiederholt, selbst wenn die Verbindung bestehen bleibt.
  • Eine abgelehnte Verbindung, die einer Firewallregel mit "ablehnen und im Log erfassen" entspricht, wiederholt den Log-Eintrag alle 5 Sekunden, solange Pakete in der abgelehnten Verbindung erkannt werden.
  • Wenn Sie das Logging für eine Firewallregel aktivieren, die einer bereits aktiven TCP- oder UDP-Verbindung entspricht, wird kein neuer Logeintrag generiert. Ein Logeintrag wird nur erstellt, wenn die Verbindung mindestens 10 Minuten lang inaktiv bleibt und ein neues Paket über dieselbe Verbindung gesendet wird. Bei kontinuierlichem Traffic mit Leerlaufzeiten von weniger als 10 Minuten wird nur ein Logeintrag für die Verbindung generiert.

Die folgende Tabelle zeigt das Logging-Verhalten der Firewall aus der Perspektive einer einzelnen VM.

Im vorliegenden Szenario gilt für eine VM1 eine Regel R1 für eingehenden Traffic und eine Regel R2 für ausgehenden Traffic. Für beide Regeln gibt es jeweils Pakete, die übereinstimmen. Daraus ergibt sich das folgende Verhalten beim Firewall-Logging:

VM1 mit Regel R1 für eingehenden Traffic (übereinstimmende Pakete) VM1 mit Regel R2 für ausgehenden Traffic (übereinstimmende Pakete) Verbindungsrichtung Aktion Log
Zulassen + Log Zulassen Eingehender Traffic Zulassen Ein Logeintrag:
disposition=allow, rule=R1
Ablehnen
Zulassen + Log
Ablehnen + Log
Zulassen Zulassen Eingehender Traffic Zulassen Kein Logging
Ablehnen
Zulassen + Log
Ablehnen + Log
Ablehnen + Log Eingehender Traffic Ablehnen Ein Logeintrag alle 5 Sekunden:
disposition=deny, rule=R1
Ablehnen Eingehender Traffic Ablehnen Kein Logging
Zulassen Zulassen + Log Ausgehender Traffic Zulassen Ein Logeintrag:
disposition=allow, rule=R2
Ablehnen
Zulassen + Log
Ablehnen + Log
Zulassen Zulassen Ausgehender Traffic Zulassen Kein Logging
Ablehnen
Zulassen + Log
Ablehnen + Log
Ablehnen + Log Ausgehender Traffic Ablehnen Ein Logeintrag alle 5 Sekunden:
disposition=deny, rule=R2
Ablehnen Ausgehender Traffic Ablehnen Kein Logging

Beachten Sie, dass der eingehende und der ausgehende Traffic symmetrisch sind.

Dies ist die detaillierte Beschreibung der Semantik der Firewall-Logs:

  • Zulassen + Log (Logging wird nur für TCP und UDP unterstützt)

    • Wird eine Verbindung in die Richtung initiiert, für die die Regel gilt, wird ein einzelner Log-Datensatz erstellt.
    • Antworttraffic ist aufgrund der Verbindungsverfolgung zulässig. Antworttraffic verursacht unabhängig von den für diese Richtung geltenden VPC-Firewallregeln kein Logging.
    • Wenn die Verbindung von der Firewall beendet wird (nach 10 Minuten Inaktivität oder Empfang von TCP RST), kann ein anderes Paket in beide Richtungen Logging auslösen.
    • Das Logging basiert auf 5-Tupeln. TCP-Flags haben keinen Einfluss auf das Logging-Verhalten.
  • Ablehnen + Log (Logging wird nur für TCP und UDP unterstützt)

    • Pakete werden gelöscht (es wird keine Verbindung initiiert).
    • Jedes Paket, das einem eindeutigen 5-Tupel entspricht, wird als fehlgeschlagener Verbindungsversuch im Log erfasst.
    • Dasselbe 5-Tupel wird alle 5 Sekunden erneut im Log erfasst, wenn weiterhin Pakete empfangen werden.

Nächste Schritte