Configurer une stratégie de pare-feu de réseau mondial pour activer le trafic entrant


Dans un réseau cloud privé virtuel (VPC) personnalisé avec plusieurs sous-réseaux, le trafic sortant est autorisé par défaut, mais pas le trafic entrant. Pour autoriser le trafic entrant et permettre aux instances de VM de différents sous-réseaux de communiquer entre elles, vous pouvez créer une stratégie de pare-feu de réseau mondial dans le pare-feu Cloud de nouvelle génération sur le réseau VPC, ce qui autorise le trafic entrant provenant d'une plage d'adresses IP spécifique du sous-réseau.

Ce tutoriel explique comment configurer une stratégie de pare-feu de réseau mondial pour autoriser le trafic interne entre les sous-réseaux de VM dans un réseau VPC personnalisé.

Objectifs

Ce guide vous explique comment effectuer les tâches suivantes :

  • Créer un réseau VPC personnalisé avec deux sous-réseaux.
  • Créer deux instances de VM Linux (une VM cliente et une VM serveur) sans adresse IP externe dans des sous-réseaux distincts du réseau VPC.
  • Créer un routeur Cloud Router et une passerelle Cloud NAT en guise de bonne pratique pour télécharger des packages logiciels.
  • Installer le serveur Apache sur la VM serveur.
  • Créer une stratégie de pare-feu de réseau mondial à l'aide des règles suivantes :
    • Autoriser le trafic sortant vers n'importe quelle destination.
    • Activer la journalisation de pare-feu.
    • Utiliser Identity-Aware Proxy (IAP) pour autoriser la connectivité SSH aux VM.
    • Autoriser la VM cliente à se connecter à la VM serveur exécutant le serveur Apache.
  • Tester la connexion.

Le schéma suivant illustre le flux de trafic entre les sous-réseaux d'un réseau VPC personnalisé une fois qu'une stratégie de pare-feu de réseau mondial autorise le trafic entrant interne.

Stratégie de pare-feu de réseau mondial autorisant le trafic entrant depuis un sous-réseau d'un réseau VPC personnalisé.
Stratégie de pare-feu de réseau mondial autorisant le trafic entrant depuis un sous-réseau dans un réseau VPC personnalisé (cliquez pour agrandir).

Avant de commencer

  1. 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 gratuits pour exécuter, tester et déployer des charges de travail.
  2. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  3. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  4. Dans Google Cloud Console, sur la page de sélection du projet, sélectionnez ou créez un projet Google Cloud.

    Accéder au sélecteur de projet

  5. Vérifiez que la facturation est activée pour votre projet Google Cloud.

  6. Activez l'API Compute Engine pour votre projet.
  7. Assurez-vous de disposer du rôle d'administrateur de réseaux (roles/compute.networkAdmin) d'Identity and Access Management.
  8. 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.

Créer un réseau VPC personnalisé avec des sous-réseaux

Dans cette section, vous allez créer un réseau VPC en mode personnalisé avec deux sous-réseaux IPv4.

Console

  1. Dans Google Cloud Console, 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 vpc-fw-rules.

  4. Dans Description, saisissez VPC network for the firewall rules tutorial.

  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 : subnet-fw-rules-server
    • Région : us-central1 (Iowa)
    • Plage IPv4 : 10.0.0.0/24
    • Accès privé à Google : Activé
  7. Cliquez sur OK.

  8. Cliquez sur Ajouter un sous-réseau et spécifiez les paramètres de configuration suivants :

    • Nom : subnet-fw-rules-client
    • Région : us-central1 (Iowa)
    • Plage IPv4 : 192.168.10.0/24
    • Accès privé à Google : Activé
  9. Cliquez sur OK.

  10. Faites défiler la page vers le bas et cliquez sur Créer.

gcloud

  1. Pour créer un réseau VPC, exécutez la commande suivante :

    gcloud compute networks create vpc-fw-rules \
      --subnet-mode=custom \
      --description="VPC network for the firewall rules tutorial"
    
  2. Facultatif : Dans la boîte de dialogue Autoriser Cloud Shell, cliquez sur Autoriser.

  3. Pour créer un sous-réseau, exécutez la commande suivante :

    gcloud compute networks subnets create subnet-fw-rules-server \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=10.0.0.0/24 \
      --enable-private-ip-google-access
    
  4. Pour créer un autre sous-réseau, exécutez la commande suivante :

    gcloud compute networks subnets create subnet-fw-rules-client \
      --network=vpc-fw-rules \
      --region=us-central1 \
      --range=192.168.10.0/24 \
      --enable-private-ip-google-access
    

Par défaut, le réseau VPC possède deux règles IPv4 implicites :

  • Une règle de sortie allow avec la destination 0.0.0.0/0 et la priorité la plus faible possible (65535) qui autorise n'importe quelle instance à envoyer du trafic vers n'importe quelle destination, à l'exception du trafic bloqué par Google Cloud.
  • Une règle d'entrée 0.0.0.0/0 avec la source deny et la priorité la plus faible possible (65535) qui protège toutes les instances en bloquant leurs connexions entrantes.

Pour en savoir plus, consultez la section Règles implicites.

Créer des VM cliente et serveur

Dans cette section, vous allez créer deux VM Linux sans adresse IP externe dans les sous-réseaux du réseau VPC que vous avez créé dans la section précédente.

Créer la VM serveur

Console

Pour créer la VM serveur, procédez comme suit :

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

    Accéder à la page Créer une instance

  2. Dans le champ Nom, saisissez vm-fw-rules-server.

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

  4. Faites défiler la page vers le bas, développez la section Options avancées, puis développez la section Mise en réseau.

  5. Dans la section Interfaces réseau, spécifiez les paramètres de configuration suivants :

    • Réseau : vpc-fw-rules
    • Sous-réseau : subnet-fw-rules-server IPv4 (10.0.0.0/24)
    • Adresse IPv4 externe : Aucune
  6. Cliquez sur OK.

  7. Cliquez sur Créer.

gcloud

Pour créer la VM serveur, exécutez la commande suivante :

gcloud compute instances create vm-fw-rules-server \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-server \
    --stack-type=IPV4_ONLY \
    --no-address

Créer la VM cliente

Console

Pour créer la VM cliente, procédez comme suit :

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

    Accéder à la page Créer une instance

  2. Dans le champ Nom, saisissez vm-fw-rules-client.

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

  4. Faites défiler la page vers le bas, développez la section Options avancées, puis développez la section Mise en réseau.

  5. Dans la section Interfaces réseau, spécifiez les paramètres de configuration suivants :

    • Réseau : vpc-fw-rules
    • Sous-réseau : subnet-fw-rules-client IPv4 (192.168.10.0/24)
    • Adresse IPv4 externe : Aucune
  6. Cliquez sur OK.

  7. Cliquez sur Créer.

gcloud

Pour créer la VM cliente, exécutez la commande suivante :

gcloud compute instances create vm-fw-rules-client \
    --network=vpc-fw-rules \
    --zone=us-central1-a \
    --subnet=subnet-fw-rules-client \
    --stack-type=IPV4_ONLY \
    --no-address

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

Dans la section précédente, vous avez créé deux VM Linux sans adresses IPv4 publiques. Pour permettre à ces VM d'accéder à l'Internet public, vous devez créer un routeur Cloud Router et une passerelle Cloud NAT.

Console

  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.

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

  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 : vpc-fw-rules
    • Région : us-central1
    • Cloud Router : Créer un nouveau routeur.
      1. Dans le champ Nom, saisissez router-fw-rules.
      2. Cliquez sur Créer.
  6. Cliquez sur Créer.

gcloud

  1. Pour créer un routeur Cloud Router, exécutez la commande suivante :

    gcloud compute routers create router-fw-rules \
      --network=vpc-fw-rules \
      --region=us-central1
    
  2. Pour créer une passerelle Cloud NAT, exécutez la commande suivante :

    gcloud compute routers nats create gateway-fw-rules \
      --router=router-fw-rules \
      --region=us-central1 \
      --auto-allocate-nat-external-ips \
      --nat-all-subnet-ip-ranges
    

Créer une stratégie de pare-feu de réseau au niveau mondial

Dans cette section, vous allez créer une stratégie de pare-feu de réseau mondial avec les éléments suivants :

  • Une règle de sortie avec 0.0.0.0./0 comme destination.
  • La journalisation activée. La journalisation des règles de pare-feu vous permet de réaliser des audits, des vérifications et des analyses sur les effets de ces règles.

Console

  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 Créer une stratégie de pare-feu.

  3. Dans la section Configurer la stratégie, pour le Nom de la stratégie, saisissez fw-policy.

  4. Sous Champ d'application du déploiement, sélectionnez Global, puis cliquez sur Continuer.

  5. Pour créer des règles pour votre stratégie, dans la section Ajouter des règles, cliquez sur Ajouter une règle.

    1. Dans le champ Priorité, saisissez 65534.
    2. Pour le champ Sens du trafic, sélectionnez Sortie.
    3. Pour le champ Journaux, sélectionnez Activé.
    4. Dans la section Cible, pour le champ Type de cible, sélectionnez Toutes les instances du réseau.
    5. Dans la section Destination, pour le champ Plages d'adresses IP, saisissez 0.0.0.0/0.
    6. Dans la section Protocole et ports, sélectionnez Tout autoriser.
    7. Cliquez sur Créer.
  6. Cliquez sur Continuer.

  7. Pour associer un réseau VPC à la stratégie, dans la section Associer la stratégie à des réseaux VPC, cliquez sur Associer.

  8. Cochez la case correspondant à vpc-fw-rules, puis cliquez sur Associer.

  9. Cliquez sur Continuer.

  10. Cliquez sur Créer.

gcloud

  1. Pour créer une stratégie de pare-feu, exécutez la commande suivante :

    gcloud compute network-firewall-policies create fw-policy \
        --global
    
  2. Pour créer une règle de pare-feu qui autorise le trafic vers toutes les destinations et active les journaux, exécutez la commande suivante :

    gcloud compute network-firewall-policies rules create 65534 \
        --firewall-policy=fw-policy \
        --direction=EGRESS \
        --action=ALLOW \
        --dest-ip-ranges=0.0.0.0/0 \
        --layer4-configs=all \
        --global-firewall-policy \
        --enable-logging
    
  3. Pour associer la stratégie de pare-feu au réseau VPC, exécutez la commande suivante :

    gcloud compute network-firewall-policies associations create \
        --firewall-policy=fw-policy \
        --network=vpc-fw-rules \
        --name=pol-association-fw-rules \
        --global-firewall-policy
    

Ajouter une règle de pare-feu pour IAP

Dans la section précédente, vous avez créé des VM Linux sans adresses IP externes. Dans cette section, vous activez Identity-Aware Proxy (IAP) pour autoriser l'accès administrateur aux instances de VM qui n'ont pas d'adresses IP externes.

Pour permettre à IAP de se connecter à vos instances de VM, créez une règle de pare-feu qui :

  • s'applique à toutes les instances de VM que vous souhaitez rendre accessibles à l'aide d'IAP ;
  • autorise le trafic entrant à partir de la plage IP 35.235.240.0/20, qui contient toutes les adresses IP qu'IAP utilise pour le transfert TCP ;
  • autorise les connexions à tous les ports que vous souhaitez rendre accessibles à l'aide du transfert TCP d'IAP, par exemple, le port 22 pour SSH et le port 3389 pour RDP.

Console

Pour autoriser l'accès RDP et SSH à toutes les instances de VM du réseau vpc-fw-rules, 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. Dans la section Stratégies de pare-feu de réseau, cliquez sur fw-policy.

  3. Cliquez sur Créer une règle.

  4. Dans le champ Priorité, saisissez 500.

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

  6. Pour le champ Journaux, sélectionnez Activé.

  7. Dans la section Cible, pour le champ Type de cible, sélectionnez Toutes les instances du réseau.

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

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

  10. Cochez la case TCP et, pour le champ Ports, saisissez 22 et 3389 en les séparant par une virgule.

  11. Cliquez sur Créer.

gcloud

Pour autoriser l'accès RDP et SSH à toutes les instances de VM du réseau vpc-fw-rules, exécutez la commande suivante :

gcloud compute network-firewall-policies rules create 500 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=35.235.240.0/20 \
    --global-firewall-policy \
    --layer4-configs tcp:22,tcp:3389 \
    --enable-logging

Installer le serveur Apache

Dans cette section, vous installez le serveur Apache sur la VM serveur.

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

    Accéder à la page "Instances de VM"

  2. Dans la colonne Connecter de la VM vm-fw-rules-server, 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 installer le package apache2, exécutez la commande suivante dans l'invite de commande :

    sudo apt update && sudo apt -y install apache2
    

    Après l'installation d'Apache, le système d'exploitation lance automatiquement le serveur Apache.

  5. Pour vérifier qu'Apache est en cours d'exécution, exécutez la commande suivante :

    sudo systemctl status apache2 --no-pager
    
  6. Pour écraser la page Web par défaut du serveur Web Apache, exécutez la commande suivante :

    echo '<!doctype html><html><body><h1>Hello World!</h1></body></html>' | sudo tee /var/www/html/index.html
    
  7. Fermez la boîte de dialogue SSH dans votre navigateur.

Tester la connexion

Après avoir installé le serveur Apache sur la VM serveur, connectez-vous à la VM serveur à partir de la VM cliente à l'aide de l'adresse IP interne de la VM serveur.

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

    Accéder à la page "Instances de VM"

  2. Dans la colonne Adresse IP interne de la VM vm-fw-rules-server, copiez l'adresse IP interne de la VM.

  3. Dans la colonne Connecter de la VM vm-fw-rules-client, cliquez sur SSH.

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

  5. Pour vérifier la connexion, exécutez la commande suivante :

    curl INTERNAL_IP -m 2
    

    Remplacez INTERNAL_IP par l'adresse IP de la VM vm-fw-rules-server.

    Le message Connection timed out est attendu, car chaque VM créée une stratégie de pare-feu d'entrée implicite qui refuse tout le trafic. Pour autoriser le trafic, vous ajoutez une règle d'entrée à la stratégie de pare-feu.

  6. Fermez la boîte de dialogue SSH dans votre navigateur.

Mettre à jour la stratégie de pare-feu de réseau mondial pour autoriser le trafic interne

Dans cette section, vous allez mettre à jour la stratégie de pare-feu de réseau mondial pour autoriser le trafic interne provenant du sous-réseau de la VM cliente.

Console

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

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

  2. Dans la section Stratégies de pare-feu de réseau, cliquez sur fw-policy.

  3. Cliquez sur Créer une règle.

  4. Dans le champ Priorité, saisissez 501.

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

  6. Pour le champ Journaux, sélectionnez Activé.

  7. Dans la section Cible, pour le champ Type de cible, sélectionnez Toutes les instances du réseau.

  8. Dans la section Source, sous Plages d'adresses IP, saisissez 192.168.10.0/24.

    N'oubliez pas que la plage d'adresses IP 192.168.10.0/24 est attribuée à subnet-fw-rules-client.

  9. Dans la section Destination, pour le champ Type d'adresse IP, sélectionnez IPv4. Dans Plages d'adresses IP, spécifiez 10.0.0.0/24.

    N'oubliez pas que la plage d'adresses IP 10.0.0.0/24 est attribuée à subnet-fw-rules-server.

  10. Cliquez sur Créer.

gcloud

Pour mettre à jour la stratégie de pare-feu, exécutez la commande suivante :

gcloud compute network-firewall-policies rules create 501 \
    --firewall-policy=fw-policy \
    --direction=INGRESS \
    --action=ALLOW \
    --src-ip-ranges=192.168.10.0/24 \
    --dest-ip-ranges=10.0.0.0/24 \
    --layer4-configs=all \
    --global-firewall-policy \
    --enable-logging

Tester la connexion

Après avoir créé la stratégie de pare-feu, connectez-vous à la VM serveur à partir de la VM cliente à l'aide de l'adresse IP interne de la VM serveur.

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

    Accéder à la page "Instances de VM"

  2. Dans la colonne Adresse IP interne de la VM vm-fw-rules-server, copiez l'adresse IP interne de la VM.

  3. Dans la colonne Connecter de la VM vm-fw-rules-client, cliquez sur SSH.

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

  5. Pour vérifier la connexion, exécutez la commande suivante :

    curl INTERNAL_IP -m 2
    

    Remplacez INTERNAL_IP par l'adresse IP de la VM vm-fw-rules-server.

    Le message attendu est <!doctype html><html><body><h1>Hello World!</h1></body></html>.

  6. Fermez la boîte de dialogue SSH dans votre navigateur.

Pour afficher les journaux de pare-feu, consultez la section Afficher les journaux.

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.

Dans cette section, vous allez supprimer les ressources créées dans ce tutoriel.

Supprimer la stratégie de pare-feu

Console

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

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

  2. Dans la section Stratégies de pare-feu de réseau, cliquez sur le nom fw-policy.

  3. Cliquez sur l'onglet Associations.

  4. Cochez la case correspondant à vpc-fw-rules, puis cliquez sur Supprimer l'association.

  5. Dans la boîte de dialogue Supprimer une association de stratégie de pare-feu, cliquez sur Supprimer.

  6. À côté du titre fw-policy, cliquez sur Supprimer.

  7. Dans la boîte de dialogue Supprimer une stratégie de pare-feu, cliquez sur Supprimer.

    Après la suppression d'une stratégie, la console Google Cloud affiche la page Stratégies de pare-feu.

gcloud

  1. Supprimez l'association entre la stratégie de pare-feu et le réseau VPC.

    gcloud compute network-firewall-policies associations delete \
      --name=pol-association-fw-rules \
      --firewall-policy=fw-policy \
      --global-firewall-policy
    

    Si vous configurez l'association entre la stratégie de pare-feu et le réseau VPC via la console Google Cloud, n'utilisez pas la commande gcloud CLI pour supprimer l'association. Si vous ne vous rappelez pas comment vous avez créé l'association ou si vous obtenez l'erreur The network firewall policy does not have an association with pol-association-fw-rules. lorsque vous exécutez la commande, supprimez l'association à l'aide de la console Google Cloud.

  2. Supprimez la stratégie de pare-feu.

    gcloud compute network-firewall-policies delete fw-policy \
        --global
    

Supprimer les VM

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 aux VM vm-fw-rules-client et vm-fw-rules-server.

  3. Cliquez sur Supprimer.

  4. Dans la boîte de dialogue Supprimer deux instances ?, cliquez sur Supprimer.

gcloud

Pour supprimer les VM vm-fw-rules-client et vm-fw-rules-server, exécutez la commande suivante :

gcloud compute instances delete vm-fw-rules-client vm-fw-rules-server \
    --zone=us-central1-a

Lorsque vous y êtes invité, appuyez sur Y pour confirmer, puis sur Entrée.

Supprimer la passerelle Cloud NAT et le routeur Cloud Router

Console

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

    Accéder aux routeurs cloud

  2. Cochez la case router-fw-rules.

  3. Cliquez sur Supprimer.

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

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

gcloud

Pour supprimer le routeur Cloud Router router-fw-rules, exécutez la commande suivante :

gcloud compute routers delete router-fw-rules \
    --region=us-central1

Lorsque vous y êtes invité, appuyez sur Y pour confirmer, puis sur Entrée.

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

Console

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

    Accéder aux réseaux VPC

  2. Dans la colonne Nom, cliquez sur vpc-fw-rules.

  3. Cliquez sur Supprimer le réseau VPC.

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

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

gcloud

  1. Pour supprimer les sous-réseaux du réseau VPC vpc-fw-rules, exécutez la commande suivante :

    gcloud compute networks subnets delete subnet-fw-rules-client subnet-fw-rules-server \
        --region=us-central1
    

    Lorsque vous y êtes invité, appuyez sur Y pour confirmer, puis sur Entrée.

  2. Pour supprimer le réseau VPC vpc-fw-rules, exécutez la commande suivante :

    gcloud compute networks delete vpc-fw-rules
    

    Lorsque vous y êtes invité, appuyez sur Y pour confirmer, puis sur Entrée.