VPC-Firewallregeln (Virtual Private Cloud) generieren Logeinträge, wenn sie auf Traffic angewendet werden. Ein Paketfluss kann zwar mehrere Logeinträge generieren, aber eine VPC-Firewallregel generiert höchstens einen Logeintrag pro Verbindung von einer VM-Instanz. Die folgenden Beispiele zeigen, wie die Protokollierung von VPC-Firewallregeln in verschiedenen Szenarien funktioniert.
Beispiel "Ausgehenden Traffic ablehnen"
In diesem Beispiel wird die Protokollierung für eine VPC-Firewallregel zum Ablehnen von ausgehendem Traffic gezeigt, die den Traffic zwischen zwei VM-Instanzen im selben VPC-Netzwerk blockiert.
In diesem Beispiel fließt der Traffic zwischen VM-Instanzen im VPC-Netzwerk example-net im Projekt example-proj.
Betroffene VM-Instanzen:
- VM1 in Zone
us-west1-amit IP-Adresse10.10.0.99imwest-subnet(Regionus-west1). - VM2 in Zone
us-east1-bmit IP-Adresse10.20.0.99imeast-subnet(Regionus-east1).
- VM1 in Zone
Regel A: Eine Firewallregel "ausgehenden Traffic ablehnen" bezieht sich auf alle Instanzen im Netzwerk, das Ziel
10.20.0.99(VM2) und den TCP-Port80. Logging ist für die Regel aktiviert.Regel B: Eine Firewallregel "eingehenden Traffic zulassen" bezieht sich auf alle Instanzen im Netzwerk, die Quelle
10.10.0.99(VM1) und den TCP-Port80. Logging ist für die Regel ebenfalls aktiviert.
Verwenden Sie zum Erstellen der VPC-Firewallregeln die folgenden gcloud-Befehle:
Regel A: Firewallregel "ausgehenden Traffic ablehnen" für TCP-Port
80, anwendbar auf alle Instanzen, Ziel10.20.0.99:gcloud compute firewall-rules create rule-a \ --network example-net \ --action deny \ --direction EGRESS \ --rules tcp:80 \ --destination-ranges 10.20.0.99/32 \ --priority 10 \ --enable-loggingRegel B: Firewallregel „eingehenden Traffic zulassen“ für den TCP-Port
80, anwendbar auf alle Instanzen, Quelle10.10.0.99:gcloud compute firewall-rules create rule-b \ --network example-net \ --action allow \ --direction INGRESS \ --rules tcp:80 \ --source-ranges 10.10.0.99/32 \ --priority 10 \ --enable-logging
In einem Szenario, in dem VM1 versucht, am TCP-Port 80 eine Verbindung zu VM2 herzustellen, passiert Folgendes:
- Für Regel A wird ein Logeintrag aus der Perspektive von VM1 generiert, wenn VM1 versucht, eine Verbindung zu
10.20.0.99(VM2) herzustellen. - Da Regel A den Traffic blockiert, wird Regel B nicht berücksichtigt. Daher gibt es aus Sicht von VM2 keinen Logeintrag für Regel B.
VM1 meldet den folgenden VPC-Firewallregel-Logdatensatz:
| Feld | Werte |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
DENIED |
rule_details |
reference = "network:example-net/firewall:rule-a" priority = 10 action = DENY destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_instance |
project_id="example-proj" instance_name=VM2 region=us-east1 zone=us-east1-b |
remote_vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=east-subnet |
remote_location |
Keine Informationen: Dieses Feld wird nur verwendet, wenn sich das Ziel außerhalb Ihres VPC-Netzwerks befindet. |
Beispiel "ausgehenden Traffic zulassen, eingehenden Traffic zulassen"
In diesem Beispiel wird die Protokollierung für eine VPC-Firewallregel zum Zulassen von ausgehendem Traffic und eine VPC-Firewallregel zum Zulassen von eingehendem Traffic gezeigt, die zusammen Traffic zwischen zwei VM-Instanzen im selben VPC-Netzwerk zulassen.
In diesem Beispiel fließt der Traffic zwischen VM-Instanzen im VPC-Netzwerk example-net im Projekt example-proj.
Betroffene VM-Instanzen:
- VM1 in Zone
us-west1-amit IP-Adresse10.10.0.99imwest-subnet(Regionus-west1). - VM2 in Zone
us-east1-bmit IP-Adresse10.20.0.99imeast-subnet(Regionus-east1).
- VM1 in Zone
Regel A: Eine Firewallregel "ausgehenden Traffic zulassen" bezieht sich auf alle Instanzen im Netzwerk, das Ziel
10.20.0.99(VM2) und den TCP-Port80. Logging ist für die Regel aktiviert.Regel B: Eine Firewallregel "eingehenden Traffic zulassen" bezieht sich auf alle Instanzen im Netzwerk, die Quelle
10.10.0.99(VM1) und den TCP-Port80. Logging ist für die Regel ebenfalls aktiviert.
Verwenden Sie zum Erstellen der VPC-Firewallregeln die folgenden gcloud-Befehle:
Regel A: Firewallregel "ausgehenden Traffic zulassen" für den TCP-Port
80, anwendbar auf alle Instanzen, Ziel10.20.0.99(VM2):gcloud compute firewall-rules create rule-a \ --network example-net \ --action allow \ --direction EGRESS \ --rules tcp:80 \ --destination-ranges 10.20.0.99/32 \ --priority 10 \ --enable-loggingRegel B: Firewallregel „eingehenden Traffic zulassen“ für den TCP-Port
80, anwendbar auf alle Instanzen, Quelle10.10.0.99(VM1):gcloud compute firewall-rules create rule-b \ --network example-net \ --action allow \ --direction INGRESS \ --rules tcp:80 \ --source-ranges 10.10.0.99/32 \ --priority 10 \ --enable-logging
In einem Szenario, in dem VM1 versucht, am TCP-Port 80 eine Verbindung zu VM2 herzustellen, passiert Folgendes:
- Für Regel A wird ein Logeintrag aus der Perspektive von VM1 generiert, wenn VM1 eine Verbindung zu
10.20.0.99(VM2) herstellt. - Für Regel B wird ein Logeintrag aus der Perspektive von VM2 generiert, wenn VM2 eingehende Verbindungen von
10.10.0.99(VM1) zulässt.
VM1 meldet den folgenden VPC-Firewallregel-Logdatensatz:
| Feld | Werte |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
ZUGELASSEN |
rule_details |
reference = "network:example-net/firewall:rule-a" priority = 10 action = ALLOW destination_range = 10.20.0.99/32 ip_port_info = tcp:80 direction = egress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_instance |
project_id="example-proj" instance_name=VM2 region=us-east1 zone=us-east1-b |
remote_vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=east-subnet |
remote_location |
Keine Informationen: Dieses Feld wird nur verwendet, wenn sich das Ziel außerhalb Ihres VPC-Netzwerks befindet. |
VM2 meldet den folgenden VPC-Firewallregel-Logeintrag:
| Feld | Werte |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
ZUGELASSEN |
rule_details |
reference = "network:example-net/firewall:rule-b" priority = 10 action = ALLOW source_range = 10.10.0.99/32 ip_port_info = tcp:80 direction = ingress |
instance |
project_id="example-proj" instance_name=VM2 region=us-east1 zone=us-east1-b |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=east-subnet |
remote_instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
remote_vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_location |
Keine Informationen: Dieses Feld wird nur verwendet, wenn sich das Ziel außerhalb Ihres VPC-Netzwerks befindet. |
Beispiel "eingehender Traffic aus dem Internet"
In diesem Beispiel wird das Logging für eine Firewallregel zum Zulassen von eingehendem Traffic gezeigt, die Traffic aus dem Internet zu einer VM-Instanz zulässt. Außerdem wird gezeigt, wie sich das Verhalten einer zustandsbehafteten Firewall auf eine Regel zum Ablehnen von ausgehendem Traffic auswirkt.
In diesem Beispiel fließt der Traffic von einer externen Ressource zu einer VM-Instanz im VPC-Netzwerk example-net. Das Netzwerk befindet sich im Projekt example-proj.
- Das System im Internet hat die IP-Adresse
203.0.113.114. - VM1 in Zone
us-west1-ahat die IP-Adresse10.10.0.99imwest-subnet(Regionus-west1). - Regel C: Eine Firewallregel "eingehenden Traffic zulassen" bezieht sich auf alle Instanzen im Netzwerk, eine Quelle mit einer beliebigen IP-Adresse
0.0.0.0/0und den TCP-Port80. Logging ist für die Regel aktiviert. - Regel D: Die Firewallregel "ausgehenden Traffic ablehnen" bezieht sich auf alle Instanzen im Netzwerk, ein Ziel mit einer beliebigen IP-Adresse
0.0.0.0/0und alle Protokolle. Logging ist für die Regel aktiviert.
Verwenden Sie zum Erstellen der VPC-Firewallregeln die folgenden gcloud-Befehle:
Regel C: Regel „eingehenden Traffic zulassen“ für den TCP-Port
80, anwendbar auf alle Instanzen, beliebige Quelle:gcloud compute firewall-rules create rule-c \ --network example-net \ --action allow \ --direction INGRESS \ --rules tcp:80 \ --source-ranges 0.0.0.0/0 \ --priority 10 \ --enable-loggingRegel D: Regel "ausgehenden Traffic ablehnen" für alle Protokolle, anwendbar auf alle Instanzen, beliebiges Ziel:
gcloud compute firewall-rules create rule-d \ --network example-net \ --action deny \ --direction EGRESS \ --rules all \ --destination-ranges 0.0.0.0/0 \ --priority 10 \ --enable-logging
In einem Szenario, in dem das System mit der IP-Adresse 203.0.113.114 versucht, eine Verbindung zu VM1 am TCP-Port 80 herzustellen, passiert Folgendes:
- VM1 generiert einen Logeintrag für Regel C, wenn sie Traffic von
203.0.113.114akzeptiert. - Trotz Regel D kann VM1 auf die eingehende Anfrage antworten, weilGoogle Cloud -Firewallregeln zustandsorientiert sind. Wenn die eingehende Anfrage zulässig ist, können zugehörige Antworten durch keine Regel für ausgehenden Traffic blockiert werden.
- Da Regel D nicht zutrifft, wird sie vom System nicht berücksichtigt. Daher gibt es für Regel D keinen Logeintrag.
VM1 meldet den folgenden VPC-Firewallregel-Logdatensatz:
| Feld | Werte |
|---|---|
connection |
src_ip=203.0.113.114 src_port=[EPHEMERAL_PORT] dest_ip=10.10.0.99 dest_port=80 protocol=6 |
disposition |
ZUGELASSEN |
rule_details |
reference = "network:my-vpc/firewall:rule-c" priority = 10 action = ALLOW source_range = 0.0.0.0/0 ip_port_info = tcp:80 direction = ingress |
instance |
project_id="example-proj" instance_name=VM1 region=us-west1 zone=us-west1-a |
vpc |
project_id="example-proj" vpc_name=example-net subnetwork_name=west-subnet |
remote_location |
continent country region city |
Nächste Schritte
- Übersicht über die Protokollierung von VPC-Firewallregeln
- Logging von VPC-Firewallregeln verwalten
- Cloud Logging – Übersicht