Cette page présente des exemples de mise en œuvre de stratégies de pare-feu hiérarchiques. Nous partons du principe que vous connaissez les concepts décrits dans la page Stratégies de pare-feu hiérarchiques.
Exemple 1 : Autoriser le vérificateur à accéder à toutes les VM
Dans ce cas d'utilisation, toutes les instances de machine virtuelle (VM) d'une organisation doivent être analysées et inventoriées à l'aide de vérifications provenant d'une adresse IP particulière (10.100.0.1
) sur un port de destination spécifique (123
). L'administrateur de sécurité de l'organisation garantit qu'aucun administrateur réseau ou autre administrateur de sécurité ne peut bloquer ce port sur aucune instance de VM de l'organisation.
Dans cet exemple, nous partons du principe qu'aucune stratégie de pare-feu au niveau du dossier n'est déployée.
La configuration de ce cas d'utilisation est décrite dans le schéma ci-dessous.
Stratégie en vigueur appliquée aux VM
Dans cet exemple, la stratégie de pare-feu en vigueur appliquée aux VM après l'évaluation des règles dans la hiérarchie se présente comme suit.
Connexions d'entrée
Les connexions d'entrée avec l'adresse IP source
10.100.0.1
et le port de destination123
sont autorisées, comme défini dans la stratégie. En cas de correspondance dans la règle d'administration, les connexions de vérification sont autorisées et aucune autre règle n'est évaluée dans la hiérarchie.Pour les connexions d'entrée ne provenant pas de l'adresse IP source
10.100.0.1
ni du port de destination123
, il n'y a pas de correspondance. Par conséquent, la règle d'entrée par défaut dans les règles de pare-feu VPC s'applique, qui va refuser la connexion.
Connexion de sortie
- Il n'existe aucune correspondance parmi l'ensemble des règles définies par la hiérarchie. Par conséquent, la règle de sortie par défaut dans les règles de pare-feu VPC s'applique, qui va autoriser les connexions de sortie.
Procédure de configuration
Créez une stratégie de pare-feu contenant la règle suivante :
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Ajoutez la règle à la stratégie de pare-feu :
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-scan-probe" \ --layer4-configs=tcp:123 \ --firewall-policy=example-firewall-policy \ --organization=123456789012 \ --src-ip-ranges=10.100.0.1/32
Associez la stratégie de pare-feu à l'organisation :
gcloud compute firewall-policies associations create \ --firewall-policy=example-firewall-policy \ --organization=123456789012
Exemple 2 : Refuser toutes les connexions externes, à l'exception de certains ports
Dans ce cas d'utilisation, une stratégie de pare-feu bloque toutes les connexions depuis des sources Internet externes, à l'exception des connexions sur les ports de destination 80
, 443
et 22
. Une connexion Internet d'entrée sur un port autre que 80
, 443
et 22
va être bloquée, quelles que soient les règles de pare-feu au niveau du réseau VPC. Pour toute connexion sur le port 80
, 443
ou 22
, la stratégie délègue à l'administrateur de sécurité VPC le comportement qu'il souhaite appliquer sur son réseau VPC respectif pour ces ports.
La configuration de ce cas d'utilisation est décrite dans le schéma ci-dessous.
Stratégie en vigueur appliquée aux VM
Dans cet exemple, la stratégie de pare-feu en vigueur appliquée aux VM après l'évaluation des règles dans la hiérarchie se présente comme suit.
Connexions d'entrée
Toutes les connexions d'entrée de
10.0.0.0/8
correspondent à la règle au niveau de l'organisation ayant la priorité la plus élevée (delegate-internal-traffic
) et contournent le reste des règles de la règle d'administration, qui doivent être évaluées par rapport aux règles de pare-feu configurées au niveau du réseau VPC. Dans la règle de pare-feu VPC, les connexions depuis10.2.0.0/16
sont autorisées, et les autres connexions sont évaluées par rapport à la règle d'entrée implicite, à savoirdeny
.Les connexions d'entrée avec une plage d'adresses IP sources autre que
10.0.0.0/8
pour les ports de destination22
,80
et443
sont déléguées au niveau suivant, où les ports80
et443
sont autorisés, mais pas22
.Toutes les autres connexions sont bloquées.
Connexions de sortie
- Il n'existe aucune correspondance parmi l'ensemble des règles définies par la hiérarchie. Par conséquent, la règle de sortie par défaut dans les règles de pare-feu VPC s'applique, qui va autoriser les connexions de sortie.
Procédure de configuration
Créez une stratégie de pare-feu contenant la règle suivante :
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Ajoutez une règle pour déléguer les connexions internes au propriétaire du projet :
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-internal-traffic" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=10.0.0.0/8
Ajoutez une règle pour déléguer des règles de connexion externe aux ports
80
/443
/22
au propriétaire du projet :gcloud compute firewall-policies rules create 2000 \ --action=goto_next \ --description="delegate-external-traffic-spec-ports" \ --layer4-configs=tcp:80,tcp:443,tcp:22 \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
Ajoutez une règle pour refuser toutes les autres connexions externes :
gcloud compute firewall-policies rules create 3000 \ --action=deny \ --description="block-other-external-traffic-spec-ports" \ --organization=123456789012 \ --firewall-policy="example-firewall-policy" \ --src-ip-ranges=0.0.0.0/0
Associez la stratégie de pare-feu à l'organisation :
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --firewall-policy="example-firewall-policy"
Dans le projet, ajoutez une règle de pare-feu pour autoriser les connexions internes depuis le sous-réseau désigné :
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --priority=1000 \ --source-ranges=10.2.0.0/16
Dans le projet, ajoutez une règle de pare-feu pour autoriser les connexions externes sur les ports TCP
80
/443
:gcloud compute firewall-rules create allow-external-traffic \ --action=allow \ --priority=2000 \ --rules=tcp:80,tcp:443
Exemple 3 : Refuser les connexions de sortie, sauf celles provenant d'un réseau VPC spécifique
Dans ce cas d'utilisation, l'administrateur de sécurité de l'organisation n'autorise pas les connexions de sortie dans un réseau VPC, à l'exception des connexions provenant du réseau VPC myvpc
. L'administrateur délègue la décision d'autorisation du trafic de sortie sur le serveur public 203.0.113.1
à l'administrateur de sécurité myvpc
.
Dans cet exemple, nous partons du principe qu'aucune stratégie de pare-feu au niveau du dossier n'est déployée. La configuration de ce cas d'utilisation est décrite dans le schéma ci-dessous.
Stratégie en vigueur appliquée aux VM
Dans cet exemple, la stratégie de pare-feu en vigueur appliquée aux VM après l'évaluation des règles dans la hiérarchie se présente comme suit.
Connexions d'entrée
- Il n'existe aucune correspondance parmi l'ensemble des règles définies par la hiérarchie. Par conséquent, la règle d'entrée par défaut dans les règles de pare-feu VPC s'applique, qui refuse les connexions d'entrée.
Connexions de sortie
Toutes les connexions de sortie destinées à
203.0.113.1
sont autorisées, et les autres connexions sont refusées. Toutes les connexions de sortie destinées à203.0.113.1
correspondent à la règledelegate-egress-my-vpc
et contournent les autres règles de la règle d'administration.Les connexions de sortie sont ensuite évaluées par rapport aux règles de pare-feu configurées dans
myvpc
. La règle par défaut autorise les connexions de sortie. La règleblock-egress-traffic-sepc-ports
de la stratégie au niveau de l'organisation refuse les autres connexions.
Procédure de configuration
Créez une stratégie de pare-feu contenant la règle suivante :
gcloud compute firewall-policies create \ --organization=123456789012 \ --short-name="example-firewall-policy" \ --description="rules that apply to all VMs in the organization"
Ajoutez une règle pour déléguer certaines connexions de sortie :
gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-egress-myvpc" \ --dest-ip-ranges=203.0.113.1/32 --direction=egress --organization=123456789012 \ --short-name="example-firewall-policy" \ --target-resources=projects/PROJECT_ID/networks/myvpc
Ajoutez une règle pour refuser toutes les autres connexions de sortie :
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-egress-external-traffic-spec-ports" \ --direction=egress \ --dest-ip-ranges=0.0.0.0/0 \ --organization=123456789012 \ --short-name="example-firewall-policy"
Associez la stratégie de pare-feu à l'organisation :
gcloud compute firewall-policies associations create \ --organization=123456789012 \ --short-name="example-firewall-policy"
Exemple 4 : Configurer des règles à l'échelle de l'organisation et spécifiques au dossier
Dans ce cas d'utilisation, un administrateur de sécurité n'autorise les connexions d'entrée à aucune VM de l'organisation, à l'exception de celles qui sont contenues dans la plage ajoutée à une liste d'autorisation : 203.0.113.0/24
. L'administrateur délègue également toute décision ultérieure concernant les connexions depuis 203.0.113.0/24
aux administrateurs de sécurité au niveau des dossiers.
Il existe deux dossiers différents :
- Folder1, dans lequel la stratégie n'autorise que les connexions aux ports
80
et443
sur les VM de backend, tandis que les autres ports sont bloqués. - Folder2, dans lequel la stratégie exige qu'aucune VM de "Folder2" ne puisse bloquer un port de destination pour le trafic de l'adresse IP
203.0.113.1
. L'administrateur de sécurité de '"Folder2" délègue les autres décisions à l'administrateur de sécurité VPC, qui décide d'ouvrir les ports80
,443
et22
, et de refuser le reste des ports.
La configuration de ce cas d'utilisation est décrite dans le schéma ci-dessous.
Stratégie en vigueur appliquée aux VM
Dans cet exemple, la stratégie de pare-feu en vigueur appliquée aux VM après l'évaluation des règles dans la hiérarchie se présente comme suit.
Pour les VM appartenant à my-vpc
Toutes les connexions d'entrée depuis
203.0.113.0/24
avec les ports de destination TCP80
et443
sont autorisées. Toutes les autres connexions d'entrée sont refusées.Toutes les connexions de sortie sont acceptées conformément à la règle de pare-feu VPC en vigueur, car il n'existe aucune correspondance au sein des règles de stratégie de pare-feu de niveau supérieur.
Pour les VM appartenant à vpc2
Toutes les connexions d'entrée provenant de
203.0.113.1
sont autorisées. Les connexions d'entrée provenant de sources de la plage203.0.113.0/24
autres que203.0.113.1
ne sont autorisées qu'aux ports80
,443
et22
. Toutes les autres connexions d'entrée sont refusées.Toutes les connexions de sortie sont acceptées conformément à la règle de pare-feu VPC en vigueur, car il n'existe aucune correspondance au sein des règles de stratégie de pare-feu de niveau supérieur.
Procédure de configuration
Créez une stratégie de pare-feu pour contenir les règles de l'organisation "Org_A" :
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --description="rules that apply to all VMs in the organization"
Ajoutez une règle pour déléguer le trafic entrant provenant de
203.0.113.0/24
au propriétaire du projet :gcloud compute firewall-policies rules create 1000 \ --action=goto_next \ --description="delegate-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=203.0.113.0/24
Ajoutez une règle pour refuser toutes les autres connexions externes :
gcloud compute firewall-policies rules create 2000 \ --action=deny --description="block-ingress-external-traffic" --organization=100000000000 \ --short-name="example-firewall-policy-org-a" \ --src-ip-ranges=0.0.0.0/0
Associez la stratégie de pare-feu à l'organisation :
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-org-a"
Créez une stratégie de pare-feu pour contenir les règles de "Folder1" :
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --description="rules that apply to all VMs under Folder1"
Ajoutez une règle pour autoriser tout le trafic entrant HTTP(S) :
gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-http-s-ingress" \ --layer4-configs=tcp:80,tcp:443 \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1"
Ajoutez une règle pour refuser le trafic entrant sur tous les autres ports ou protocoles :
gcloud compute firewall-policies rules create 2000 \ --action=deny \ --description="block-ingress-external-traffic" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --src-ip-ranges=0.0.0.0/0
Associez la stratégie de pare-feu au "Folder1" :
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder1" \ --folder=200000000000
Créez une stratégie de pare-feu pour contenir les règles de "Folder2" :
gcloud compute firewall-policies create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --description="rules that apply to all VMs under Folder2"
Ajoutez une règle pour autoriser le trafic entrant provenant de
203.0.113.1
:gcloud compute firewall-policies rules create 1000 \ --action=allow \ --description="allow-vul-scan-ingress" \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --src-ip-ranges=203.0.113.1/32
Associez la stratégie de pare-feu au "Folder2" :
gcloud compute firewall-policies associations create \ --organization=100000000000 \ --short-name="example-firewall-policy-folder2" \ --folder=300000000000
Ajoutez une règle de pare-feu pour autoriser le trafic entrant de la connexion HTTP(S) :
gcloud compute firewall-rules create allow-internal-traffic \ --action=allow \ --rules=tcp:80,tcp:443,tcp:22
Étapes suivantes
- Consultez la page Utiliser des stratégies de pare-feu hiérarchiques pour en savoir plus sur la création et la modification des règles et des stratégies de pare-feu hiérarchiques.