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.
Avant de commencer
- 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.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Make sure that billing is enabled for your Google Cloud project.
- Activez l'API Compute Engine pour votre projet.
- Assurez-vous de disposer du rôle d'administrateur de réseaux (
roles/compute.networkAdmin
) d'Identity and Access Management. - 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
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Cliquez sur Créer un réseau VPC.
Dans le champ Nom, saisissez
vpc-fw-rules
.Dans Description, saisissez
VPC network for the firewall rules tutorial
.Dans le champ Mode de création de sous-réseau, sélectionnez Personnalisé.
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é
- Nom :
Cliquez sur OK.
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é
- Nom :
Cliquez sur OK.
Faites défiler la page vers le bas et cliquez sur Créer.
gcloud
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"
Facultatif : Dans la boîte de dialogue Autoriser Cloud Shell, cliquez sur Autoriser.
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
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 destination0.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 sourcedeny
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 :
Accédez à la page Créer une instance dans Google Cloud Console.
Dans le champ Nom, saisissez
vm-fw-rules-server
.Pour Région, sélectionnez
us-central1 (Iowa)
.Faites défiler la page vers le bas, développez la section Options avancées, puis développez la section Mise en réseau.
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
- Réseau :
Cliquez sur OK.
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 :
Accédez à la page Créer une instance dans Google Cloud Console.
Dans le champ Nom, saisissez
vm-fw-rules-client
.Pour Région, sélectionnez
us-central1 (Iowa)
.Faites défiler la page vers le bas, développez la section Options avancées, puis développez la section Mise en réseau.
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
- Réseau :
Cliquez sur OK.
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
Dans Google Cloud Console, accédez à la page Cloud NAT.
Cliquez sur Commencer ou sur Créer une passerelle Cloud NAT.
Dans le champ Nom de la passerelle, saisissez
gateway-fw-rules
.Dans le champ Type de NAT, sélectionnez Publique.
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.
- Dans le champ Nom, saisissez
router-fw-rules
. - Cliquez sur Créer.
- Dans le champ Nom, saisissez
- Réseau :
Cliquez sur Créer.
gcloud
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
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
Dans la console Google Cloud, accédez à la page Règles d'administration.
Cliquez sur Créer une stratégie de pare-feu.
Dans la section Configurer la stratégie, pour le Nom de la stratégie, saisissez
fw-policy
.Sous Champ d'application du déploiement, sélectionnez Global, puis cliquez sur Continuer.
Pour créer des règles pour votre stratégie, dans la section Ajouter des règles, cliquez sur Ajouter une règle.
- Dans le champ Priorité, saisissez
65534
. - Pour le champ Sens du trafic, sélectionnez Sortie.
- Pour le champ Journaux, sélectionnez Activé.
- Dans la section Cible, pour le champ Type de cible, sélectionnez Toutes les instances du réseau.
- Dans la section Destination, pour le champ Plages d'adresses IP, saisissez
0.0.0.0/0
. - Dans la section Protocole et ports, sélectionnez Tout autoriser.
- Cliquez sur Créer.
- Dans le champ Priorité, saisissez
Cliquez sur Continuer.
Pour associer un réseau VPC à la stratégie, dans la section Associer la stratégie à des réseaux VPC, cliquez sur Associer.
Cochez la case correspondant à
vpc-fw-rules
, puis cliquez sur Associer.Cliquez sur Continuer.
Cliquez sur Créer.
gcloud
Pour créer une stratégie de pare-feu, exécutez la commande suivante :
gcloud compute network-firewall-policies create fw-policy \ --global
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
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 port3389
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 :
Dans la console Google Cloud, accédez à la page Règles d'administration.
Dans la section Stratégies de pare-feu de réseau, cliquez sur
fw-policy
.Cliquez sur Créer une règle.
Dans le champ Priorité, saisissez
500
.Pour le Sens du trafic, sélectionnez Entrée.
Pour le champ Journaux, sélectionnez Activé.
Dans la section Cible, pour le champ Type de cible, sélectionnez Toutes les instances du réseau.
Dans la section Source, sous Plages d'adresses IP, saisissez
35.235.240.0/20
.Dans la section Protocoles et ports, sélectionnez Protocoles et ports spécifiés.
Cochez la case TCP et, pour le champ Ports, saisissez
22
et3389
en les séparant par une virgule.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.
Dans la console Google Cloud, accédez à la page Instances de VM.
Dans la colonne Connecter de la VM
vm-fw-rules-server
, cliquez sur SSH.Dans la boîte de dialogue SSH dans votre navigateur, cliquez sur Autoriser et attendez que la connexion soit établie.
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.
Pour vérifier qu'Apache est en cours d'exécution, exécutez la commande suivante :
sudo systemctl status apache2 --no-pager
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
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.
Dans la console Google Cloud, accédez à la page Instances de VM.
Dans la colonne Adresse IP interne de la VM
vm-fw-rules-server
, copiez l'adresse IP interne de la VM.Dans la colonne Connecter de la VM
vm-fw-rules-client
, cliquez sur SSH.Dans la boîte de dialogue SSH dans votre navigateur, cliquez sur Autoriser et attendez que la connexion soit établie.
Pour vérifier la connexion, exécutez la commande suivante :
curl INTERNAL_IP -m 2
Remplacez
INTERNAL_IP
par l'adresse IP de la VMvm-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.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
Dans la console Google Cloud, accédez à la page Règles d'administration.
Dans la section Stratégies de pare-feu de réseau, cliquez sur
fw-policy
.Cliquez sur Créer une règle.
Dans le champ Priorité, saisissez
501
.Pour le Sens du trafic, sélectionnez Entrée.
Pour le champ Journaux, sélectionnez Activé.
Dans la section Cible, pour le champ Type de cible, sélectionnez Toutes les instances du réseau.
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.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.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.
Dans la console Google Cloud, accédez à la page Instances de VM.
Dans la colonne Adresse IP interne de la VM
vm-fw-rules-server
, copiez l'adresse IP interne de la VM.Dans la colonne Connecter de la VM
vm-fw-rules-client
, cliquez sur SSH.Dans la boîte de dialogue SSH dans votre navigateur, cliquez sur Autoriser et attendez que la connexion soit établie.
Pour vérifier la connexion, exécutez la commande suivante :
curl INTERNAL_IP -m 2
Remplacez
INTERNAL_IP
par l'adresse IP de la VMvm-fw-rules-server
.Le message attendu est
<!doctype html><html><body><h1>Hello World!</h1></body></html>
.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
Dans la console Google Cloud, accédez à la page Règles d'administration.
Dans la section Stratégies de pare-feu de réseau, cliquez sur le nom
fw-policy
.Cliquez sur l'onglet Associations.
Cochez la case correspondant à
vpc-fw-rules
, puis cliquez sur Supprimer l'association.Dans la boîte de dialogue Supprimer une association de stratégie de pare-feu, cliquez sur Supprimer.
À côté du titre
fw-policy
, cliquez sur Supprimer.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
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.Supprimez la stratégie de pare-feu.
gcloud compute network-firewall-policies delete fw-policy \ --global
Supprimer les VM
Console
Dans la console Google Cloud, accédez à la page Instances de VM.
Cochez les cases correspondant aux VM
vm-fw-rules-client
etvm-fw-rules-server
.Cliquez sur Supprimer.
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
Dans la console Google Cloud, accédez à la page Routeurs cloud.
Cochez la case
router-fw-rules
.Cliquez sur Supprimer.
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
Dans la console Google Cloud, accédez à la page Réseaux VPC.
Dans la colonne Nom, cliquez sur
vpc-fw-rules
.Cliquez sur Supprimer le réseau VPC.
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
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.
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.