VPC-Firewallregel-Logging verwalten

Auf dieser Seite wird beschrieben, wie Sie das Logging für VPC-Firewallregeln aktivieren und deaktivieren. Eine Anleitung zum Logging von VPC-Firewallregeln (Virtual Private Cloud) finden Sie unter Logging von VPC-Firewallregeln aktivieren und deaktivieren. Sie können auch nachlesen, wie Sie generierte Logs für VPC-Firewallregeln aufrufen. Informationen zur Protokollierung von VPC-Firewallregeln finden Sie unter Protokollierung von VPC-Firewallregeln.

Wenn Sie das Logging für eine VPC-Firewallregel 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 VPC-Firewallregeln 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.

VPC-Firewallregel-Logging aktivieren und deaktivieren

Wenn Sie eine VPC-Firewallregel erstellen, können Sie das Logging von VPC-Firewallregeln aktivieren. Weitere Informationen finden Sie unter VPC-Firewallregeln erstellen.

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 VPC-Firewallregel-Logging für eine vorhandene Firewallrichtlinienregel aktivieren oder deaktivieren.

Logging von VPC-Firewallregeln aktivieren

Console

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

    Zu den Firewall-Richtlinien

  2. Wählen Sie in der Projektauswahl den Namen des Projekts aus.

  3. Im Abschnitt VPC-Firewallregeln können Sie die Liste der VPC-Firewallregeln aufrufen.

  4. Prüfen Sie in der Spalte Logs, ob Logs für jede Firewallregel Ein oder Aus ist.

  5. Klicken Sie das Kästchen neben jeder Regel an, die Sie aktualisieren möchten, um das Logging für eine oder mehrere Regeln zu aktivieren.

  6. Klicken Sie in der Aktionsleiste VPC-Firewallregeln auf Logs konfigurieren.

  7. Wählen Sie im Dialogfeld Logs konfigurieren die Option Ein aus.

  8. Wenn Sie die Metadatenfelder weglassen möchten, maximieren Sie Logdetails ansehen und entfernen Sie dann das Häkchen aus dem Kästchen Metadaten einschließen.

  9. Klicken Sie auf Save configuration (Konfiguration speichern).

gcloud

gcloud compute firewall-rules update RULE_NAME \
    --enable-logging \
    --logging-metadata=LOGGING_METADATA

Ersetzen Sie Folgendes:

  • RULE_NAME: der Name der VPC-Firewallregel.
  • LOGGING_METADATA: ob das Logging von VPC-Firewallregeln Metadatenfelder im Format für das Logging von VPC-Firewallregeln enthält. Sie können dieses Feld nur konfigurieren, wenn Logging aktiviert ist. Der Wert muss exclude-all oder include-all sein. Standardmäßig sind Metadatenfelder enthalten.

Weitere Informationen finden Sie in der SDK-Referenzdokumentation.

Terraform

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

resource "google_compute_firewall" "rules" {
  project     = var.project_id # Replace this with your project ID in quotes
  name        = "my-firewall-rule"
  network     = "default"
  description = "Creates firewall rule targeting tagged instances"

  log_config {
    metadata = "INCLUDE_ALL_METADATA"
  }

  allow {
    protocol = "tcp"
    ports    = ["80", "8080", "1000-2000"]
  }
  target_tags = ["web"]
}

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

API

Logging von VPC-Firewallregeln für eine vorhandene VPC-Firewallregel aktivieren

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
{
  "name": "RULE_NAME",
  "logConfig": {
    "enable": true,
    "metadata": "LOGGING_METADATA"
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem sich die VPC-Firewallregel befindet.
  • RULE_NAME: der Name der VPC-Firewallregel.
  • LOGGING_METADATA: ob das Logging von VPC-Firewallregeln Metadatenfelder im Format für das Logging von VPC-Firewallregeln enthält. Sie können dieses Feld nur konfigurieren, wenn Logging aktiviert ist. Der Wert muss exclude-all oder include-all sein. Standardmäßig sind Metadatenfelder enthalten.

Weitere Informationen finden Sie in der Methode firewalls.patch.

VPC-Firewallregel-Logging deaktivieren

Console

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

    Zu den Firewall-Richtlinien

  2. Wählen Sie in der Projektauswahl den Namen des Projekts aus.

  3. Im Abschnitt VPC-Firewallregeln können Sie die Liste der VPC-Firewallregeln aufrufen.

  4. Prüfen Sie in der Spalte Logs, ob Logs für jede Firewallregel Ein oder Aus ist.

  5. Klicken Sie das Kästchen neben jeder Regel an, die Sie aktualisieren möchten, um das Logging für eine oder mehrere Regeln zu deaktivieren.

  6. Klicken Sie in der Aktionsleiste VPC-Firewallregeln auf Logs konfigurieren.

  7. Wählen Sie im Dialogfeld Logs konfigurieren die Option Aus aus und klicken Sie auf Konfiguration speichern.

gcloud

gcloud compute firewall-rules update RULE_NAME \
    --no-enable-logging

Ersetzen Sie RULE_NAME durch den Namen der VPC-Firewallregel.

API

Logging von VPC-Firewallregeln für eine vorhandene VPC-Firewallregel deaktivieren

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
{
  "name": "RULE_NAME",
  "logConfig": {
    "enable": false
  }
}

Ersetzen Sie Folgendes:

  • PROJECT_ID: die ID des Projekts, in dem sich die VPC-Firewallregel befindet.
  • RULE_NAME: der Name der VPC-Firewallregel.

Weitere Informationen finden Sie in der Methode firewalls.patch.

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.

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

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

Die folgenden Abfragen zeigen, wie Sie nach bestimmten VPC-Firewallereignissen suchen können.

Alle Firewalllogs ansehen

Verwenden Sie eine der folgenden Optionen, um die Logs der VPC-Firewallregeln 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 VPC-Firewallregel-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

Wenn Sie die VPC-Firewallregel-Logs für bestimmte VMs aufrufen möchten, haben Sie folgende Möglichkeiten.

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 VPC-Firewallregel-Logs 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 VPC-Firewallregellogs 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