Journalisation des règles de pare-feu VPC

La journalisation des règles de pare-feu VPC 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 des règles de pare-feu VPC est également utile si vous devez déterminer le nombre de connexions affectées par une règle de pare-feu donnée.

Vous activez la journalisation des règles de pare-feu VPC individuellement pour chaque règle de pare-feu dont vous souhaitez journaliser les connexions. L'enregistrement des règles de pare-feu VPC est une option disponible pour toute règle de pare-feu, indépendamment de l'action de la règle (allow ou deny) ou de la direction du trafic visé (entrée ou sortie).

La journalisation des règles de pare-feu VPC consigne le trafic vers et depuis les instances de machine virtuelle (VM) Compute Engine. Cela inclut les produits Cloud de Confiance by S3NS basés sur des VM Compute Engine, tels que les clusters Google Kubernetes Engine (GKE) et les instances de l'environnement flexible App Engine.

Lorsque vous activez la journalisation pour une règle de pare-feu, Cloud de Confiance by S3NS crée une entrée appelée enregistrement de connexion chaque fois que la règle autorise ou refuse du trafic. Vous pouvez consulter ces enregistrements dans Cloud Logging et exporter les journaux vers n'importe quelle destination compatible avec l'exportation Cloud Logging.

Chaque enregistrement de connexion contient les adresses IP source et de destination, le protocole et les ports, la date et l'heure, ainsi qu'une référence à la règle de pare-feu appliquée au trafic.

La journalisation des règles de pare-feu VPC est disponible pour les règles de pare-feu VPC et les stratégies de pare-feu hiérarchiques.

Pour en savoir plus sur l'affichage des journaux, consultez Utiliser la journalisation des règles de pare-feu VPC.

Spécifications

La journalisation des règles de pare-feu VPC obéit aux spécifications suivantes :

  • La journalisation des règles de pare-feu VPC peut être activée pour les éléments suivants :

    • Règles de pare-feu dans les stratégies de pare-feu hiérarchiques, les stratégies de pare-feu système régionales, les stratégies de pare-feu réseau mondiales et les stratégies de pare-feu réseau régionales associées à un réseau VPC standard.

    • Règles de pare-feu VPC dans un réseau VPC standard.

    • Règles de pare-feu dans les stratégies de pare-feu réseau régionales associées à un réseau VPC RoCE.

  • La journalisation des règles de pare-feu VPC n'est pas compatible avec les éléments suivants :

  • La journalisation des règles de pare-feu VPC n'enregistre que les connexions TCP et UDP. Bien que vous puissiez créer une règle de pare-feu applicable à d'autres protocoles, vous ne pouvez pas enregistrer les connexions correspondantes.

  • Les entrées de journal sont écrites du point de vue des VM. Elles ne sont créées que si la journalisation est activée pour la règle de pare-feu et si cette règle s'applique au trafic envoyé à la VM ou émis par celle-ci. Les entrées sont créées en fonction des limites de journalisation des connexions, suivant un principe d'optimisation.

  • La journalisation des règles de pare-feu VPC ne crée une entrée de journal que lorsqu'une connexion est établie. Elle ne consigne pas tous les paquets. Une entrée de connexion UDP reste active tant que des paquets sont échangés au moins une fois toutes les 10 minutes. Chaque paquet d'entrée ou de sortie suivant réinitialise le minuteur d'inactivité, ce qui prolonge la connexion de 10 minutes. Par conséquent, un flux constant de trafic UDP ne génère qu'une seule entrée de journal pour toute sa durée. Si vous avez besoin d'une visibilité continue sur les flux actifs de longue durée sans période d'inactivité, utilisez les journaux de flux VPC.

  • Nombre de connexions que la journalisation des règles de pare-feu VPC peut enregistrer par unité de temps :

  • Vous pouvez consulter les modifications apportées aux règles de pare-feu dans les journaux d'audit VPC.

Limites

  • Lorsque vous utilisez l'action apply_security_profile_group avec la journalisation activée, Cloud NGFW ne capture pas les journaux de toutes les sessions. Cette limitation n'affecte pas l'inspection ni l'interception du trafic.

  • Si vous activez la journalisation pour une règle de pare-feu qui correspond à des connexions TCP ou UDP existantes, aucune entrée de journal n'est générée pour ces connexions actives. La journalisation de ces connexions ne commence qu'après au moins 10 minutes d'inactivité.

Format des journaux de pare-feu

Conformément aux spécifications, une entrée de journal est créée dans Cloud Logging pour chaque règle de pare-feu pour laquelle la journalisation est activée, du moment que cette règle s'applique au trafic entrant ou sortant d'une instance de VM. Les enregistrements de journal sont inclus dans le champ de charge utile JSON d'un objet Logging LogEntry.

Les enregistrements de journal contiennent des champs de base, qui constituent les principaux champs de chaque enregistrement de journal, ainsi que des champs de métadonnées qui ajoutent des informations supplémentaires. 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.

Certains champs de journal acceptent des valeurs qui sont également des champs. Ces champs peuvent contenir plusieurs données dans un champ donné. Par exemple, le champ connection est au format IpConnection, qui contient l'adresse IP et les ports sources et de destination ainsi que le protocole, dans un seul champ. Ces champs sont décrits dans les tableaux ci-dessous.

Champ Description Type de champ : métadonnées de base ou facultatives
connexion IpConnection
Hachage à cinq tuples décrivant les adresses IP source et de destination, les ports source et de destination, ainsi que le protocole IP de cette connexion.
Base
disposition string
Indique si la connexion a été autorisée (ALLOWED) ou refusée (DENIED).
Base
rule_details RuleDetails
Détails de la règle appliquée à cette connexion.
Champ rule_details.reference Base
Autres champs de détails de la règle Métadonnées
instance InstanceDetails
Détails de l'instance de VM. Dans une configuration de VPC partagé, project_id correspond à l'identifiant du projet de service.
Métadonnées
load_balancer_details LoadBalancingDetails
Détails de l'équilibreur de charge d'application interne ou de l'équilibreur de charge réseau proxy interne auquel s'applique la règle de pare-feu. Lorsque la cible d'une règle de pare-feu est l'un de ces équilibreurs de charge, le champ instance est omis.
Métadonnées
vpc VpcDetails
Détails du réseau VPC. Dans une configuration de VPC partagé, project_id correspond à l'ID du projet hôte.
Métadonnées
remote_instance InstanceDetails
Si le point de terminaison distant de la connexion était une VM hébergée dans Compute Engine, ce champ contient les détails de l'instance de VM.
Métadonnées
remote_vpc VpcDetails
Si le point de terminaison distant de la connexion était une VM hébergée sur un réseau VPC, ce champ contient les détails du réseau.
Métadonnées
remote_location GeographicDetails
Si le point de terminaison distant de la connexion était externe au réseau VPC, ce champ contient les métadonnées disponibles concernant son emplacement.
Métadonnées

IpConnection

Champ Type Description
src_ip chaîne Adresse IP source. Si la source est une VM Compute Engine, src_ip est l'adresse IP interne principale ou une adresse dans une plage d'adresses IP d'alias de l'interface réseau de la VM. L'adresse IP externe n'est pas affichée. La journalisation affiche l'adresse IP de la VM telle qu'elle est vue par la VM dans l'en-tête du paquet, de la même manière que si vous réalisiez un vidage TCP sur la VM.
src_port entier Port source
dest_ip chaîne Adresse IP de destination. Si la destination est une VM Cloud de Confiance , dest_ip est l'adresse IP interne principale ou une adresse dans une plage d'adresses IP d'alias de l'interface réseau de la VM. L'adresse IP externe ne s'affiche pas, même si elle a été utilisée pour établir la connexion.
dest_port entier Port de destination
protocol entier Protocole IP de la connexion.

RuleDetails

Champ Type Description
référence chaîne Référence à la règle de pare-feu, au format :
"network:{network name}/firewall:{firewall_name}"
priorité entier Priorité de la règle de pare-feu.
action chaîne ALLOW ou DENY.
source_range[ ] chaîne Liste des plages d'adresses sources auxquelles la règle de pare-feu s'applique.
destination_range[ ] chaîne Liste des plages d'adresses de destination auxquelles la règle de pare-feu s'applique.
ip_port_info[ ] IpPortDetails Liste des protocoles IP et des plages de ports applicables pour les règles.
direction chaîne Direction dans laquelle la règle de pare-feu s'applique (entrée ou sortie).
source_tag[ ] chaîne Liste de tous les tags sources auxquels la règle de pare-feu s'applique.
target_tag[ ] chaîne Liste de tous les tags cibles auxquels la règle de pare-feu s'applique.
source_service_account[ ] chaîne Liste de tous les comptes de service sources auxquels la règle de pare-feu s'applique.
target_service_account[ ] chaîne Liste de tous les comptes de service cibles auxquels la règle de pare-feu s'applique.
source_region_code[ ] chaîne Liste de tous les codes pays sources auxquels la règle de pare-feu s'applique.
destination_region_code[ ] chaîne Liste de tous les codes pays de destination auxquels la règle de pare-feu s'applique.
source_fqdn[ ] chaîne Liste de tous les noms de domaine sources auxquels la règle de pare-feu s'applique.
destination_fqdn[ ] chaîne Liste de tous les noms de domaine de destination auxquels la règle de pare-feu s'applique.
source_address_groups[ ] chaîne Liste de tous les groupes d'adresses sources auxquels la règle de pare-feu s'applique.
destination_address_groups[ ] chaîne Liste de tous les groupes d'adresses de destination auxquels la règle de pare-feu s'applique.

IpPortDetails

Champ Type Description
ip_protocol chaîne Protocole IP auquel la règle de pare-feu s'applique. Valeur "ALL" si la règle s'applique à tous les protocoles.
port_range[ ] chaîne Liste des plages de ports auxquels les règles doivent s'appliquer, par exemple 8080-9090.

InstanceDetails

Champ Type Description
project_id chaîne ID du projet contenant la VM
vm_name chaîne Nom d'instance de la VM
région chaîne Région de la VM
zone chaîne Zone de la VM

LoadBalancingDetails

Champ Type Description
forwarding_rule_project_id string Cloud de Confiance by S3NS ID du projet contenant la règle de transfert.
type string Le type d'équilibreur de charge APPLICATION_LOAD_BALANCER indique un équilibreur de charge d'application interne. PROXY_NETWORK_LOAD_BALANCER indique un équilibreur de charge réseau proxy interne.
scheme string Schéma de l'équilibreur de charge, INTERNAL_MANAGED.
url_map_name chaîne Nom du mappage d'URL. N'est renseigné que si type est défini sur APPLICATION_LOAD_BALANCER.
forwarding_rule_name string Nom de la règle de transfert.

VpcDetails

Champ Type Description
project_id chaîne ID du projet hébergeant le réseau.
vpc_name chaîne Réseau sur lequel opère la VM.
subnetwork_name chaîne Sous-réseau sur lequel opère la VM.

GeographicDetails

Champ Type Description
continent chaîne Continent des points de terminaison externes
pays chaîne Pays des points de terminaison externes
région chaîne Région des points de terminaison externes
ville chaîne Ville des points de terminaison externes

Étapes suivantes