L'intégration de la sécurité réseau utilise le modèle producteur-consommateur pour inspecter et surveiller les données. Il utilise l'intégration dans la bande avec la technologie d'interception de paquets pour insérer des périphériques réseau tiers dans le flux de trafic réseau et effectuer une inspection approfondie des paquets.
Ce tutoriel explique comment créer et configurer des ressources de producteur et de consommateur pour configurer l'intégration dans la bande.
Objectifs
Ce tutoriel vous explique comment effectuer les tâches suivantes dans un projet :
- Créez des réseaux VPC personnalisés avec des sous-réseaux pour le producteur et le consommateur dans le même projet.
- Pour le producteur, créez et configurez des ressources de producteur, telles qu'un équilibreur de charge réseau passthrough interne, un service d'interception et des ressources de déploiement d'interception.
- Pour le consommateur, créez et configurez des instances de machines virtuelles (VM) client et serveur, des ressources de point de terminaison consommateur et des règles de pare-feu pour intercepter le trafic client-serveur.
- Testez la connexion et vérifiez que les paquets de trafic réseau sont interceptés par les ressources de point de terminaison du consommateur et inspectés par les ressources d'interception du producteur.
Avant de commencer
- Connectez-vous à votre compte Google Cloud . Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits sans frais pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Activez l'API Compute Engine pour votre projet.
- Activez l'API Network Security dans le projet Google Cloud que vous souhaitez utiliser pour la facturation.
- Assurez-vous de disposer du rôle d'administrateur de réseaux Compute (
roles/compute.networkAdmin) au niveau du projet et du rôle d'administrateur de profils de sécurité (roles/networksecurity.securityProfileAdmin) au niveau de l'organisation. - Si vous préférez travailler à partir de la ligne de commande, installez Google Cloud CLI. Pour obtenir des informations conceptuelles et d'installation sur l'outil, consultez la présentation de gcloud CLI.
Remarque : Si vous n'avez pas encore utilisé la Google Cloud CLI, commencez par exécuter la commande
gcloud initpour initialiser votre répertoire gcloud CLI. Obtenez l'ID de votre projet. Vous en avez besoin pour créer des ressources d'interception et de point de terminaison.
Si vous utilisez la gcloud CLI, vous pouvez remplacer
PROJECT_IDici ou plus tard dans les commandes correspondantes.Obtenez l'ID de votre organisation. Vous en avez besoin pour créer des ressources au niveau de l'organisation, telles que des profils et des groupes de profils de sécurité.
Si vous utilisez la gcloud CLI, vous pouvez remplacer
ORG_IDici ou plus tard dans les commandes correspondantes.
Créer des ressources de producteur
Dans cette section, vous allez créer les ressources suivantes pour le producteur :
- Un réseau VPC personnalisé avec un sous-réseau.
- Groupe d'instances non géré avec une instance de VM exécutant un serveur d'écho Generic Network Virtualization Encapsulation (GENEVE).
- Équilibreur de charge réseau passthrough interne avec un service de backend et une règle de transfert.
- Une règle de pare-feu pour autoriser les vérifications d'état Google Cloud .
- Un groupe de déploiement d'interception et un déploiement d'interception.
Créer un réseau VPC personnalisé
Dans cette section, vous allez créer un réseau VPC avec un sous-réseau.
Console
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Dans le champ Nom, saisissez
producer-network.Dans Description, saisissez
Producer VPC network.Dans la section Sous-réseaux, procédez comme suit :
- Dans le champ Mode de création du sous-réseau, sélectionnez Custom.
- Dans la section Nouveau sous-réseau, saisissez les informations suivantes :
- Nom :
producer-subnet - Région :
us-west1 - Type de pile IP: IPv4 (pile unique)
- Plage IPv4 :
10.10.0.0/16
- Nom :
- Cliquez sur OK.
Cliquez sur Créer.
Ouvrez la Google Cloud CLI et exécutez la commande suivante pour augmenter l'unité de transmission maximale (MTU) du réseau VPC.
gcloud compute networks update producer-network \ --mtu=1768Dans la commande, vous spécifiez une MTU de 1 768 octets, qui correspond à la somme de la MTU par défaut d'un réseau VPC (1 460 octets) et des frais généraux d'encapsulation GENEVE de Network Security Integration (308 octets).
gcloud
Créez un réseau VPC.
gcloud compute networks create producer-network \ --subnet-mode=custom \ --mtu=1768 \ --description="Producer VPC network"Dans la commande, vous spécifiez une unité de transmission maximale (MTU) de 1 768 octets, qui correspond à la somme de la MTU par défaut d'un réseau VPC (1 460 octets) et du surcharge d'encapsulation GENEVE de l'intégration de la sécurité du réseau (308 octets).
Dans le réseau VPC, créez un sous-réseau.
gcloud compute networks subnets create producer-subnet \ --network=producer-network \ --region=us-west1 \ --range=10.10.0.0/16
Créer un groupe d'instances non géré
Dans cette section, vous allez créer un groupe d'instances non géré.
Console
Dans la console Google Cloud , accédez à la page Groupes d'instances.
Cliquez sur Créer un groupe d'instances.
Cliquez sur Nouveau groupe d'instances non géré.
Dans le champ Nom, saisissez
producer-instance-group.Dans la section Emplacement, sélectionnez
us-west1pour la région, puisus-west1-bpour la zone.Pour Réseau, sélectionnez
producer-network.Pour Sous-réseau, sélectionnez
producer-subnet.Cliquez sur Créer.
gcloud
gcloud compute instance-groups unmanaged create producer-instance-group \
--zone=us-west1-b
Configurer les composants de l'équilibreur de charge
Dans cette section, vous allez créer les composants d'un équilibreur de charge réseau passthrough interne, y compris un service de backend et une règle de transfert.
Console
Démarrer la configuration
Dans la console Google Cloud , accédez à la page Équilibrage de charge.
- Cliquez sur Créer un équilibreur de charge.
- Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge réseau (TCP/UDP/SSL), puis cliquez sur Suivant.
- Pour Proxy ou passthrough, sélectionnez Équilibreur de charge passthrough, puis cliquez sur Suivant.
- Pour Public ou interne, sélectionnez Interne, puis cliquez sur Suivant.
- Cliquez sur Configurer.
Configuration de base
Sur la page Créer un équilibreur de charge réseau passthrough interne, saisissez les informations suivantes :
- Nom de l'équilibreur de charge :
producer-ilb - Région :
us-west1 - Réseau :
producer-network
Configurer les backends
- Cliquez sur Configuration du backend.
- Pour Protocole, sélectionnez
UDP. - Dans la liste Vérification d'état, sélectionnez Créer une vérification d'état, saisissez les informations suivantes, puis cliquez sur Créer.
- Nom :
producer-health-check - Champ d'application : Régional
- Port :
80 - Protocole de proxy :
NONE
- Nom :
- Dans la section Nouveau backend de Backends, sélectionnez IPv4 (pile unique) sous type de pile IP.
- Dans Groupe d'instances, sélectionnez le groupe d'instances
producer-instance-group, puis cliquez sur OK. - Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend avant de continuer.
Configurer l'interface
Dans la section Nouveaux IP et port frontend, procédez comme suit :
- Dans le champ Nom, saisissez
producer-ilb-fr. - Pour Sous-réseau, sélectionnez
producer-subnet. - Pour Ports, sélectionnez Unique, puis dans Numéro de port, saisissez
6081. - Vérifiez qu'une coche bleue apparaît à côté de Configuration du frontend avant de continuer.
Vérifier la configuration
- Cliquez sur Vérifier et finaliser.
- Vérifiez les paramètres de configuration de votre équilibreur de charge.
- Cliquez sur Créer.
gcloud
Créez une vérification d'état régionale.
gcloud compute health-checks create tcp producer-health-check \ --region=us-west1 \ --port=80Créez le service de backend :
gcloud compute backend-services create producer-backend-service \ --protocol=UDP \ --region=us-west1 \ --health-checks=producer-health-check \ --health-checks-region=us-west1 \ --load-balancing-scheme=INTERNALCréez une règle de transfert pour le service de backend.
gcloud compute forwarding-rules create producer-ilb-fr \ --backend-service=producer-backend-service \ --region=us-west1 \ --network=producer-network \ --subnet=producer-subnet \ --ip-protocol=UDP \ --load-balancing-scheme=INTERNAL \ --ports=6081
Créer une instance de VM et l'ajouter au groupe d'instances
Dans cette section, vous allez créer une instance de VM avec un script de démarrage qui configure un serveur d'écho pour les paquets encapsulés GENEVE.
Avant de créer l'instance de VM, obtenez l'adresse IP de la règle de transfert et de la passerelle du sous-réseau de l'équilibreur de charge réseau passthrough interne. Vous avez besoin des adresses IP pour le script de démarrage.
Console
Obtenir l'adresse IP de l'équilibreur de charge réseau passthrough interne
Dans la console Google Cloud , accédez à la page Équilibrage de charge.
Cliquez sur l'équilibreur de charge
producer-ilb.Dans la section Frontend, notez l'adresse IP de la règle de transfert dans la colonne IP:ports.
Obtenir l'adresse IP de la passerelle du sous-réseau
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Cliquez sur le réseau VPC
producer-network.Cliquez sur l'onglet Sous-réseaux.
Dans la section Sous-réseaux, notez l'adresse IP de la passerelle dans la colonne Passerelle.
Créer l'instance de VM
Dans la console Google Cloud , accédez à la page Instances de VM.
Accéder à la page Instances de VM
- Cliquez sur Créer une instance.
- Dans le champ Nom, saisissez
producer-instance. - Pour Région, sélectionnez
us-west1. - Pour Zone, sélectionnez
us-west1-b. Cliquez sur Mise en réseau et configurez les champs suivants :
Dans la section Interfaces réseau, cliquez sur
defaultet modifiez l'interface réseau.- Réseau :
producer-network - Sous-réseau :
producer-subnet - Adresse IPv4 externe : Aucune
- Réseau :
Cliquez sur Avancé, puis saisissez le script suivant dans Script de démarrage :
#!/bin/bash # Enable IP forwarding. echo 1 > /proc/sys/net/ipv4/ip_forward # Log incoming packets from the gateway IP and the GENEVE 6081 # port. iptables -t nat -A PREROUTING -p udp -s GATEWAY_IP/32 --dport 6081 -j LOG --log-prefix="[NSI INTERCEPT] " # Apply DNAT (Destination NAT) on incoming packets from the gateway IP # and the GENEVE 6081 port. # Set the destination IP to the gateway IP so the packet is rerouted # back to the sender. iptables -t nat -A PREROUTING -p udp -s GATEWAY_IP/32 --dport 6081 -j DNAT --to-destination GATEWAY_IP # Apply SNAT (Source NAT) on outgoing packets that have the GENEVE 6081 # port and source IP that equals the gateway IP. # Set the source IP to the internal load balancer IP which # effectively swaps the IPs of the original packet. iptables -t nat -A POSTROUTING -p udp -s GATEWAY_IP/32 --dport 6081 -j SNAT --to-source LOAD_BALANCER_IP # Spin up a simple server for health checks on port 80. nohup python3 -u -m http.server 80 &
Remplacez les éléments suivants :
GATEWAY_IP: adresse IP de la passerelle du sous-réseau.LOAD_BALANCER_IP: adresse IP de la règle de transfert de l'équilibreur de charge.
Cliquez sur Créer.
Ajouter l'instance de VM au groupe d'instances
Dans la console Google Cloud , accédez à la page Groupes d'instances.
Cliquez sur
producer-instance-group.Cliquez sur Modifier.
Dans la section Instances de VM, sélectionnez
producer-instanceVM dans la liste Sélectionner des VM.Cliquez sur Enregistrer.
gcloud
Obtenez l'adresse IP de la règle de transfert de l'équilibreur de charge.
ILB_IP=$(gcloud compute forwarding-rules describe producer-ilb-fr \ --region=us-west1 \ --format="get(IPAddress)")Obtenez l'adresse IP de la passerelle du sous-réseau.
GW_IP=$(gcloud compute networks subnets describe producer-subnet \ --region=us-west1 \ --format="get(gatewayAddress)")Créez une instance de VM.
gcloud compute instances create producer-instance \ --image-project=debian-cloud \ --image-family=debian-11 \ --machine-type=e2-micro \ --zone=us-west1-b \ --network-interface="subnet=producer-subnet,no-address" \ --metadata=startup-script='#!/bin/bash # Enable IP forwarding. echo 1 > /proc/sys/net/ipv4/ip_forward # Log incoming packets from the gateway IP and the GENEVE 6081 port. iptables -t nat -A PREROUTING -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix="[NSI INTERCEPT] " # Apply DNAT (Destination NAT) on incoming packets from the gateway # IP and the GENEVE 6081 port. # Set the destination IP to the gateway IP so the packet is rerouted # back to the sender. iptables -t nat -A PREROUTING -p udp -s '"$GW_IP"'/32 --dport 6081 -j DNAT --to-destination '"$GW_IP"' # Apply SNAT (Source NAT) on outgoing packets that have the GENEVE # 6081 port and source IP that equals the gateway IP. # Set the source IP to the internal load balancer IP which # effectively swaps the IPs of the original packet. iptables -t nat -A POSTROUTING -p udp -s '"$GW_IP"'/32 --dport 6081 -j SNAT --to-source '"$ILB_IP"' # Spin up a simple server for health checks on port 80. nohup python3 -u -m http.server 80 &'Ajoutez l'instance de VM au groupe d'instances.
gcloud compute instance-groups unmanaged add-instances producer-instance-group \ --instances=producer-instance \ --zone=us-west1-bAjoutez le groupe d'instances backend au service de backend.
gcloud compute backend-services add-backend producer-backend-service \ --region=us-west1 \ --instance-group=producer-instance-group \ --instance-group-zone=us-west1-b
Créer une stratégie de pare-feu et ajouter des règles de pare-feu
Dans cette section, vous allez créer une stratégie de pare-feu et ajouter des règles de pare-feu pour autoriser les connexions UDP, les vérifications d'état et les connexions SSH à l'instance de VM productrice via Identity-Aware Proxy (IAP). Google Cloud
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Cliquez sur Créer une stratégie de pare-feu.
Dans le champ Nom, saisissez
producer-firewall-policy.Pour le Champ d'application du déploiement, sélectionnez Mondial, puis cliquez sur Continuer.
Créez les règles suivantes pour votre stratégie.
Autoriser la connexion UDP avec le port GENEVE à partir de l'adresse IP de la passerelle VPC
- Cliquez sur Créer une règle de pare-feu, puis configurez les champs suivants :
- Priorité :
100 - Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Filtres sources > Plages d'adresses IP :
GATEWAY_IP - Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case UDP, puis saisissez
6081dans Ports.
- Priorité :
- Cliquez sur Créer.
Remplacez
GATEWAY_IPpar l'adresse IP de la passerelle du sous-réseau.Autoriser les vérifications d'état Google Cloud
- Cliquez sur Créer une règle de pare-feu, puis configurez les champs suivants :
- Priorité :
101 - Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Plages d'adresses IP :
35.191.0.0/16et130.211.0.0/22 - Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez
80dans Ports.
- Priorité :
- Cliquez sur Créer.
Autoriser la connexion SSH à l'instance de VM du producteur via Identity-Aware Proxy
- Cliquez sur Créer une règle de pare-feu, puis configurez les champs suivants :
- Priorité :
102 - Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Plages d'adresses IP :
35.235.240.0/20 - Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez
22dans Ports.
- Priorité :
- Cliquez sur Créer.
- Cliquez sur Créer une règle de pare-feu, puis configurez les champs suivants :
Pour associer la règle à un réseau, cliquez sur Continuer, puis sur Associer.
Cochez la case
producer-network.Cliquez sur Continuer.
Cliquez sur Créer.
gcloud
Créez une stratégie de pare-feu de réseau au niveau mondial.
gcloud compute network-firewall-policies create producer-firewall-policy \ --globalAssociez la stratégie de pare-feu au réseau producteur.
gcloud compute network-firewall-policies associations create \ --name=producer-firewall-policy-assoc \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --network=producer-networkCréez une règle de pare-feu pour autoriser la connexion UDP avec le port GENEVE à partir de l'adresse IP de la passerelle VPC.
gcloud compute network-firewall-policies rules create 100 \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=udp:6081 \ --src-ip-ranges=$GW_IP/32Créez une règle de pare-feu pour autoriser les vérifications d'état Google Cloud .
gcloud compute network-firewall-policies rules create 101 \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:80 \ --src-ip-ranges=35.191.0.0/16,130.211.0.0/22Créez une règle de pare-feu pour autoriser la connexion SSH à l'instance de VM productrice via Identity-Aware Proxy.
gcloud compute network-firewall-policies rules create 102 \ --firewall-policy=producer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:22 \ --src-ip-ranges=35.235.240.0/20
Créer des ressources d'interception de producteur
Dans cette section, vous allez créer un groupe de déploiement d'interception et un déploiement d'interception.
Console
Dans la console Google Cloud , accédez à la page Groupes de déploiement.
Cliquez sur Créer un groupe de déploiement.
Dans le champ Nom, saisissez
producer-deployment-group.Pour Réseau, sélectionnez
producer-network.Dans le champ Objectif, sélectionnez NSI in-band.
Dans la section Déploiements d'interception, cliquez sur Créer un déploiement d'interception, spécifiez les champs suivants, puis cliquez sur Créer :
- Nom :
producer-deployment. - Région :
us-west1. - Zone :
us-west1-b. - Équilibreur de charge interne :
producer-ilb.
- Nom :
Cliquez sur Créer.
gcloud
Créez un groupe de déploiement d'interception.
gcloud network-security intercept-deployment-groups create producer-deployment-group \ --location=global \ --network=projects/PROJECT_ID/global/networks/producer-network \ --no-asyncRemplacez
PROJECT_IDpar l'ID de votre projet.Créez un déploiement d'interception.
gcloud network-security intercept-deployments create producer-deployment \ --location=us-west1-b \ --forwarding-rule=producer-ilb-fr \ --forwarding-rule-location=us-west1 \ --intercept-deployment-group=projects/PROJECT_ID/locations/global/interceptDeploymentGroups/producer-deployment-group \ --no-asyncRemplacez
PROJECT_IDpar l'ID de votre projet.
Créer des ressources pour les consommateurs
Dans cette section, vous allez créer les ressources suivantes pour le consommateur :
- Un réseau VPC personnalisé avec un sous-réseau.
- Une VM serveur et une VM cliente.
- Une règle et une stratégie de pare-feu pour intercepter le trafic.
- Un groupe de points de terminaison d'interception et une association de groupe de points de terminaison d'interception.
- Un profil de sécurité et un groupe de profils de sécurité.
Créer un réseau VPC personnalisé
Dans cette section, vous allez créer un réseau VPC avec un sous-réseau.
Console
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Dans le champ Nom, saisissez
consumer-network.Dans Description, saisissez
Consumer VPC network.Dans la section Sous-réseaux, procédez comme suit :
- Définissez Mode de création du sous-réseau sur Personnalisé.
- Dans la section Nouveau sous-réseau, saisissez les informations suivantes :
- Nom :
consumer-subnet - Région :
us-west1 - Type de pile IP: IPv4 (pile unique)
- Plage IPv4 :
10.10.0.0/16
- Nom :
- Cliquez sur OK.
Cliquez sur Créer.
gcloud
Créez un réseau VPC consommateur.
gcloud compute networks create consumer-network \ --subnet-mode=custom \ --description="Consumer VPC network"Dans le réseau VPC, créez un sous-réseau.
gcloud compute networks subnets create consumer-subnet \ --network=consumer-network \ --region=us-west1 \ --range=10.10.0.0/16
Créer des VM serveur et cliente
Dans cette section, vous allez créer une VM serveur et une VM cliente.
Console
Créer une VM serveur
Dans la console Google Cloud , accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Pour Nom, définissez
consumer-server-vm.Définissez Région sur
us-west1.Définissez le champ Zone sur
us-west1-b.Définissez Type de machine sur e2-micro.
Cliquez sur Mise en réseau et configurez les champs suivants :
Dans la section Interfaces réseau, cliquez sur
defaultet modifiez l'interface réseau :- Réseau :
consumer-network - Sous-réseau :
consumer-subnet - Adresse IPv4 externe : Aucune
- Réseau :
Cliquez sur Avancé, puis saisissez le script suivant dans Script de démarrage :
echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000
Cliquez sur Créer.
Créer une VM cliente
Dans la console Google Cloud , accédez à la page Instances de VM.
Cliquez sur Créer une instance.
Pour Nom, définissez
consumer-client-vm.Définissez Région sur
us-west1.Définissez le champ Zone sur
us-west1-b.Définissez Type de machine sur e2-micro.
Cliquez sur Mise en réseau et configurez les champs suivants :
Dans la section Interfaces réseau, cliquez sur
defaultet modifiez l'interface réseau :- Réseau :
consumer-network - Sous-réseau :
consumer-subnet - Adresse IPv4 externe : Aucune
- Réseau :
Cliquez sur Créer.
gcloud
créer la VM serveur ;
gcloud compute instances create consumer-server-vm \ --image-project=debian-cloud \ --image-family=debian-11 \ --machine-type=e2-micro \ --zone=us-west1-b \ --network-interface="subnet=consumer-subnet,no-address" \ --metadata=startup-script="echo success > /tmp/connection_test && nohup python3 -u -m http.server --directory /tmp 8000"créer la VM cliente ;
gcloud compute instances create consumer-client-vm \ --image-project=debian-cloud \ --image-family=debian-11 \ --machine-type=e2-micro \ --zone=us-west1-b \ --network-interface="subnet=consumer-subnet,no-address"
Créer une stratégie de pare-feu pour autoriser l'accès SSH
Dans cette section, vous allez créer une stratégie de pare-feu et ajouter une règle de pare-feu pour autoriser l'accès SSH aux VM du consommateur.
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Cliquez sur Créer une stratégie de pare-feu.
Dans le champ Nom, saisissez
consumer-firewall-policy.Pour le Champ d'application du déploiement, sélectionnez Mondial, puis cliquez sur Continuer.
Cliquez sur Créer une règle de pare-feu, configurez les champs suivants, puis cliquez sur Créer :
- Priorité :
100 - Sens du trafic : entrée
- Action en cas de correspondance : autoriser
- Filtres sources > Plages d'adresses IP :
35.235.240.0/20 - Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez
22dans Ports.
La plage IPv4
35.235.240.0/20contient toutes les adresses IP qu'Identity-Aware Proxy utilise pour le transfert TCP. Pour en savoir plus, consultez Préparer votre projet pour le transfert TCP.- Priorité :
Pour associer la règle à un réseau, cliquez sur Continuer, puis sur Associer.
Cochez la case
consumer-network.Cliquez sur Continuer.
Cliquez sur Créer.
gcloud
Créez une stratégie de pare-feu de réseau au niveau mondial.
gcloud compute network-firewall-policies create consumer-firewall-policy \ --globalAssociez la stratégie de pare-feu au réseau consommateur.
gcloud compute network-firewall-policies associations create \ --name=consumer-firewall-policy-assoc \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --network=consumer-networkCréez une règle d'autorisation SSH pour autoriser la connexion SSH à l'instance de VM cliente via Identity-Aware Proxy.
gcloud compute network-firewall-policies rules create 101 \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --action=allow \ --direction=INGRESS \ --layer4-configs=tcp:22 \ --src-ip-ranges=35.235.240.0/20La plage IPv4
35.235.240.0/20contient toutes les adresses IP qu'Identity-Aware Proxy (IAP) utilise pour le transfert TCP. Pour en savoir plus, consultez Préparer votre projet pour le transfert TCP.
Créer un groupe de points de terminaison client
Dans cette section, vous allez créer un groupe de points de terminaison d'interception et une association de groupe de points de terminaison d'interception.
Console
Dans la console Google Cloud , accédez à la page Groupes de points de terminaison.
Cliquez sur Créer un groupe de points de terminaison.
Dans le champ Nom, saisissez
consumer-endpoint-group.Pour Groupe de déploiement, dans le menu Sélectionner un projet, sélectionnez Sélectionner le projet actuel.
Pour Groupe de déploiement d'interception, sélectionnez
producer-deployment-group.Cliquez sur Continuer.
Cliquez sur Ajouter une association de groupe de points de terminaison.
Pour Project (Projet), sélectionnez votre projet actuel.
Pour Réseau, sélectionnez
consumer-network.Cliquez sur Créer.
gcloud
Créez le groupe de points de terminaison d'interception.
gcloud network-security intercept-endpoint-groups create consumer-endpoint-group \ --location=global \ --intercept-deployment-group=projects/PROJECT_ID/locations/global/interceptDeploymentGroups/producer-deployment-group \ --no-asyncRemplacez
PROJECT_IDpar l'ID de votre projet.Créez l'association de groupe de points de terminaison d'interception.
gcloud network-security intercept-endpoint-group-associations create consumer-endpoint-group-association \ --location=global \ --intercept-endpoint-group=projects/PROJECT_ID/locations/global/interceptEndpointGroups/consumer-endpoint-group \ --network=consumer-network \ --no-asyncRemplacez
PROJECT_IDpar l'ID de votre projet.
Créer un profil de sécurité et un groupe de profils de sécurité
Créez un groupe de profils de sécurité et un profil de sécurité personnalisé pour intercepter le trafic.
Console
Créer un profil de sécurité
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Dans le sélecteur de projets, sélectionnez votre organisation.
Dans l'onglet Profils de sécurité, cliquez sur Créer un profil.
Dans le champ Nom, saisissez
consumer-security-profile.Pour Objectif du profil de sécurité, sélectionnez NSI en bande.
Pour Project (Projet), sélectionnez votre projet actuel.
Pour Groupe de points de terminaison d'interception, sélectionnez
consumer-endpoint-group.Cliquez sur Créer.
Créer un groupe de profils de sécurité
Dans la console Google Cloud , accédez à la page Groupes de profils de sécurité.
Dans le sélecteur de projets, sélectionnez votre organisation.
Dans l'onglet Groupes de profils de sécurité, cliquez sur Créer un groupe de profils.
Dans le champ Nom, saisissez
consumer-security-profile-group.Dans Objectif du groupe de profils de sécurité, sélectionnez NSI en bande.
Pour Profil d'interception personnalisé, sélectionnez
consumer-security-profile.Cliquez sur Créer.
gcloud
Créez un profil de sécurité d'interception.
gcloud network-security security-profiles custom-intercept create consumer-security-profile \ --location=global \ --organization=ORG_ID \ --intercept-endpoint-group=projects/PROJECT_ID/locations/global/interceptEndpointGroups/consumer-endpoint-group \ --no-asyncRemplacez les éléments suivants :
ORG_ID: ID de votre organisation. Les profils de sécurité sont des ressources au niveau de l'organisation. Pour les créer, vous devez disposer du rôle Administrateur de profils de sécurité (networksecurity.securityProfileAdmin) au niveau de l'organisation.PROJECT_ID: par l'ID du projet.
Créez un groupe de profils de sécurité pour les interceptions.
gcloud network-security security-profile-groups create consumer-security-profile-group \ --location=global \ --organization=ORG_ID \ --custom-intercept-profile=consumer-security-profile \ --billing-project=PROJECT_ID \ --no-asyncRemplacez les éléments suivants :
ORG_ID: ID de votre organisation. Les groupes de profils de sécurité sont des ressources au niveau de l'organisation. Pour les créer, vous devez disposer du rôle Administrateur de profil de sécurité (networksecurity.securityProfileAdmin) au niveau de l'organisation.PROJECT_ID: par l'ID du projet.
Créer une stratégie de pare-feu pour intercepter le trafic
Dans cette section, vous allez créer une stratégie de pare-feu et une règle de pare-feu pour intercepter le trafic.
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Cliquez sur
consumer-firewall-policy.Cliquez sur Créer une règle de pare-feu, puis configurez les champs suivants :
- Priorité :
100 - Sens du trafic : entrée
- Action en cas de correspondance : Passer à l'inspection L7
- Objectif : NSI in-band
- Groupe de profils de sécurité :
consumer-security-profile-group - Plages d'adresses IP :
10.10.0.0/16 - Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez
8000dans Ports.
- Priorité :
Cliquez sur Créer.
gcloud
Ajoutez une règle de pare-feu pour intercepter le trafic sur le port TCP 8000 de la VM du serveur.
gcloud compute network-firewall-policies rules create 100 \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policy \ --action=apply_security_profile_group \ --security-profile-group=organizations/ORG_ID/locations/global/securityProfileGroups/consumer-security-profile-group \ --direction=INGRESS \ --layer4-configs=tcp:8000 \ --src-ip-ranges=10.10.0.0/16Remplacez
ORG_IDpar l'ID de votre organisation.
Tester la connexion
Dans cette section, vous allez envoyer du trafic réseau depuis l'instance de VM cliente consommateur vers l'instance de VM serveur consommateur, puis vérifier les journaux de l'instance de VM producteur pour confirmer l'interception.
Exécutez la commande suivante pour vous connecter à l'instance de VM du client consommateur via SSH et envoyer une requête à l'instance de VM du serveur consommateur.
gcloud compute ssh consumer-client-vm \ --tunnel-through-iap \ --zone=us-west1-b \ --command="curl -m 3 -s http://consumer-server-vm:8000/connection_test || echo fail"Le message
successs'affiche lorsque vous exécutez la commande précédente. Il indique que le trafic est envoyé du client au serveur.Exécutez la commande suivante pour vérifier les journaux de l'instance de VM producteur.
gcloud compute ssh producer-instance \ --tunnel-through-iap \ --zone=us-west1-b \ --command="cat /var/log/syslog | grep 'NSI INTERCEPT'"Un message semblable à
[NSI INTERCEPT] IN=ens4 OUT= MAC=xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx SRC=10.10.0.1 DST=10.10.0.2 LEN=136 TOS=0x00 PREC=0x00 TTL=64 ID=0 DF PROTO=UDP SPT=45554 DPT=6081 LEN=116s'affiche. Cela indique que le trafic client-serveur est intercepté par l'instance de VM de producteur.
Effectuer un nettoyage
Pour éviter que les ressources utilisées lors de ce tutoriel soient facturées sur votre compte Google Cloud, supprimez le projet contenant les ressources, ou conservez le projet et supprimez les ressources individuelles.
Supprimer les ressources du consommateur
Dissociez la stratégie de pare-feu du réseau consommateur, puis supprimez-la.
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Cliquez sur la règle
consumer-firewall-policy.Cliquez sur l'onglet Associations.
Cochez la case de l'association
consumer-network.Cliquez sur Supprimer l'association.
Cliquez sur Supprimer.
En haut de la page, cliquez sur Supprimer.
Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
Supprimez l'association.
gcloud compute network-firewall-policies associations delete \ --name=consumer-firewall-policy-assoc \ --firewall-policy=consumer-firewall-policy \ --global-firewall-policySupprimez la stratégie de pare-feu.
gcloud compute network-firewall-policies delete consumer-firewall-policy \ --global
Supprimez le groupe de profils de sécurité.
Console
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Dans le sélecteur de projets, sélectionnez votre organisation.
Dans l'onglet Groupes de profils de sécurité, sélectionnez le groupe de profils de sécurité
consumer-security-profile-group, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
gcloud network-security security-profile-groups delete consumer-security-profile-group \ --location=global \ --organization=ORG_ID \ --billing-project=PROJECT_ID \ --quietRemplacez les éléments suivants :
ORG_ID: ID de votre organisation.PROJECT_ID: ID de votre projet.
Supprimez le profil de sécurité.
Console
Dans la console Google Cloud , accédez à la page Profils de sécurité.
Dans le sélecteur de projets, sélectionnez votre organisation.
Dans l'onglet Profils de sécurité, sélectionnez le profil de sécurité
consumer-security-profile, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
gcloud network-security security-profiles custom-intercept delete consumer-security-profile \ --location=global \ --organization=ORG_ID \ --billing-project=PROJECT_ID \ --quietRemplacez les éléments suivants :
ORG_ID: ID de votre organisation.PROJECT_ID: ID de votre projet.
Supprimez l'association du groupe de points de terminaison d'interception.
Console
Dans la console Google Cloud , accédez à la page Groupes de points de terminaison.
Cliquez sur
consumer-endpoint-group.Sélectionnez l'association
consumer-network, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
gcloud network-security intercept-endpoint-group-associations delete consumer-endpoint-group-association \ --location=global \ --no-asyncSupprimez le groupe de points de terminaison d'interception.
Console
Dans la console Google Cloud , accédez à la page Groupes de points de terminaison.
Sélectionnez
consumer-endpoint-group, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
gcloud network-security intercept-endpoint-groups delete consumer-endpoint-group \ --location=global \ --no-asyncSupprimez les VM serveur et cliente.
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Cochez les cases correspondant à
consumer-client-vmetconsumer-server-vm, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
Supprimez la VM cliente.
gcloud compute instances delete consumer-client-vm \ --zone=us-west1-b \ --quietSupprimez la VM serveur.
gcloud compute instances delete consumer-server-vm \ --zone=us-west1-b \ --quiet
Supprimez le réseau et le sous-réseau consommateur.
Console
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Cliquez sur
consumer-network.Dans l'onglet Sous-réseaux, cochez la case
consumer-subnet, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
Cliquez sur Supprimer le réseau VPC.
Dans le champ de texte, saisissez
consumer-network, puis cliquez sur Supprimer.
gcloud
Supprimez le sous-réseau.
gcloud compute networks subnets delete consumer-subnet \ --region=us-west1 \ --quietSupprimez le réseau VPC.
gcloud compute networks delete consumer-network \ --quiet
Supprimer les ressources du producteur
Dissociez la stratégie de pare-feu du réseau producteur, puis supprimez-la.
Console
Dans la console Google Cloud , accédez à la page Règles de pare-feu.
Cliquez sur la règle
producer-firewall-policy.Cliquez sur l'onglet Associations.
Cochez la case de l'association
producer-network.Cliquez sur Supprimer l'association.
Cliquez sur Supprimer.
En haut de la page, cliquez sur Supprimer.
Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
Supprimez l'association.
gcloud compute network-firewall-policies associations delete \ --name=producer-firewall-policy-assoc \ --firewall-policy=producer-firewall-policy \ --global-firewall-policySupprimez la stratégie de pare-feu.
gcloud compute network-firewall-policies delete producer-firewall-policy \ --global
Supprimez le déploiement d'interception et le groupe de déploiement d'interception.
Console
Dans la console Google Cloud , accédez à la page Groupes de déploiement.
Cliquez sur
producer-deployment-group.Supprimer
producer-deployment- Cochez la case
producer-deployment, puis cliquez sur Supprimer. - Cliquez à nouveau sur Supprimer pour confirmer votre choix.
- Cochez la case
Cliquez sur le bouton Supprimer en haut de la page.
Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
Supprimez le déploiement de l'interception.
gcloud network-security intercept-deployments delete producer-deployment \ --location=us-west1-b \ --no-asyncSupprimez le groupe de déploiement d'interception.
gcloud network-security intercept-deployment-groups delete producer-deployment-group \ --location=global \ --no-async
Supprimez les ressources de l'équilibreur de charge.
Console
Dans la console Google Cloud , accédez à la page Équilibrage de charge.
Cochez la case
producer-ilb.Cliquez sur le bouton Supprimer en haut de la page.
Cochez la case
producer-health-check, puis cliquez sur Supprimer l'équilibreur de charge et les ressources sélectionnées.
gcloud
Supprimez la règle de transfert.
gcloud compute forwarding-rules delete producer-ilb-fr \ --region=us-west1 \ --quietSupprimez le service de backend.
gcloud compute backend-services delete producer-backend-service \ --region=us-west1 \ --quietSupprimez la vérification de l'état.
gcloud compute health-checks delete producer-health-check \ --region=us-west1 \ --quiet
Supprimez l'instance de VM du producteur.
Console
Dans la console Google Cloud , accédez à la page Instances de VM.
Cochez la case
producer-instance, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
gcloud
gcloud compute instances delete producer-instance \ --zone=us-west1-b \ --quietSupprimez le groupe d'instances.
Console
Dans la console Google Cloud , accédez à la page Groupes d'instances.
Cochez la case
producer-instance-group.Cliquez sur Supprimer.
Dans la fenêtre de confirmation, cliquez sur Supprimer.
gcloud
gcloud compute instance-groups unmanaged delete producer-instance-group \ --zone=us-west1-b \ --quietSupprimez le réseau et le sous-réseau du producteur.
Console
Dans la console Google Cloud , accédez à la page Réseaux VPC.
Cliquez sur
producer-network.Dans l'onglet Sous-réseaux, cochez la case
producer-subnet, puis cliquez sur Supprimer.Cliquez à nouveau sur Supprimer pour confirmer votre choix.
Cliquez sur Supprimer le réseau VPC.
Dans le champ de texte, saisissez
producer-network, puis cliquez sur Supprimer.
gcloud
Supprimez le sous-réseau.
gcloud compute networks subnets delete producer-subnet \ --region=us-west1 \ --quietSupprimez le réseau.
gcloud compute networks delete producer-network \ --quiet
Étapes suivantes
- Présentation des groupes de déploiement d'interception
- Présentation des déploiements d'interception
- Présentation des groupes de points de terminaison et des associations d'interception
- Présentation des profils de sécurité
- Présentation des groupes de profils de sécurité
- Découvrez des architectures de référence, des schémas et des bonnes pratiques concernant Google Cloud. Consultez notre Cloud Architecture Center.