Configurer la sécurité pour les rattachements de réseau

Cette page explique comment les administrateurs de réseaux utilisateur peuvent gérer la sécurité dans les réseaux VPC qui utilisent des rattachements de réseau.

Les interfaces Private Service Connect sont créées et gérées par une organisation de producteurs, mais elles se trouvent sur un réseau VPC utilisateur. Pour la sécurité côté client, nous recommandons les règles de pare-feu basées sur les plages d'adresses IP du réseau VPC utilisateur. Cette approche permet à l'utilisateur de contrôler le trafic provenant des interfaces Private Service Connect sans compter sur les tags réseau du producteur.

L'utilisation de tags réseau avec des règles de pare-feu est acceptée, mais déconseillée, car l'utilisateur ne contrôle pas ces tags.

Limiter l'entrée du producteur à l'utilisateur

Prenons l'exemple de configuration de la figure 1, où l'utilisateur souhaite accorder au producteur l'accès à producer-ingress-subnet et l'empêcher d'accéder à restricted-subnet.

Figure 1 : Les règles de pare-feu garantissent que le trafic provenant du sous-réseau producteur ne peut atteindre que les VM de attachment-subnet et producer-ingress-subnet.

Les règles de pare-feu suivantes autorisent un accès limité du producteur à l'utilisateur :

  1. Une règle de faible priorité refuse tout trafic sortant de la plage d'adresses IP du sous-réseau du rattachement réseau attachment-subnet.

    gcloud compute firewall-rules create deny-all-egress \
        --network=consumer-vpc \
        --action=DENY \
        --rules=ALL \
        --direction=EGRESS \
        --priority=65534 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="0.0.0.0/0"
    
  2. Une règle de priorité plus élevée autorise la sortie de la plage d'adresses IP attachment-subnet vers les destinations comprises dans la plage d'adresses producer-ingress-subnet.

    gcloud compute firewall-rules create allow-limited-egress \
        --network=consumer-vpc \
        --action=ALLOW \
        --rules=ALL \
        --direction=EGRESS \
        --priority=1000 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="10.10.2.0/24"
    
  3. Une règle d'entrée autorisée remplace la règle implicite d'entrée interdite pour le trafic provenant de attachment-subnet.

    gcloud compute firewall-rules create allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="10.0.1.48/28"
    

Autoriser la sortie de l'utilisateur vers le producteur

Si vous souhaitez autoriser un réseau utilisateur à initier le trafic vers un réseau producteur, vous pouvez utiliser des règles de pare-feu d'entrée.

Prenons l'exemple de configuration de la figure 2, où l'utilisateur souhaite autoriser subnet-1 à accéder au réseau producteur via la connexion Private Service Connect.

Figure 2. Une règle de pare-feu d'entrée autorisée permet à subnet-1 d'accéder au réseau producteur via une connexion Private Service Connect, tandis que subnet-2 est bloqué par la règle implicite d'entrée interdite.

La règle de pare-feu suivante garantit que seul subnet-1 peut accéder au réseau producteur via la connexion Private Service Connect:

gcloud compute firewall-rules create vm-subnet-allow-ingress \
    --network=consumer-vpc \
    --action=ALLOW \
    --rules=ALL \
    --direction=INGRESS \
    --priority=1000 \
    --source-ranges="10.10.2.0/24" \
    --destination-ranges="10.0.1.48/28"

Configurer la sécurité de producteur à producteur

Vous pouvez utiliser les règles de pare-feu VPC pour des raisons de sécurité lorsqu'une application de producteur doit accéder à une autre application de producteur.

Imaginons un scénario dans lequel un utilisateur utilise deux services gérés tiers hébergés sur des réseaux VPC différents. L'un des services est une base de données, et l'autre fournit des analyses. Le service d'analyse doit se connecter au service de base de données pour analyser ses données. Une approche consiste à créer une connexion directe pour les services. Toutefois, si les deux services tiers sont directement connectés, le consommateur perd le contrôle et la visibilité sur ses données.

Une approche plus sécurisée consiste à utiliser des interfaces Private Service Connect, des points de terminaison Private Service Connect et des règles de pare-feu VPC, comme illustré dans la figure 3.

Figure 3. Le trafic provenant de l'application d'analyse liée à l'application de base de données passe par le réseau VPC utilisateur. Les règles de pare-feu VPC limitent le trafic de sortie en fonction de la plage d'adresses IP source.

Dans cette approche, le réseau utilisateur se connecte à l'application de base de données via un point de terminaison d'un sous-réseau et se connecte à l'application d'analyse via un rattachement de réseau dans un autre sous-réseau. Le trafic provenant de l'application d'analyse peut atteindre l'application de base de données en passant par l'interface Private Service Connect et le rattachement de réseau, en transitant par le réseau utilisateur et en sortant via le point de terminaison dans endpoint-subnet.

Dans le réseau VPC utilisateur, une règle de pare-feu VPC refuse tout trafic sortant de attachment-subnet. Une autre règle de pare-feu de priorité plus élevée autorise le trafic sortant de attachment-subnet et consumer-private-subnet vers le point de terminaison. Par conséquent, le trafic de l'application d'analyse peut atteindre le réseau VPC de l'application de base de données, et ce trafic doit transiter par le point de terminaison du consommateur.

Les règles de pare-feu suivantes créent la configuration décrite à la figure 4.

  1. Une règle de pare-feu bloque tout le trafic sortant de attachment-subnet:

    gcloud compute firewall-rules create consumer-deny-all-egress \
        --network=consumer-vpc \
        --action=DENY \
        --rules=all \
        --direction=EGRESS \
        --priority=65534 \
        --source-ranges="10.0.1.48/28" \
        --destination-ranges="0.0.0.0/0"
    
  2. Une règle de pare-feu autorise le trafic TCP sortant sur le port 80 depuis attachment-subnet et consumer-private-subnet vers le point de terminaison:

    gcloud compute firewall-rules create consumer-allow-80-egress \
        --network=intf-consumer-vpc \
        --allow=tcp:80 \
        --direction=EGRESS \
        --source-ranges="10.0.1.48/28,10.10.2.0/24" \
        --destination-ranges="10.0.1.66/32" \
        --priority=1000