La journalisation des règles de stratégie de pare-feu vous permet d'auditer, de vérifier et d'analyser les effets de vos règles de pare-feu. Par exemple, vous pouvez déterminer si une règle de pare-feu conçue pour refuser le trafic fonctionne comme prévu. La journalisation est également utile si vous devez déterminer le nombre de connexions affectées par une règle de pare-feu donnée.
Découvrez comment activer et désactiver la journalisation des règles de stratégie de pare-feu pour les règles de pare-feu de cloud privé virtuel (VPC). Pour obtenir des instructions sur la journalisation des règles des stratégies de pare-feu, consultez la page Utiliser des règles et des stratégies de pare-feu hiérarchiques.
Vous pouvez également apprendre à afficher les journaux générés. Pour obtenir plus d'informations sur les éléments consignés, accéder à des exemples de journalisation et connaître les différents formats de journal, consultez la présentation de la journalisation des règles de stratégie de pare-feu.
Si vous activez la journalisation sur une règle de pare-feu, vous pouvez afficher des insights et des recommandations qui lui sont propres à partir de Firewall Insights. Pour en savoir plus, consultez Firewall Insights dans la documentation Network Intelligence Center.
Autorisations
Pour modifier les règles de pare-feu ou accéder aux journaux, les entités principales IAM doivent disposer de l'un des rôles suivants.
| Tâche | Rôle requis |
|---|---|
| Créer, supprimer ou mettre à jour des règles de pare-feu | Propriétaire ou éditeur du projet, ou
rôle Administrateur de la sécurité (roles/compute.securityAdmin)
|
| Afficher les journaux | Propriétaire, éditeur ou lecteur du projet, ou
rôle Lecteur de journaux (roles/logging.viewer)Pour en savoir plus sur les rôles et les autorisations IAM de Logging, consultez le Guide du contrôle des accès de Logging. |
Activer et désactiver la journalisation des règles de stratégie de pare-feu
Lorsque vous créez une règle de pare-feu, vous pouvez activer la journalisation pour cette règle. Pour en savoir plus, consultez Créer des règles de pare-feu.
Pour activer ou désactiver la journalisation des règles de stratégie de pare-feu pour une règle de pare-feu existante, suivez les instructions ci-dessous. Lorsque vous activez la journalisation, vous pouvez déterminer si les champs de métadonnées sont inclus. Si vous les omettez, vous pouvez économiser sur les coûts de stockage.
Activer la journalisation des règles de stratégie de pare-feu
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Dans la colonne Journaux, déterminez si la journalisation du pare-feu est activée ou désactivée pour chaque règle de pare-feu.
Pour activer la journalisation pour une ou plusieurs règles de pare-feu, cochez la case en regard de chaque règle que vous souhaitez modifier
Dans la barre d'action Règles de pare-feu VPC, cliquez sur Configurer les journaux.
Dans la boîte de dialogue Configurer les journaux, sélectionnez Activé.
Pour omettre les champs de métadonnées, développez Afficher les détails des journaux, puis décochez la case Inclure les métadonnées.
Cliquez sur Save configuration (Enregistrer la configuration).
gcloud
gcloud compute firewall-rules update RULE_NAME \
--enable-logging \
--logging-metadata=LOGGING_METADATA
Remplacez les éléments suivants :
RULE_NAME: nom de la règle de pare-feu.LOGGING_METADATA: indique si la journalisation des règles de stratégie de pare-feu inclut des champs de métadonnées dans les journaux de règles de pare-feu. Vous ne pouvez configurer ce champ que si la journalisation est activée. La valeur doit êtreexclude-allouinclude-all. Par défaut, les champs de métadonnées sont inclus.
Pour en savoir plus, consultez la documentation de référence du SDK.
Terraform
Vous pouvez utiliser la ressource Terraform pour créer une règle de pare-feu avec la journalisation activée.
Pour savoir comment appliquer ou supprimer une configuration Terraform, consultez Commandes Terraform de base.
API
Activez la journalisation des règles de stratégie de pare-feu pour une règle de pare-feu existante.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
{
"name": "RULE_NAME",
"logConfig": {
"enable": true,
"metadata": "LOGGING_METADATA"
}
}
Remplacez les espaces réservés par des valeurs valides :
PROJECT_ID: ID du projet dans lequel se trouve la règle de pare-feu.RULE_NAME: nom de la règle de pare-feu.LOGGING_METADATA: indique si la journalisation des règles de stratégie de pare-feu inclut des champs de métadonnées dans les journaux de règles de pare-feu. Vous ne pouvez configurer ce champ que si la journalisation est activée. La valeur doit êtreexclude-allouinclude-all. Par défaut, les champs de métadonnées sont inclus.
Pour plus d'informations, reportez-vous à la méthode firewalls.patch.
Désactiver la journalisation des règles de stratégie de pare-feu
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Dans la colonne Journaux, déterminez si la journalisation du pare-feu est activée ou désactivée pour chaque règle de pare-feu.
Pour désactiver la journalisation pour une ou plusieurs règles de pare-feu, cochez la case en regard de chaque règle que vous souhaitez modifier.
Dans la barre d'action Règles de pare-feu VPC, cliquez sur Configurer les journaux.
Dans la boîte de dialogue Configurer les journaux, sélectionnez Désactivé, puis cliquez sur Enregistrer la configuration.
gcloud
gcloud compute firewall-rules update RULE_NAME \
--no-enable-logging
Remplacez RULE_NAME par le nom de la règle de pare-feu.
API
Désactivez la journalisation des règles de stratégie de pare-feu pour une règle de pare-feu existante.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/firewalls/RULE_NAME
{
"name": "RULE_NAME",
"logConfig": {
"enable": false
}
}
Remplacez les éléments suivants :
PROJECT_ID: ID du projet dans lequel se trouve la règle de pare-feu.RULE_NAME: nom de la règle de pare-feu.
Pour plus d'informations, reportez-vous à la méthode firewalls.patch.
Afficher les journaux
Les journaux de règles de pare-feu sont créés dans le projet qui héberge le réseau contenant les instances de machine virtuelle et les règles de pare-feu. Dans le cas des VPC partagés, les instances de VM sont créées dans des projets de service, mais elles utilisent un réseau VPC partagé hébergé dans le projet hôte. Les journaux de règles de pare-feu sont stockés dans ce projet hôte.
Pour afficher les journaux des règles de pare-feu, utilisez la section Explorateur de journaux de la console Google Cloud .
Les filtres suivants montrent comment rechercher des événements de pare-feu spécifiques.
Afficher tous les journaux de pare-feu
Pour afficher les journaux de pare-feu, choisissez l'option 1 ou l'option 2.
Option 1
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Ressource.
Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau, puis sur Appliquer.
Cliquez sur Nom du journal, puis sélectionnez firewall (pare-feu) dans la liste.
Cliquez sur Appliquer.
Option 2
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Requête.
Si le champ de l'éditeur de requête n'apparaît pas dans le volet Query (Requête), cliquez sur le bouton Show query (Afficher la requête).
Collez le texte suivant dans le champ de l'éditeur de requête du volet Query (Requête). Remplacez
PROJECT_IDpar l'ID du projet.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall"
Cliquez sur Exécuter la requête.
Afficher des journaux pour des sous-réseaux spécifiques
Pour afficher les journaux de pare-feu de sous-réseaux spécifiques, choisissez l'option 1 ou l'option 2.
Option 1
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Ressource.
Dans la liste Sélectionner une ressource, cliquez sur Sous-réseau.
Sélectionnez le sous-réseau pour lequel vous souhaitez afficher les journaux, puis cliquez sur Appliquer.
Cliquez sur Nom du journal, puis sélectionnez firewall (pare-feu) dans la liste.
Cliquez sur Appliquer.
Option 2
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Requête.
Si le champ de l'éditeur de requête n'apparaît pas dans le volet Query (Requête), cliquez sur le bouton Show query (Afficher la requête).
Collez le texte suivant dans le champ de l'éditeur de requête du volet Query (Requête). Remplacez
PROJECT_IDpar l'ID de votre projet etSUBNET_NAMEpar votre sous-réseau.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall" resource.labels.subnetwork_name="SUBNET_NAME"
Cliquez sur Exécuter la requête.
Afficher les journaux pour des VM spécifiques
Pour afficher les journaux du pare-feu pour des VM spécifiques, choisissez l'option 1 ou l'option 2.
Option 1
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Ressource.
Dans la liste Sélectionner une ressource, cliquez sur Instance de VM.
Sélectionnez l'instance pour laquelle vous souhaitez afficher les journaux, puis cliquez sur Appliquer.
Cliquez sur Nom du journal, puis sélectionnez firewall (pare-feu) dans la liste.
Cliquez sur Appliquer.
Option 2
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Requête.
Si le champ de l'éditeur de requête n'apparaît pas dans le volet Query (Requête), cliquez sur le bouton Show query (Afficher la requête).
Collez le texte suivant dans le champ de l'éditeur de requête du volet Query (Requête). Remplacez
PROJECT_IDpar votre ID de projet etINSTANCE_IDpar l'ID de la VM pour laquelle vous souhaitez afficher les journaux.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall" jsonPayload.instance.vm_name="INSTANCE_ID"
Cliquez sur Exécuter la requête.
Afficher les journaux pour les connexions depuis un pays spécifique
Pour afficher les journaux du pare-feu pour un pays spécifique, procédez comme suit :
Dans la console Google Cloud , accédez à la page Explorateur de journaux.
Cliquez sur Requête.
Si le champ de l'éditeur de requête n'apparaît pas dans le volet Query (Requête), cliquez sur le bouton Show query (Afficher la requête).
Collez le texte suivant dans le champ de l'éditeur de requête du volet Query (Requête). Remplacez
PROJECT_IDpar l'ID de votre projet etCOUNTRYpar le code ISO 3166-1 alpha-3.resource.type="gce_subnetwork" logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Ffirewall" jsonPayload.remote_location.country=COUNTRY
Exporter des journaux
Pour exporter les journaux des règles de pare-feu, consultez Configurer et gérer les récepteurs.
Vous pouvez utiliser les exemples de requêtes pour affiner la liste des journaux que vous exportez.
Tableau des interactions
- Dans le cas d'une communication de VM à VM, les enregistrements de journaux peuvent être générés par les deux VM en fonction de leurs règles de pare-feu respectives.
- La connexion journalisée inclut les paquets circulant dans les deux sens dès lors que le paquet initial a été autorisé par le pare-feu.
- Pour une machine virtuelle donnée, les connexions entrantes sont confrontées aux règles de pare-feu d'entrée configurées sur cette VM et les connexions sortantes sont confrontées aux règles de pare-feu de sortie configurées sur cette même VM.
- Une connexion autorisée mise en correspondance avec une règle de pare-feu associée à l'action "Autoriser + Journaliser" n'est consignée qu'une seule fois. L'entrée de journal n'est pas répétée toutes les cinq secondes, même si la connexion est durable.
- Une connexion refusée mise en correspondance avec une règle de pare-feu associée à l'action "Refuser + Journaliser" répète l'entrée de journal toutes les cinq secondes aussi longtemps que des paquets sont observés dans cette connexion refusée.
- Si vous activez la journalisation sur une règle de pare-feu qui correspond à une connexion TCP ou UDP déjà active, aucune entrée de journal n'est générée. Une entrée de journal n'est créée que si la connexion reste inactive pendant au moins 10 minutes et qu'un nouveau paquet est envoyé sur la même connexion. Pour le trafic continu avec des périodes d'inactivité inférieures à 10 minutes, une seule entrée de journal est générée pour la connexion.
Ce tableau montre le comportement de journalisation du pare-feu du point de vue d'une machine virtuelle unique.
Pour un scénario dans lequel une machine virtuelle VM1 a une règle d'entrée R1 qui correspond aux paquets et une règle de sortie R2 qui correspond également aux paquets, la journalisation du pare-feu se comporte comme suit :
| Règle d'entrée R1 de VM1 (correspondant aux paquets) | Règle de sortie R2 de VM1 (correspondant aux paquets) | Sens de la connexion | Action | Journal |
|---|---|---|---|---|
| Autoriser + Journaliser | Autoriser | Entrée | Autoriser | Une entrée de journal : disposition = autoriser, règle = R1 |
| Refuser | ||||
| Autoriser + Journaliser | ||||
| Refuser + Journaliser | ||||
| Autoriser | Autoriser | Entrée | Autoriser | Aucune journalisation |
| Refuser | ||||
| Autoriser + Journaliser | ||||
| Refuser + Journaliser | ||||
| Refuser + Journaliser | N/A | Entrée | Refuser | Une entrée de journal toutes les cinq secondes : disposition = refuser, règle = R1 |
| Refuser | N/A | Entrée | Refuser | Aucune journalisation |
| Autoriser | Autoriser + Journaliser | Sortie | Autoriser | Une entrée de journal : disposition = autoriser, règle = R2 |
| Refuser | ||||
| Autoriser + Journaliser | ||||
| Refuser + Journaliser | ||||
| Autoriser | Autoriser | Sortie | Autoriser | Aucune journalisation |
| Refuser | ||||
| Autoriser + Journaliser | ||||
| Refuser + Journaliser | ||||
| N/A | Refuser + Journaliser | Sortie | Refuser | Une entrée de journal toutes les cinq secondes : disposition = refuser, règle = R2 |
| N/A | Refuser | Sortie | Refuser | Aucune journalisation |
Notez que les entrées et les sorties sont traitées de façon symétrique.
Voici une description détaillée de la sémantique des journaux de pare-feu :
Autoriser + Journaliser (la journalisation est prise en charge pour TCP et UDP)
- Une connexion activée dans le sens auquel s'applique la règle entraîne la création d'un enregistrement de journal unique.
- Le trafic de réponse est autorisé en raison du suivi de connexion. Le trafic de réponse n'entraîne aucune journalisation, quelles que soient les règles de pare-feu applicables dans ce sens.
- Si la connexion au pare-feu expire (10 minutes d'inactivité ou réception d'un paquet TCP RST), la transmission d'un nouveau paquet dans l'un ou l'autre sens peut déclencher la journalisation.
- La journalisation est basée sur des 5-tuples. Les indicateurs TCP n'affectent pas le comportement de la journalisation.
Refuser + Journaliser (la journalisation est prise en charge pour TCP et UDP)
- Les paquets sont supprimés (aucune connexion n'est activée).
- Chaque paquet correspondant à un 5-tuple unique est journalisé comme une tentative de connexion ayant échoué.
- Le même 5-tuple est enregistré à nouveau toutes les 5 secondes si des paquets supplémentaires sont reçus.
Étapes suivantes
- Présentation de Logging
- Acheminer les journaux vers les destinations compatibles
- Résoudre les problèmes liés aux journaux des stratégies de pare-feu