Les règles de pare-feu de cloud privé virtuel (VPC) génèrent des entrées de journal lorsqu'elles s'appliquent au trafic. Bien qu'un flux de paquets puisse générer plusieurs entrées de journal, une règle de pare-feu VPC génère au maximum une entrée de journal par connexion à partir d'une instance de machine virtuelle (VM). Les exemples suivants montrent comment fonctionne la journalisation des règles de pare-feu VPC dans différents scénarios.
Exemple avec refus de trafic sortant
Cet exemple montre la journalisation d'une règle de pare-feu VPC de refus de trafic sortant qui bloque le trafic entre deux instances de VM dans le même réseau VPC.
Dans cet exemple, le trafic transite entre les instances de VM du réseau VPC example-net dans le projet example-proj.
Les deux instances de VM sont les suivantes :
- VM1 située dans la zone
us-west1-a, ayant l'adresse IP10.10.0.99dans le sous-réseauwest-subnet(régionus-west1). - VM2 située dans la zone
us-east1-b, ayant l'adresse IP10.20.0.99dans le sous-réseaueast-subnet(régionus-east1).
- VM1 située dans la zone
Règle A : une règle de pare-feu refusant le trafic sortant cible toutes les instances du réseau, pour le trafic à destination de
10.20.0.99(VM2) et circulant sur le port TCP80. La journalisation est activée pour cette règle.Règle B : une règle de pare-feu autorisant le trafic entrant cible toutes les instances du réseau, pour le trafic en provenance de
10.10.0.99(VM1) et circulant sur le port TCP80. La journalisation est également activée pour cette règle.
Pour créer les règles de pare-feu VPC, utilisez les commandes gcloud suivantes :
Règle A : règle de refus du trafic sortant du port TCP
80, applicable à toutes les instances, à destination de10.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-loggingRègle B : règle d'autorisation du trafic entrant sur le port TCP
80, applicable à toutes les instances, en provenance de10.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
Dans un scénario où la VM1 tente de se connecter à la VM2 sur le port TCP 80, voici ce qui se passe :
- Une entrée de journal pour la règle A, observée du point de vue de la VM1, est générée lorsque la VM1 tente de se connecter à
10.20.0.99(VM2). - Étant donné que la règle A bloque le trafic, la règle B n'est pas prise en compte. Par conséquent, aucune entrée de journal n'est consignée pour la règle B du point de vue de la VM2.
La VM1 génère l'enregistrement de journal de règle de pare-feu VPC suivant :
| Champ | Valeurs |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
REFUSÉ |
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 |
Aucune information Ce champ n'est utilisé que si la destination se situe en dehors de votre réseau VPC. |
Exemple avec autorisation du trafic sortant et autorisation du trafic entrant
Cet exemple montre la journalisation d'une règle de pare-feu VPC autorisant le trafic sortant et d'une règle de pare-feu VPC autorisant le trafic entrant, qui permettent ensemble le trafic entre deux instances de VM dans le même réseau VPC.
Dans cet exemple, le trafic transite entre les instances de VM du réseau VPC example-net dans le projet example-proj.
Les deux instances de VM sont les suivantes :
- VM1 située dans la zone
us-west1-a, ayant l'adresse IP10.10.0.99dans le sous-réseauwest-subnet(régionus-west1). - VM2 située dans la zone
us-east1-b, ayant l'adresse IP10.20.0.99dans le sous-réseaueast-subnet(régionus-east1).
- VM1 située dans la zone
Règle A : une règle de pare-feu autorisant le trafic sortant cible toutes les instances du réseau, pour le trafic à destination de
10.20.0.99(VM2) et circulant sur le port TCP80. La journalisation est activée pour cette règle.Règle B : une règle de pare-feu autorisant le trafic entrant cible toutes les instances du réseau, pour le trafic en provenance de
10.10.0.99(VM1) et circulant sur le port TCP80. La journalisation est également activée pour cette règle.
Pour créer les règles de pare-feu VPC, utilisez les commandes gcloud suivantes :
Règle A : règle d'autorisation du trafic sortant du port TCP
80, applicable à toutes les instances, à destination de10.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-loggingRègle B : règle d'autorisation du trafic entrant sur le port TCP
80, applicable à toutes les instances, en provenance de10.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
Dans un scénario où la VM1 tente de se connecter à la VM2 sur le port TCP 80, voici ce qui se passe :
- Une entrée de journal pour la règle A, observée du point de vue de la VM1, est générée lorsque la VM1 tente de se connecter à
10.20.0.99(VM2). - Une entrée de journal pour la règle B, observée du point de vue de la VM2, est générée lorsque la VM2 autorise les connexions entrantes en provenance de
10.10.0.99(VM1).
La VM1 génère l'enregistrement de journal de règle de pare-feu VPC suivant :
| Champ | Valeurs |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
AUTORISÉE |
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 |
Aucune information Ce champ n'est utilisé que si la destination se situe en dehors de votre réseau VPC. |
La VM2 génère l'enregistrement de journal de règle de pare-feu VPC suivant :
| Champ | Valeurs |
|---|---|
connection |
src_ip=10.10.0.99 src_port=[EPHEMERAL_PORT] dest_ip=10.20.0.99 dest_port=80 protocol=6 |
disposition |
AUTORISÉE |
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 |
Aucune information Ce champ n'est utilisé que si la destination se situe en dehors de votre réseau VPC. |
Exemple de trafic entrant depuis Internet
Cet exemple montre la journalisation d'une règle de pare-feu autorisant le trafic entrant qui autorise le trafic provenant d'Internet vers une instance de VM. Il montre également comment le comportement du pare-feu avec état affecte une règle de refus du trafic sortant.
Dans cet exemple, le trafic transite d'une ressource externe vers une instance de VM au sein du réseau VPC example-net. Le réseau se trouve dans le projet example-proj.
- Le système situé sur Internet possède l'adresse IP
203.0.113.114. - La VM1 située dans la zone
us-west1-apossède l'adresse IP10.10.0.99dans le sous-réseauwest-subnet(régionus-west1). - Règle C : une règle de pare-feu autorisant le trafic entrant cible toutes les instances du réseau, pour le trafic en provenance de n'importe quelle adresse IP (
0.0.0.0/0) et circulant sur le port TCP80. La journalisation est activée pour cette règle. - Règle D : une règle de pare-feu refusant le trafic sortant cible toutes les instances du réseau, pour le trafic à destination de n'importe quelle adresse IP (
0.0.0.0/0), quel que soit le protocole. La journalisation est activée pour cette règle.
Pour créer les règles de pare-feu VPC, utilisez les commandes gcloud suivantes :
Règle C : règle d'autorisation du trafic entrant sur le port TCP
80, applicable à toutes les instances, en provenance de n'importe quelle source :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-loggingRègle D : règle de refus du trafic sortant, quel que soit le protocole, applicable à toutes les instances, quelle que soit la destination :
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
Dans un scénario où un système ayant l'adresse IP 203.0.113.114 tente de se connecter à la VM1 sur le port TCP 80, voici ce qui se passe :
- La VM1 génère une entrée de journal pour la règle C lorsqu'elle accepte le trafic provenant de
203.0.113.114. - Malgré la règle D, la VM1 peut répondre à la requête entrante, car les règles de pare-feuGoogle Cloud sont avec état. Si une requête entrante est autorisée, aucune règle de sortie ne peut bloquer les réponses établies.
- Comme la règle D ne s'applique pas, le système ne la prend pas en compte et ne fait donc l'objet d'aucune entrée de journal.
La VM1 génère l'enregistrement de journal de règle de pare-feu VPC suivant :
| Champ | Valeurs |
|---|---|
connection |
src_ip=203.0.113.114 src_port=[EPHEMERAL_PORT] dest_ip=10.10.0.99 dest_port=80 protocol=6 |
disposition |
AUTORISÉE |
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 |
Étapes suivantes
- Présentation de la journalisation des règles de pare-feu VPC
- Gérez la journalisation des règles de pare-feu VPC.
- Présentation de Cloud Logging