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

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 la console Cloud de Confiance , 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. 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 Cloud de Confiance by S3NS.
  • 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. Dans la console Cloud de Confiance , accédez à la page Créer une instance.

    Accéder à la page Créer une instance

  2. Dans le volet Configuration de la machine, procédez comme suit :

    1. Dans le champ Nom, saisissez vm-fw-rules-server.
    2. Pour Région, sélectionnez us-central1 (Iowa).
  3. Dans le menu de navigation, cliquez sur Mise en réseau.

    1. Dans la section Interfaces réseau, cliquez sur default et 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
    2. Cliquez sur OK.
  4. 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. Dans la console Cloud de Confiance , accédez à la page Créer une instance.

    Accéder à la page Créer une instance

  2. Dans le volet Configuration de la machine, procédez comme suit :

    1. Dans le champ Nom, saisissez vm-fw-rules-client.
    2. Pour Région, sélectionnez us-central1 (Iowa).
  3. Dans le menu de navigation, cliquez sur Mise en réseau.

    1. Dans la section Interfaces réseau, cliquez sur default et 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
    2. Cliquez sur OK.
  4. 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 la console Cloud de Confiance , 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 vos règles de pare-feu.

Console

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

    Accéder aux 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 ;

    Pour les VM IPv6, utilisez la plage d'adresses IP suivante : 2600:2d00:1:7::/64.

  • 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 Cloud de Confiance , accédez à la page Stratégies de pare-feu.

    Accéder aux 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 Cloud de Confiance , 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 Cloud de Confiance , 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 Cloud de Confiance , accédez à la page Règles de pare-feu.

    Accéder aux 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 Cloud de Confiance , 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.