Configurer l'intégration hors bande pour un modèle producteur-consommateur

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 hors bande avec la technologie de mise en miroir de paquets pour mettre en miroir le trafic réseau à l'aide d'appliances virtuelles gérées par l'utilisateur.

Ce tutoriel explique comment créer et configurer des ressources de producteur et de consommateur pour configurer l'intégration hors bande.

Objectifs

Ce tutoriel vous explique comment effectuer les tâches suivantes dans un projet :

  1. Créez des réseaux de cloud privé virtuel (VPC) personnalisés avec des sous-réseaux pour le producteur et le consommateur dans le même projet.
  2. Pour le producteur, créez et configurez les ressources de producteur et les ressources de déploiement de mise en miroir. Un équilibreur de charge réseau passthrough interne est un exemple de ressource de producteur.
  3. Pour le consommateur, créez et configurez des instances de machines virtuelles (VM) client et serveur, des ressources de points de terminaison de mise en miroir et des règles de pare-feu pour mettre en miroir le trafic client-serveur.
  4. Testez la connexion et vérifiez que les paquets de trafic réseau des VM consommatrices sont mis en miroir dans les ressources de mise en miroir du producteur.

Le schéma suivant illustre le flux de trafic entre les réseaux VPC producteur et consommateur.

Architecture de déploiement de haut niveau des composants producteur et consommateur dans un même projet.
Figure 1. Architecture de déploiement de haut niveau des composants producteur et consommateur dans un même projet (cliquez pour agrandir).

Le schéma précédent montre les éléments suivants :

  • Trafic réseau transitant du réseau consommateur vers le réseau producteur via un groupe de points de terminaison de mise en miroir.
  • Le réseau du producteur inclut une instance de VM, un équilibreur de charge réseau passthrough interne et un déploiement de mise en miroir.
  • Le groupe de déploiement de mise en miroir du réseau du producteur inclut le déploiement de mise en miroir zonal.
  • Le réseau consommateur inclut des instances de VM client et serveur. Les règles et stratégies de pare-feu du réseau consommateur gèrent le flux de trafic, et un groupe de profils de sécurité est associé à la stratégie de pare-feu.
  • Le réseau consommateur est associé à une association de groupe de points de terminaison de mise en miroir, qui connecte le réseau consommateur au groupe de points de terminaison de mise en miroir.

Avant de commencer

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  5. Verify that billing is enabled for your Google Cloud project.

  6. Activez l'API Compute Engine pour votre projet.
  7. Activez l'API Network Security dans le projet Google Cloud que vous souhaitez utiliser pour la facturation.
  8. 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.
  9. 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 init pour initialiser votre répertoire gcloud CLI.

  10. Obtenez l'ID de votre projet. Vous en avez besoin pour créer des ressources de mise en miroir et de point de terminaison. Si vous utilisez la gcloud CLI, vous pouvez remplacer le PROJECT_ID ici ou plus tard dans les commandes respectives.
  11. 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_ID ici ou plus tard dans les commandes respectives.

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.
  • Un groupe d'instances non géré avec une instance de VM enregistrant les paquets Generic Network Virtualization Encapsulation (GENEVE) entrants.
  • É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 de mise en miroir et un déploiement de mise en miroir.

Créer un réseau VPC personnalisé

Dans cette section, vous allez créer un réseau VPC avec un sous-réseau.

Console

  1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur Créer un réseau VPC.

  3. Dans le champ Nom, saisissez producer-network.

  4. Dans Description, saisissez Producer VPC network.

  5. Dans la section Sous-réseaux, procédez comme suit :

    1. Dans le champ Mode de création du sous-réseau, sélectionnez Personnalisé.
    2. 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
    3. Cliquez sur OK.
  6. Cliquez sur Créer.

  7. Ouvrez gcloud CLI et exécutez la commande suivante pour augmenter l'unité de transmission maximale (MTU) du réseau de la console Google Cloud .

    gcloud compute networks update producer-network \
        --mtu=1856
    

    Dans la commande, spécifiez une MTU de 1 856 octets, qui correspond à la somme de la MTU par défaut d'un réseau de console (1 460 octets) et des frais généraux d'encapsulation GENEVE de Network Security Integration (396 octets). Google Cloud

gcloud

  1. Créez un réseau VPC.

    gcloud compute networks create producer-network \
        --subnet-mode=custom \
        --mtu=1856 \
        --description="Producer VPC network"
    

    Dans la commande, spécifiez une MTU de 1 856 octets, qui correspond à la somme de la MTU par défaut d'un réseau de console (1 460 octets) et des frais généraux d'encapsulation GENEVE de Network Security Integration (396 octets). Google Cloud

  2. 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

  1. Dans la console Google Cloud , accédez à la page Groupes d'instances.

    Accéder à la page Groupes d'instances

  2. Cliquez sur Créer un groupe d'instances.

  3. Cliquez sur Nouveau groupe d'instances non géré.

  4. Dans le champ Nom, saisissez producer-instance-group.

  5. Dans la section Emplacement, sélectionnez us-west1 pour la région, puis us-west1-b pour la zone.

  6. Dans la section Réseau et instances, procédez comme suit :

    1. Pour Réseau, sélectionnez producer-network.
    2. Pour Sous-réseau, sélectionnez producer-subnet.
  7. 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

  1. Dans la console Google Cloud , accédez à la page Équilibrage de charge.

    Accéder à la page "Équilibrage de charge"

  2. Cliquez sur Créer un équilibreur de charge.
  3. Sous Type d'équilibreur de charge, sélectionnez Équilibreur de charge réseau (TCP/UDP/SSL), puis cliquez sur Suivant.
  4. Pour Proxy ou passthrough, sélectionnez Équilibreur de charge passthrough, puis cliquez sur Suivant.
  5. Pour Public ou interne, sélectionnez Interne, puis cliquez sur Suivant.
  6. 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

  1. Cliquez sur Configuration du backend.
  2. Pour Protocole, sélectionnez UDP.
  3. 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
  4. Dans la section Nouveau backend de Backends, pour Type de pile IP, sélectionnez IPv4 (pile unique).
  5. Dans Groupe d'instances, sélectionnez le groupe d'instances producer-instance-group, puis cliquez sur OK.

  6. Vérifiez qu'une coche bleue apparaît à côté de Configuration du backend avant de continuer.

Configurer l'interface

  1. Dans la section Nouveaux IP et port frontend, saisissez les informations suivantes, puis cliquez sur Terminé :
    1. Dans le champ Nom, saisissez producer-ilb-fr.
    2. Pour Sous-réseau, sélectionnez producer-subnet.
    3. Pour Ports, sélectionnez Unique, puis dans Numéro de port, saisissez 6081.
    4. Dans la section Configuration avancée, pour Mise en miroir des paquets, sélectionnez Activer cet équilibreur de charge pour la mise en miroir des paquets.
    5. Vérifiez qu'une coche bleue apparaît à côté de Configuration du frontend avant de continuer.

Vérifier la configuration

  1. Cliquez sur Vérifier et finaliser.
  2. Vérifiez les paramètres de configuration de votre équilibreur de charge.
  3. Cliquez sur Créer.

gcloud

  1. Créez une vérification d'état régionale.

    gcloud compute health-checks create tcp producer-health-check \
        --region=us-west1 \
        --port=80
    
  2. Cré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=INTERNAL
    
  3. Cré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 \
        --is-mirroring-collector \
        --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 de journalisation pour les paquets encapsulés GENEVE. Avant de créer l'instance de VM, obtenez l'adresse IP de la passerelle du sous-réseau. Vous avez besoin de l'adresse IP du script de démarrage.

Console

Obtenir l'adresse IP de la passerelle du sous-réseau

  1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur le réseau VPC producer-network.

  3. Cliquez sur l'onglet Sous-réseaux.

  4. Dans la section Sous-réseaux, notez l'adresse IP de la passerelle dans la colonne Passerelle.

Créer l'instance de VM

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

    1. Cliquez sur Créer une instance.
    2. Dans le champ Nom, saisissez producer-instance.
    3. Pour Région, sélectionnez us-west1.
    4. Pour Zone, sélectionnez us-west1-b.
    5. Définissez le type de machine sur e2-micro.
    6. Cliquez sur Mise en réseau, puis dans la section Interfaces réseau, cliquez sur Ajouter une interface réseau et définissez les paramètres suivants :
      • Réseau : producer-network
      • Sous-réseau : producer-subnet
      • Adresse IPv4 externe : Aucune
    7. Cliquez sur Avancé, puis saisissez le script suivant dans Script de démarrage :

      #!/bin/bash
      # Log incoming packets from the gateway IP and the GENEVE 6081 port.
      iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] "
      
      # Spin up a simple server for health checks on port 80.
      nohup python3 -u -m http.server 80 &
      

      Remplacez les éléments suivants :

      • GW_IP : adresse IP de la passerelle du sous-réseau.
    8. Cliquez sur Créer.

Ajouter l'instance de VM au groupe d'instances

  1. Dans la console Google Cloud , accédez à la page Groupes d'instances.

    Accéder à la page Groupes d'instances

  2. Cliquez sur producer-instance-group.

  3. Cliquez sur Modifier.

  4. Dans la section Instances de VM, sélectionnez la VM producer-instance dans la liste Sélectionner des VM.

  5. Cliquez sur Enregistrer.

gcloud

  1. 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)")
    
  2. 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
         # Log incoming packets from the gateway IP and the GENEVE 6081 port.
         iptables -A INPUT -p udp -s '"$GW_IP"'/32 --dport 6081 -j LOG --log-prefix "[NSI MIRRORING] "
    
         # Spin up a simple server for health checks on port 80.
         nohup python3 -u -m http.server 80 &'
    
    
  3. 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-b
    
  4. Ajoutez 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 le trafic UDP, les vérifications de l'état Google Cloud et les connexions SSH à l'instance de VM productrice via Identity-Aware Proxy (IAP).

Console

  1. Dans la console Google Cloud , accédez à la page Règles de pare-feu.

    Accéder à la page Règles de pare-feu

  2. Cliquez sur Créer une stratégie de pare-feu.

  3. Dans le champ Nom, saisissez producer-firewall-policy.

  4. Pour le Champ d'application du déploiement, sélectionnez Mondial, puis cliquez sur Continuer.

  5. Créez les règles suivantes pour votre stratégie.

    Autoriser le trafic UDP avec le port GENEVE à partir de l'adresse IP de la passerelle VPC

    1. 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
      • Protocole et ports : sélectionnez Protocole et ports spécifiés, cochez la case UDP, puis saisissez 6081 dans Ports.
    2. Cliquez sur Créer.

    Remplacez GATEWAY_IP par l'adresse IP de la passerelle du sous-réseau.

    Autoriser les vérifications d'état Google Cloud

    1. 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/16 et 130.211.0.0/22
      • Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez 80 dans Ports.
    2. Cliquez sur Créer.

    Autoriser la connexion SSH à l'instance de VM du producteur via Identity-Aware Proxy

    1. 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 22 dans Ports.
    2. Cliquez sur Créer.
  6. Pour associer la règle à un réseau, cliquez sur Continuer, puis sur Associer.

  7. Cochez la case producer-network.

  8. Cliquez sur Continuer.

  9. Cliquez sur Créer.

gcloud

  1. Créez une stratégie de pare-feu de réseau au niveau mondial.

    gcloud compute network-firewall-policies create producer-firewall-policy \
        --global
    
  2. Associez 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-network
    
  3. Cré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/32
    
  4. Cré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/22 # Google Cloud health check ranges
    
  5. Créez une règle de pare-feu pour autoriser la connexion SSH à l'instance de VM du producteur 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 # Google Cloud IAP range
    

Créer des ressources de mise en miroir de producteurs

Dans cette section, vous allez créer un groupe de déploiements de mise en miroir et un déploiement de mise en miroir.

Console

  1. Dans la console Google Cloud , accédez à la page Groupes de déploiement.

    Accéder à la page "Groupes de déploiement"

  2. Cliquez sur Créer un groupe de déploiement.

  3. Dans le champ Nom, saisissez producer-deployment-group.

  4. Pour Réseau, sélectionnez producer-network.

  5. Dans le champ Objectif, sélectionnez NSI (hors bande).

  6. Dans la section Déploiements de mirroring, cliquez sur Créer un déploiement de mirroring, 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.
  7. Cliquez sur Créer.

gcloud

  1. Créez un groupe de déploiement de mise en miroir.

    gcloud network-security mirroring-deployment-groups create producer-deployment-group \
        --location=global \
        --network=projects/PROJECT_ID/global/networks/producer-network \
        --no-async
    

    Remplacez PROJECT_ID par l'ID de votre projet.

  2. Créez un déploiement de mise en miroir.

    gcloud network-security mirroring-deployments create producer-deployment \
        --location=us-west1-b \
        --forwarding-rule=producer-ilb-fr \
        --forwarding-rule-location=us-west1 \
        --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \
        --no-async
    

Créer des ressources consommateur

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 stratégie de pare-feu et une règle de mise en miroir du trafic
  • Un groupe de points de terminaison de mise en miroir et une association de groupe de points de terminaison de mise en miroir
  • 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

  1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

    Accéder aux réseaux VPC

  2. Cliquez sur Créer un réseau VPC.

  3. Dans le champ Nom, saisissez consumer-network.

  4. Dans Description, saisissez Consumer VPC network.

  5. Dans la section Sous-réseaux, procédez comme suit :

    1. Dans le champ Mode de création du sous-réseau, sélectionnez Personnalisé.
    2. 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.11.0.0/16
    3. Cliquez sur OK.
  6. Cliquez sur Créer.

gcloud

  1. Créez un réseau VPC consommateur.

    gcloud compute networks create consumer-network \
        --subnet-mode=custom \
        --description="Consumer VPC network"
    
  2. 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.11.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

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Cliquez sur Créer une instance.

  3. Pour Nom, définissez consumer-server-vm.

  4. Définissez Région sur us-west1.

  5. Définissez le champ Zone sur us-west1-b.

  6. Définissez le type de machine sur e2-micro.

  7. Cliquez sur Mise en réseau, puis, dans la section Interfaces réseau, cliquez sur Ajouter une interface réseau et définissez les paramètres suivants :

    • Réseau : consumer-network
    • Sous-réseau : consumer-subnet
    • Adresse IPv4 externe : Aucune
  8. 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 &
    

  9. Cliquez sur Créer.

Créer une VM cliente

  1. Dans la console Google Cloud , accédez à la page Instances de VM.

    Accéder à la page "Instances de VM"

  2. Cliquez sur Créer une instance.

  3. Pour Nom, définissez consumer-client-vm.

  4. Définissez Région sur us-west1.

  5. Définissez le champ Zone sur us-west1-b.

  6. Définissez le type de machine sur e2-micro.

  7. Cliquez sur Mise en réseau, puis, dans la section Interfaces réseau, cliquez sur Ajouter une interface réseau et définissez les paramètres suivants :

    • Réseau : consumer-network
    • Sous-réseau : consumer-subnet
    • Adresse IPv4 externe : Aucune
  8. Cliquez sur Créer.

gcloud

  1. 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 &"
    
  2. 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 le trafic entrant

Dans cette section, vous allez créer une stratégie de pare-feu et ajouter une règle de pare-feu pour autoriser le trafic entrant vers les VM du consommateur.

Console

  1. Dans la console Google Cloud , accédez à la page Règles de pare-feu.

    Accéder à la page Règles de pare-feu

  2. Cliquez sur Créer une stratégie de pare-feu.

  3. Dans le champ Nom, saisissez consumer-firewall-policy.

  4. Pour le Champ d'application du déploiement, sélectionnez Mondial, puis cliquez sur Continuer.

  5. Cliquez sur Créer une règle de pare-feu, configurez les champs suivants, puis cliquez sur Créer :

    • Priorité : 101
    • 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 22 dans Ports.

    La plage IPv4 35.235.240.0/20 contient 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 d'IAP.

  6. Pour autoriser le trafic sur le port TCP 8000 vers la VM du serveur, cliquez sur Créer une règle de pare-feu et configurez les champs suivants :

    • Priorité : 102
    • Sens du trafic : entrée
    • Action en cas de correspondance : autoriser
    • Filtres sources > Plages d'adresses IP : 10.11.0.0/16
    • Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez 8000 dans Ports.
    • Cliquez sur Créer.
  7. Pour associer la règle à un réseau, cliquez sur Continuer, puis sur Associer.

  8. Cochez la case consumer-network.

  9. Cliquez sur Continuer.

  10. Cliquez sur Créer.

gcloud

  1. Créez une stratégie de pare-feu de réseau au niveau mondial.

    gcloud compute network-firewall-policies create consumer-firewall-policy \
        --global
    
  2. Associez 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-network
    
  3. Cré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/20 # Google Cloud IAP range
    

    La plage IPv4 35.235.240.0/20 contient toutes les adresses IP qu'IAP utilise pour le transfert TCP. Pour en savoir plus, consultez Préparer votre projet pour le transfert TCP d'IAP.

  4. Créez une règle de pare-feu pour autoriser le trafic sur le port TCP 8000 vers la VM du serveur.

    gcloud compute network-firewall-policies rules create 102 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=allow \
        --direction=INGRESS \
        --layer4-configs=tcp:8000 \
        --src-ip-ranges=10.11.0.0/16
    

Créer un groupe de points de terminaison client

Dans cette section, vous allez créer un groupe de points de terminaison de mise en miroir et une association de groupe de points de terminaison de mise en miroir.

Console

  1. Dans la console Google Cloud , accédez à la page Groupes de points de terminaison.

    Accéder à la page "Groupes de points de terminaison"

  2. Cliquez sur Créer un groupe de points de terminaison.

  3. Dans le champ Nom, saisissez consumer-endpoint-group.

  4. Dans le champ Objectif, sélectionnez NSI (hors bande).

  5. Pour Groupe de déploiement, sélectionnez Dans le projet.

  6. Dans le champ Nom du groupe de déploiement, saisissez producer-deployment-group.

  7. Cliquez sur Continuer.

  8. Cliquez sur Ajouter une association de groupe de points de terminaison.

  9. Pour Project (Projet), sélectionnez votre projet actuel.

  10. Pour Réseau, sélectionnez consumer-network.

  11. Cliquez sur Créer.

gcloud

  1. Créez le groupe de points de terminaison de mise en miroir.

    gcloud network-security mirroring-endpoint-groups create consumer-endpoint-group \
        --location=global \
        --mirroring-deployment-group=projects/PROJECT_ID/locations/global/mirroringDeploymentGroups/producer-deployment-group \
        --no-async
    

    Remplacez PROJECT_ID par l'ID de votre projet.

  2. Créez l'association de groupe de points de terminaison de mise en miroir.

    gcloud network-security mirroring-endpoint-group-associations create consumer-endpoint-group-association \
        --location=global \
        --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \
        --network=consumer-network \
        --no-async
    

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 mettre en miroir le trafic.

Console

Créer un profil de sécurité personnalisé

  1. Dans la console Google Cloud , accédez à la page Profils de sécurité.

    Accéder à la page "Profils de sécurité"

  2. Dans le sélecteur de projets, sélectionnez votre organisation.

  3. Dans l'onglet Profils de sécurité, cliquez sur Créer un profil.

  4. Dans le champ Nom, saisissez consumer-security-profile.

  5. Dans le champ Objectif, sélectionnez NSI (hors bande).

  6. Pour Project (Projet), sélectionnez votre projet actuel.

  7. Pour Groupe de points de terminaison, sélectionnez consumer-endpoint-group.

  8. Cliquez sur Créer.

Créer un groupe de profils de sécurité

  1. Dans la console Google Cloud , accédez à la page Groupes de profils de sécurité.

    Accéder à la page "Groupes de profils de sécurité"

  2. Dans le sélecteur de projets, sélectionnez votre organisation.

  3. Dans l'onglet Groupes de profils de sécurité, cliquez sur Créer un groupe de profils.

  4. Dans le champ Nom, saisissez consumer-security-profile-group.

  5. Dans le champ Objectif, sélectionnez NSI (hors bande).

  6. Pour Profil de mise en miroir personnalisé, sélectionnez consumer-security-profile.

  7. Cliquez sur Créer.

gcloud

  1. Créez un profil de sécurité personnalisé pour la mise en miroir.

    gcloud network-security security-profiles custom-mirroring create consumer-security-profile \
        --location=global \
        --organization=ORG_ID \
        --mirroring-endpoint-group=projects/PROJECT_ID/locations/global/mirroringEndpointGroups/consumer-endpoint-group \
        --billing-project=PROJECT_ID \
        --no-async
    

    Remplacez 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 profil de sécurité (networksecurity.securityProfileAdmin) au niveau de l'organisation.
    • PROJECT_ID : par l'ID du projet.
  2. Créez un groupe de profils de sécurité pour la mise en miroir.

    gcloud network-security security-profile-groups create consumer-security-profile-group \
        --location=global \
        --organization=ORG_ID \
        --custom-mirroring-profile=organizations/ORG_ID/locations/global/securityProfiles/consumer-security-profile \
        --billing-project=PROJECT_ID \
        --no-async
    

    Remplacez 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 règle de stratégie de pare-feu pour mettre en miroir le trafic

Dans cette section, vous allez créer une règle de mise en miroir pour mettre en miroir le trafic.

Console

  1. Dans la console Google Cloud , accédez à la page Règles de pare-feu.

    Accéder à la page Règles de pare-feu

  2. Cliquez sur consumer-firewall-policy.

  3. Cliquez sur l'onglet Règles de mise en miroir.

  4. Cliquez sur Créer une règle de mise en miroir et configurez les champs suivants :

    • Priorité : 100
    • Sens du trafic : entrée
    • Action en cas de correspondance : Dupliquer
    • Groupe de profils de sécurité : consumer-security-profile-group
    • Source : IPv4
    • Plages d'adresses IP : 10.11.0.0/16
    • Protocoles et ports : sélectionnez Protocoles et ports spécifiés, cochez la case TCP, puis saisissez 8000 dans Ports.
  5. Cliquez sur Créer.

gcloud

  1. Ajoutez une règle de pare-feu pour refléter le trafic sur le port TCP 8000 de la VM du serveur.

    gcloud compute network-firewall-policies mirroring-rules create 100 \
        --firewall-policy=consumer-firewall-policy \
        --global-firewall-policy \
        --action=mirror \
        --security-profile-group=organizations/ORG_ID/locations/global/securityProfileGroups/consumer-security-profile-group \
        --direction=INGRESS \
        --layer4-configs=tcp:8000 \
        --src-ip-ranges=10.11.0.0/16
    

    Remplacez ORG_ID par l'ID de votre organisation.

Tester la connexion

Dans cette section, vous allez envoyer du trafic réseau depuis l'instance de VM cliente du consommateur vers l'instance de VM serveur du consommateur, puis vérifier les journaux de l'instance de VM productrice pour vérifier la mise en miroir.

  1. 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 success s'affiche lorsque vous exécutez la commande précédente. Il indique que le trafic est envoyé du client au serveur.

  2. 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 MIRRORING'"
    

    Un message semblable à [NSI MIRRORING] 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=116 s'affiche. Cela indique que le trafic client-serveur est mis en miroir 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 consommateur

  1. Dissociez la stratégie de pare-feu du réseau consommateur, puis supprimez-la.

    Console

    1. Dans la console Google Cloud , accédez à la page Règles de pare-feu.

      Accéder à la page Règles de pare-feu

    2. Cliquez sur la règle consumer-firewall-policy.

    3. Cliquez sur l'onglet Associations.

    4. Cochez la case de l'association consumer-network.

    5. Cliquez sur Supprimer l'association.

    6. Cliquez sur Supprimer.

    7. En haut de la page, cliquez sur Supprimer.

    8. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    1. Supprimez l'association.

      gcloud compute network-firewall-policies associations delete \
          --name=consumer-firewall-policy-assoc \
          --firewall-policy=consumer-firewall-policy \
          --global-firewall-policy
      
    2. Supprimez la stratégie de pare-feu.

      gcloud compute network-firewall-policies delete consumer-firewall-policy \
          --global
      
  2. Supprimez le groupe de profils de sécurité.

    Console

    1. Dans la console Google Cloud , accédez à la page Profils de sécurité.

      Accéder à la page "Profils de sécurité"

    2. Dans le sélecteur de projets, sélectionnez votre organisation.

    3. 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.

    4. 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 \
        --quiet
    

    Remplacez les éléments suivants :

    • ORG_ID : ID de votre organisation
    • PROJECT_ID : ID de votre projet
  3. Supprimez le profil de sécurité.

    Console

    1. Dans la console Google Cloud , accédez à la page Profils de sécurité.

      Accéder à la page "Profils de sécurité"

    2. Dans le sélecteur de projets, sélectionnez votre organisation.

    3. Dans l'onglet Profils de sécurité, sélectionnez le profil de sécurité consumer-security-profile, puis cliquez sur Supprimer.

    4. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    gcloud network-security security-profiles custom-mirroring delete consumer-security-profile \
        --location=global \
        --organization=ORG_ID \
        --billing-project=PROJECT_ID \
        --quiet
    
  4. Supprimez l'association du groupe de points de terminaison de mise en miroir.

    Console

    1. Dans la console Google Cloud , accédez à la page Groupes de points de terminaison.

      Accéder à la page "Groupes de points de terminaison"

    2. Cliquez sur consumer-endpoint-group.

    3. Sélectionnez l'association consumer-network, puis cliquez sur Supprimer.

    4. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    gcloud network-security mirroring-endpoint-group-associations delete consumer-endpoint-group-association \
        --location=global \
        --no-async
    
  5. Supprimez le groupe de points de terminaison de mise en miroir.

    Console

    1. Dans la console Google Cloud , accédez à la page Groupes de points de terminaison.

      Accéder à la page "Groupes de points de terminaison"

    2. Sélectionnez consumer-endpoint-group, puis cliquez sur Supprimer.

    3. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    gcloud network-security mirroring-endpoint-groups delete consumer-endpoint-group \
        --location=global \
        --no-async
    
  6. Supprimez les VM serveur et cliente.

    Console

    1. Dans la console Google Cloud , accédez à la page Instances de VM.

      Accéder à la page "Instances de VM"

    2. Cochez les cases correspondant à consumer-client-vm et consumer-server-vm, puis cliquez sur Supprimer.

    3. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    1. Supprimez la VM cliente.

      gcloud compute instances delete consumer-client-vm \
          --zone=us-west1-b \
          --quiet
      
    2. Supprimez la VM serveur.

      gcloud compute instances delete consumer-server-vm \
          --zone=us-west1-b \
          --quiet
      
  7. Supprimez le réseau et le sous-réseau consommateur.

    Console

    1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

      Accéder aux réseaux VPC

    2. Cliquez sur consumer-network.

    3. Dans l'onglet Sous-réseaux, cochez la case consumer-subnet, puis cliquez sur Supprimer.

    4. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    5. Cliquez sur Supprimer le réseau VPC.

    6. Dans le champ de texte, saisissez consumer-network, puis cliquez sur Supprimer.

    gcloud

    1. Supprimez le sous-réseau.

      gcloud compute networks subnets delete consumer-subnet \
          --region=us-west1 \
          --quiet
      
    2. Supprimez le réseau VPC.

      gcloud compute networks delete consumer-network \
          --quiet
      

Supprimer les ressources du producteur

  1. Dissociez la stratégie de pare-feu du réseau producteur, puis supprimez-la.

    Console

    1. Dans la console Google Cloud , accédez à la page Règles de pare-feu.

      Accéder à la page Règles de pare-feu

    2. Cliquez sur la règle producer-firewall-policy.

    3. Cliquez sur l'onglet Associations.

    4. Cochez la case de l'association producer-network.

    5. Cliquez sur Supprimer l'association.

    6. Cliquez sur Supprimer.

    7. Cliquez sur Supprimer.

    8. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    1. Supprimez l'association.

      gcloud compute network-firewall-policies associations delete \
          --name=producer-firewall-policy-assoc \
          --firewall-policy=producer-firewall-policy \
          --global-firewall-policy
      
    2. Supprimez la stratégie de pare-feu.

      gcloud compute network-firewall-policies delete producer-firewall-policy \
          --global
      
  2. Supprimez le déploiement de mise en miroir et le groupe de déploiement de mise en miroir.

    Console

    1. Dans la console Google Cloud , accédez à la page Groupes de déploiement.

      Accéder à la page "Groupes de déploiement"

    2. Cliquez sur producer-deployment-group.

    3. Supprimer producer-deployment

      1. Cochez la case producer-deployment, puis cliquez sur Supprimer.
      2. Cliquez à nouveau sur Supprimer pour confirmer votre choix.
    4. Cliquez sur le bouton Supprimer.

    5. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    1. Supprimez le déploiement de mise en miroir.

      gcloud network-security mirroring-deployments delete producer-deployment \
          --location=us-west1-b \
          --no-async
      
    2. Supprimez le groupe de déploiement de mise en miroir.

      gcloud network-security mirroring-deployment-groups delete producer-deployment-group \
          --location=global \
          --no-async
      
  3. Supprimez les ressources de l'équilibreur de charge.

    Console

    1. Dans la console Google Cloud , accédez à la page Équilibrage de charge.

      Accéder à la page Équilibrage de charge

    2. Cochez la case producer-ilb.

    3. Cliquez sur le bouton Supprimer en haut de la page.

    4. Cochez la case producer-health-check, puis cliquez sur Supprimer l'équilibreur de charge et les ressources sélectionnées.

    gcloud

    1. Supprimez la règle de transfert.

      gcloud compute forwarding-rules delete producer-ilb-fr \
          --region=us-west1 \
          --quiet
      
    2. Supprimez le service de backend.

      gcloud compute backend-services delete producer-backend-service \
          --region=us-west1 \
          --quiet
      
    3. Supprimez la vérification de l'état.

      gcloud compute health-checks delete producer-health-check \
          --region=us-west1 \
          --quiet
      
  4. Supprimez l'instance de VM du producteur.

    Console

    1. Dans la console Google Cloud , accédez à la page Instances de VM.

      Accéder à la page Instances de VM

    2. Cochez la case producer-instance, puis cliquez sur Supprimer.

    3. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    gcloud

    gcloud compute instances delete producer-instance \
        --zone=us-west1-b \
        --quiet
    
  5. Supprimez le groupe d'instances.

    Console

    1. Dans la console Google Cloud , accédez à la page Groupes d'instances.

      Accéder à la page Groupes d'instances

    2. Cochez la case producer-instance-group.

    3. Cliquez sur Supprimer.

    4. Dans la fenêtre de confirmation, cliquez sur Supprimer.

    gcloud

    gcloud compute instance-groups unmanaged delete producer-instance-group \
        --zone=us-west1-b \
        --quiet
    
  6. Supprimez le réseau et le sous-réseau du producteur.

    Console

    1. Dans la console Google Cloud , accédez à la page Réseaux VPC.

      Accéder aux réseaux VPC

    2. Cliquez sur producer-network.

    3. Dans l'onglet Sous-réseaux, cochez la case producer-subnet, puis cliquez sur Supprimer.

    4. Cliquez à nouveau sur Supprimer pour confirmer votre choix.

    5. Cliquez sur Supprimer le réseau VPC.

    6. Dans le champ de texte, saisissez producer-network, puis cliquez sur Supprimer.

    gcloud

    1. Supprimez le sous-réseau.

      gcloud compute networks subnets delete producer-subnet \
          --region=us-west1 \
          --quiet
      
    2. Supprimez le réseau.

      gcloud compute networks delete producer-network \
          --quiet
      

Étapes suivantes