Exemples de stratégies de pare-feu hiérarchiques

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 Présentation des 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.

Autoriser le vérificateur à accéder à toutes les VM
Autoriser le vérificateur à accéder à toutes les VM

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 destination 123 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 destination 123, 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

  1. 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"
    
  2. 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
  3. Associez la stratégie de pare-feu au nœud de 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é du réseau 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.

Refuser toutes les connexions externes, à l'exception de certains ports de destination
Refuser toutes les connexions externes, à l'exception de certains ports de destination

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 depuis 10.2.0.0/16 sont autorisées, et les autres connexions sont évaluées par rapport à la règle d'entrée implicite, à savoir deny.

  • Les connexions d'entrée avec une plage d'adresses IP sources autre que 10.0.0.0/8 pour les ports de destination 22, 80 et 443 sont déléguées au niveau suivant, où les ports 80 et 443 sont autorisés, mais pas 22.

  • 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

  1. 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"
    
  2. 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
    
  3. 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"
  4. 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
    
  5. Associez la stratégie de pare-feu au nœud de l'organisation :

    gcloud compute firewall-policies associations create \
        --organization=123456789012 \
        --firewall-policy="example-firewall-policy"
  6. 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
    
  7. 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.

Refuser les connexions de sortie, sauf celles provenant d'un réseau VPC spécifique
Refuser les connexions de sortie, sauf celles provenant d'un réseau VPC spécifique

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 de sortie.

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ègle delegate-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ègle block-egress-traffic-sepc-ports de la stratégie au niveau de l'organisation refuse les autres connexions.

Procédure de configuration

  1. 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"
    
  2. 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
    
  3. 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"
  4. Associez la stratégie de pare-feu au nœud de 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 autorisée 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 et 443 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 ports 80, 443 et 22, et de refuser le reste des ports.

La configuration de ce cas d'utilisation est décrite dans le schéma ci-dessous.

Règles à l'échelle de l'organisation et spécifiques au dossier
Règles à l'échelle de l'organisation et spécifiques au dossier

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 TCP 80 et 443 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 plage 203.0.113.0/24 autres que 203.0.113.1 ne sont autorisées qu'aux ports 80, 443 et 22. 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

  1. 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"
    
  2. 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
    
  3. 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
    
  4. Associez la stratégie de pare-feu au nœud de l'organisation :

    gcloud compute firewall-policies associations create \
        --organization=100000000000 \
        --short-name="example-firewall-policy-org-a"
  5. 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"
    
  6. 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"
  7. Ajoutez une règle pour refuser le trafic entrant sur tous les autres ports/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
  8. 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
  9. 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"
  10. 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
  11. 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
  12. 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
    

Étape suivante