Configurer une stratégie de pare-feu hiérarchique pour autoriser le trafic sortant d'un réseau VPC spécifique

Découvrez comment créer et configurer une stratégie de pare-feu hiérarchique afin d'autoriser le trafic de sortie provenant d'un réseau cloud privé virtuel (VPC) spécifique de votre dossier vers une adresse IP spécifique en tant que destination. La stratégie de pare-feu bloque tout le reste du trafic de sortie provenant de votre dossier. Elle décrit un exemple de création de deux réseaux VPC, de création d'instances de machines virtuelles (VM) dans les réseaux VPC, de configuration d'une stratégie de pare-feu hiérarchique avec des règles de pare-feu, puis de test de la stratégie de pare-feu.

Avant de commencer

Créer un dossier

Créez un dossier dans votre organisation.

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Cliquez sur Créer un dossier.

  3. Dans le champ Nom du dossier, saisissez test-folder.

  4. Dans la liste Organisation, sélectionnez le nom de votre ressource d'organisation.

  5. Dans le champ Emplacement, cliquez sur Parcourir, puis sélectionnez votre ressource d'organisation.

  6. Cliquez sur Créer.

Créer un projet

Créez un projet dans le dossier que vous avez créé à la section précédente.

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Cliquez sur Create Project (Créer un projet).

  3. Dans le champ Nom du projet, saisissez test-project.

  4. Sélectionnez un compte de facturation pour le projet.

  5. Dans la liste Organisation, sélectionnez le nom de votre ressource d'organisation.

  6. Dans le champ Emplacement, cliquez sur Parcourir, développez le nom de votre ressource d'organisation, puis sélectionnez test-folder.

  7. Cliquez sur Créer.

Créez deux réseaux VPC personnalisés avec des sous-réseaux IPv4.

Créez deux réseaux VPC en mode personnalisé, myvpc avec un sous-réseau IPv4 uniquement et test-vpc avec deux sous-réseaux IPv4 uniquement, dans le projet que vous avez créé dans la section précédente.

  1. Dans la console Google Cloud, sur la page de sélection du projet, sélectionnez test-project.

    Accéder au sélecteur de projet

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

    Accéder aux réseaux VPC

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

  4. Dans le champ Nom, saisissez myvpc.

  5. Dans le champ Mode de création de sous-réseau, sélectionnez Personnalisé.

  6. Dans la section Nouveau sous-réseau, spécifiez les paramètres de configuration de sous-réseau suivants :

    • Nom : saisissez myvpc-subnet-1.
    • Région : sélectionnez us-central1.
    • Plage IPv4 : saisissez 10.0.0.0/24.
  7. Cliquez sur OK, puis sur Créer.

  8. Pour créer un autre réseau VPC, cliquez sur Créer un réseau VPC.

  9. Dans le champ Nom, saisissez test-vpc.

  10. Dans le champ Mode de création de sous-réseau, sélectionnez Personnalisé.

  11. Dans la section Nouveau sous-réseau, spécifiez les paramètres de configuration de sous-réseau suivants, puis cliquez sur OK :

    • Nom : saisissez testvpc-subnet-1.
    • Région : sélectionnez us-central1.
    • Plage IPv4 : saisissez 10.0.0.0/16.
  12. Pour ajouter un autre sous-réseau au réseau test-vpc, cliquez sur Ajouter un sous-réseau.

  13. Dans la section Nouveau sous-réseau, spécifiez les paramètres de configuration de sous-réseau suivants, puis cliquez sur OK :

    • Nom : saisissez testvpc-subnet-ext.
    • Région : sélectionnez us-central1.
    • Plage IPv4 : saisissez 192.168.1.0/24.
  14. Cliquez sur Créer.

Créer des VM

Créez trois VM dans les sous-réseaux que vous avez configurés à la section précédente.

Créer une VM dans le réseau myvpc

Créez une VM sans adresse IP externe dans le réseau myvpc.

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Accéder à la page Créer une instance

  2. Cliquez sur Créer une instance.

  3. Dans le champ Nom, saisissez myvpc-vm.

  4. Pour Région, sélectionnez us-central1 (Iowa).

  5. Développez la section Options avancées, puis Mise en réseau.

  6. Dans la section Interfaces réseau, développez l'interface réseau existante et spécifiez les paramètres de configuration suivants :

    • Réseau : sélectionnez myvpc.
    • Sous-réseau : sélectionnez IPv4 de sous-réseau 1 (10.0.0.0/24).
    • Adresse IPv4 externe : sélectionnez Aucune.
  7. Cliquez sur OK.

  8. Cliquez sur Créer.

Créer deux VM dans le réseau test-vpc

Créez deux VM, l'une sans adresse IP externe et l'autre avec une adresse IP externe. Lorsque vous créez la VM avec une adresse IP externe, transmettez un script de démarrage pour installer et démarrer un serveur Web Apache dans cette VM.

Créez une VM sans adresse IP externe :

  1. Accédez à la page Créer une instance dans Google Cloud Console.

    Accéder à la page Créer une instance

  2. Cliquez sur Créer une instance.

  3. Dans le champ Nom, saisissez testvpc-vm.

  4. Pour Région, sélectionnez us-central1 (Iowa).

  5. Développez la section Options avancées, puis Mise en réseau.

  6. Dans la section Interfaces réseau, développez l'interface réseau existante et spécifiez les paramètres de configuration suivants :

    • Réseau : sélectionnez test-vpc.
    • Sous-réseau : sélectionnez testvpc-subnet-1 IPv4 (10.0.0.0/16).
    • Adresse IPv4 externe : sélectionnez Aucune.
  7. Cliquez sur OK.

  8. Cliquez sur Créer.

Créez une VM avec une adresse IP externe éphémère et transmettez un script de démarrage pour installer et démarrer un serveur Web Apache :

  1. Cliquez sur Créer une instance.
  2. Dans le champ Nom, saisissez testvpc-apache-vm.
  3. Pour Région, sélectionnez us-central1 (Iowa).
  4. Développez la section Options avancées, puis Mise en réseau.
  5. Dans la section Interfaces réseau, développez l'interface réseau existante et spécifiez les paramètres de configuration suivants :
    • Réseau : sélectionnez test-vpc.
    • Sous-réseau : sélectionnez testvpc-subnet-ext IPv4 (192.168.1.0/24).
    • Adresse IPv4 externe : sélectionnez Éphémère.
  6. Développez Gestion.
  7. Dans la section Automatisation, saisissez le script suivant dans le champ Script de démarrage :

      #! /bin/bash
      apt-get update
      apt-get install apache2 -y
      a2ensite default-ssl
      a2enmod ssl
      # Read VM network configuration:
      md_vm="http://169.254.169.254/computeMetadata/v1/instance/"
      vm_hostname="$(curl $md_vm/name -H "Metadata-Flavor:Google" )"
      filter="{print \$NF}"
      vm_network="$(curl $md_vm/network-interfaces/0/network \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      vm_zone="$(curl $md_vm/zone \
      -H "Metadata-Flavor:Google" | awk -F/ "${filter}")"
      # Apache configuration:
      echo "Page on $vm_hostname in network $vm_network zone $vm_zone" | \
      tee /var/www/html/index.html
      systemctl restart apache2
    

    Le script précédent déploie et démarre un serveur Web Apache dans cette VM.

  8. Cliquez sur OK.

  9. Cliquez sur Créer.

  10. Notez l'adresse IP externe éphémère attribuée à cette VM à partir de la page Instances de VM. Vous aurez besoin de cette adresse IP externe ultérieurement.

Créer un routeur Cloud Router et une passerelle Cloud NAT

Dans la section précédente, dans le réseau myvpc, vous avez créé la VM myvpc-vm sans adresse IP externe. Pour permettre à la VM myvpc-vm d'accéder au serveur Web Apache exécuté dans testvpc-apache-vm via l'Internet public, créez un routeur Cloud Router et une passerelle Cloud NAT sur le même sous-réseau que celui où vous avez créé votre VM myvpc-vm.

  1. Dans Google Cloud Console, accédez à la page Cloud NAT.

    Accédez à Cloud NAT

  2. Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.

    Remarque : S'il s'agit de la première passerelle Cloud NAT que vous créez, cliquez sur Premiers pas. Si vous disposez déjà de passerelles, Google Cloud affiche le bouton Créer une passerelle Cloud NAT. Pour créer une autre passerelle, cliquez sur Créer une passerelle Cloud NAT.

  3. Dans le champ Nom de la passerelle, saisissez myvpc-gateway.

  4. Dans le champ Type de NAT, sélectionnez Publique.

  5. Dans la section Sélectionner le routeur Cloud Router, spécifiez les paramètres de configuration suivants :

    • Réseau : sélectionnez myvpc.
    • Région : sélectionnez us-central1 (Iowa).
    • Cloud Router : cliquez sur Créer un routeur.
      1. Dans le champ Nom, saisissez myvpc-router.
      2. Cliquez sur Créer.
  6. Cliquez sur Créer.

Créer une stratégie de pare-feu hiérarchique et ajouter des règles de pare-feu

Créez une stratégie de pare-feu hiérarchique et ajoutez-y les règles de stratégie de pare-feu suivantes :

  • Activez IAP pour toutes les VM de test-folder afin d'activer l'accès administrateur aux VM.
  • Autorisez le trafic entrant vers toutes les VM du réseau test-vpc.
  • Déléguez le trafic de sortie du réseau myvpc à la règle suivante de la hiérarchie, qui est la règle VPC firewall implied IPv4 rule egress all.
  • Refusez le trafic sortant provenant de tous les autres réseaux VPC dans test-folder.

Pour créer une stratégie de pare-feu hiérarchique, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page de sélection du projet, puis sélectionnez test-folder.

    Accéder au sélecteur de projet

  2. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

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

  4. Dans la section Configurer la stratégie, pour le Nom de la stratégie, saisissez fw-egress-specific-vpc.

  5. Dans Description, saisissez example-firewall-policy.

  6. Cliquez sur Continuer.

  7. Dans la section Ajouter des règles, cliquez sur Continuer. Vous ajouterez les règles de pare-feu dans les sections suivantes de ce guide de démarrage rapide.

  8. Dans la section Associer la stratégie à des ressources, cliquez sur Ajouter.

  9. Développez votre organisation, sélectionnez test-folder, puis cliquez sur Ajouter.

  10. Cliquez sur Créer.

Ajoutez une règle de pare-feu pour activer IAP dans toutes les VM du réseau test-folder.

Pour permettre à IAP de se connecter à toutes les VM du réseau test-folder, vous devez disposer d'une règle de pare-feu dans la stratégie de pare-feu hiérarchique présentant les caractéristiques suivantes :

  • Elle s'applique à toutes les VM de test-folder que vous souhaitez rendre accessibles à l'aide du transfert TCP d'IAP.
  • Elle autorise le trafic entrant à partir de la plage IP 35.235.240.0/20. Cette plage contient toutes les adresses IP qu'IAP utilise pour le transfert TCP.
  • Elle autorise la connexion à tous les ports que vous souhaitez rendre accessible à l'aide du transfert TCP d'IAP, par exemple, le port 22 pour SSH.

Pour ajouter la règle de pare-feu, procédez comme suit :

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  2. Cliquez sur fw-egress-specific-vpc, puis sur fw-egress-specific-vpc.

  3. Dans le champ Priorité, saisissez 100.

  4. Dans Description, saisissez enable-iap.

  5. Pour le Sens du trafic, sélectionnez Entrée.

  6. Pour l'option Action en cas de correspondance, sélectionnez Autoriser.

  7. Dans la section Source, sous Plages d'adresses IP, saisissez 35.235.240.0/20.

  8. Dans la section Protocoles et ports, sélectionnez Protocoles et ports spécifiés.

  9. Cochez la case TCP et, pour le champ Ports, saisissez 22.

  10. Cliquez sur Créer.

Ajouter une règle de pare-feu pour autoriser le trafic entrant dans le réseau test-vpc

Ajoutez une règle de pare-feu pour autoriser le trafic Web HTTP entrant sur le port TCP 80 vers toutes les VM du réseau test-vpc :

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  2. Cliquez sur fw-egress-specific-vpc, puis sur fw-egress-specific-vpc.

  3. Dans le champ Priorité, saisissez 200.

  4. Dans Description, saisissez allow-ingress-testvpc.

  5. Pour le Sens du trafic, sélectionnez Entrée.

  6. Pour l'option Action en cas de correspondance, sélectionnez Autoriser.

  7. Dans la section Cible, cliquez sur Ajouter un réseau.

  8. Sélectionnez le projet de test contenant le réseau test-vpc, puis sélectionnez test-vpc comme réseau.

  9. Dans la section Source, sous Plages d'adresses IP, saisissez 0.0.0.0/0.

  10. Dans la section Protocoles et ports, sélectionnez Protocoles et ports spécifiés.

  11. Cochez la case TCP et, pour le champ Ports, saisissez 80.

  12. Cliquez sur Créer.

Ajouter une règle de pare-feu pour déléguer le trafic de sortie du réseau myvpc à la règle suivante de la hiérarchie

Ajoutez une règle de pare-feu qui utilise l'action goto_next permettant de déléguer le trafic de sortie du réseau myvpc vers la règle suivante dans le pare-feu, qui est la règle de pare-feu VPC implicite de sortie autorisée pour IPv4.

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  2. Cliquez sur fw-egress-specific-vpc, puis sur fw-egress-specific-vpc.

  3. Dans le champ Priorité, saisissez 300.

  4. Dans Description, saisissez delegate-egress-myvpc.

  5. Pour le champ Sens du trafic, sélectionnez Sortie.

  6. Pour l'option Action en cas de correspondance, sélectionnez Passer à l'étape suivante.

  7. Dans la section Cible, cliquez sur Ajouter un réseau.

  8. Sélectionnez le nom du projet de test qui contient myvpc, puis sélectionnez myvpc comme réseau.

  9. Dans la section Destination, pour le champ Plages d'adresses IP, saisissez l'adresse IP externe éphémère de la VM exécutant le serveur Web Apache. Vous avez noté cette adresse IP dans la section Créer deux VM dans le réseau test-vpc.

  10. Cliquez sur Créer.

Ajouter une règle de pare-feu pour refuser le trafic sortant provenant de tous les autres réseaux VPC

Enfin, ajoutez une règle de pare-feu qui refuse le trafic sortant de tous les autres réseaux VPC de test-folder.

  1. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  2. Cliquez sur fw-egress-specific-vpc, puis sur fw-egress-specific-vpc.

  3. Dans le champ Priorité, saisissez 400.

  4. Dans Description, saisissez block-egress-all-traffic.

  5. Pour le champ Sens du trafic, sélectionnez Sortie.

  6. Dans le champ Action en cas de correspondance, sélectionnez Refuser.

  7. Dans la section Destination, pour le champ Plages d'adresses IP, saisissez 0.0.0.0/0.

  8. Cliquez sur Créer.

Tester la stratégie de pare-feu hiérarchique

Après avoir configuré la stratégie de pare-feu hiérarchique, procédez comme suit pour la tester :

  1. Accédez à Google Cloud Console.

    Accéder à Google Cloud Console

  2. Dans le sélecteur de projets en haut de la page, sélectionnez test-project où vous avez créé les réseaux VPC.

  3. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  4. Dans la colonne Connexion de myvpc-vm, cliquez sur SSH.

  5. Dans la boîte de dialogue SSH dans votre navigateur, cliquez sur Autoriser et attendez que la connexion soit établie.

  6. Pour vérifier que le trafic sortant vers testvpc-apache-vm depuis myvpc est autorisé, exécutez la commande suivante :

    curl <external_ephemeral_IP_testvpc_apache_vm> -m 2
    

    La commande précédente renvoie le contenu que vous avez spécifié pour la page index.html du serveur Web Apache, ce qui signifie que les connexions de sortie de myvpc sont autorisées.

  7. Pour vérifier que le trafic de sortie est bloqué pour les autres réseaux VPC de l'organisation, procédez comme suit :

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

      Accéder à la page Instances de VM

    2. Dans la colonne Connexion de testvpc-vm, cliquez sur SSH.

    3. Dans la boîte de dialogue SSH dans votre navigateur, cliquez sur Autoriser et attendez que la connexion soit établie.

    4. Pour vérifier que le trafic sortant de testvpc-vm vers testvpc-apache-vm est bloqué, exécutez la commande suivante :

      curl <internal_IP_testvpc_apache_vm> -m 2
      

      La commande ci-dessus renvoie un message Connection timed out, ce qui est normal, car vous avez créé une règle de pare-feu pour refuser le trafic sortant de tous les réseaux VPC de l'organisation, à l'exception de myvpc.

Effectuer un nettoyage

Pour éviter que les ressources utilisées dans ce guide de démarrage rapide soient facturées sur votre compte Google Cloud, supprimez les ressources individuelles, puis le projet et le dossier.

Pour supprimer les ressources créées dans ce guide de démarrage rapide, procédez comme suit :

Supprimer la stratégie de pare-feu hiérarchique

  1. Accédez à Google Cloud Console.

    Accéder à Google Cloud Console

  2. Dans le sélecteur de projets situé en haut de la page, sélectionnez test-folder où vous avez créé vos ressources pour ce guide de démarrage rapide.

  3. Dans la console Google Cloud, accédez à la page Règles d'administration.

    Accéder à la page "Stratégies de pare-feu"

  4. Dans la section Stratégies de pare-feu associées à ce nœud ou dont ce nœud a hérité, cliquez sur fw-egress-specific-vpc.

  5. Cliquez sur l'onglet Associations.

  6. Cochez la case test-folder, puis cliquez sur Supprimer l'association.

  7. Dans la boîte de dialogue Supprimer l'association avec test-folder, cliquez sur Supprimer.

  8. Cliquez sur Supprimer.

  9. Dans la boîte de dialogue Supprimer fw-egress-specific-vpc, cliquez sur Supprimer.

Supprimer les VM

  1. Accédez à Google Cloud Console.

    Accéder à Google Cloud Console

  2. Dans le sélecteur de projets situé en haut de la page, sélectionnez test-project.

  3. Dans Google Cloud Console, accédez à la page Instances de VM.

    Accéder à la page Instances de VM

  4. Cochez les cases correspondant à myvpc-vm, myvpc-vm et myvpc-vm.

  5. Cliquez sur Supprimer.

  6. Dans la boîte de dialogue Supprimer trois instances, cliquez sur Supprimer.

Supprimer le routeur Cloud Router et la passerelle Cloud NAT

  1. Dans la console Google Cloud, accédez à la page Routeurs cloud.

    Accéder aux routeurs cloud

  2. Cochez la case correspondant à myvpc-router.

  3. Cliquez sur Supprimer.

  4. Dans la boîte de dialogue Supprimer myvpc-router, cliquez sur Supprimer.

Lorsque vous supprimez un routeur Cloud Router, la passerelle Cloud NAT associée est également supprimée.

Supprimer le réseau VPC et ses sous-réseaux

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

    Accéder aux réseaux VPC

  2. Dans la colonne Nom, cliquez sur myvpc.

  3. Cliquez sur Supprimer le réseau VPC.

  4. Dans la boîte de dialogue Supprimer un réseau, cliquez sur Supprimer.

    De même, supprimez le réseau test-vpc.

Lorsque vous supprimez un réseau VPC, ses sous-réseaux sont également supprimés.

Supprimer le projet

  1. In the Google Cloud console, go to the Manage resources page.

    Go to Manage resources

  2. If the project that you plan to delete is attached to an organization, expand the Organization list in the Name column.
  3. In the project list, select the project that you want to delete, and then click Delete.
  4. In the dialog, type the project ID, and then click Shut down to delete the project.

Supprimer le dossier

  1. Dans la console Google Cloud, accédez à la page Gérer les ressources.

    Accéder à la page Gérer les ressources

  2. Si le projet que vous envisagez de supprimer est associé à une organisation, développez la liste Organisation dans la colonne Nom.

  3. Dans la liste des dossiers, sélectionnez test-folder, puis cliquez sur Supprimer.

  4. Dans la boîte de dialogue, saisissez l'ID du dossier, puis cliquez sur Supprimer quand même pour supprimer le projet.

Étape suivante