Les stratégies de sécurité de périphérie réseau vous permettent de configurer des règles pour autoriser ou bloquer le trafic à la périphérie du réseau Google. Vous pouvez configurer des règles de sécurité à la périphérie du réseau pour les types de frontend suivants :
- Équilibreurs de charge réseau passthrough externes
- Transfert de protocole
- VM dotées d'adresses IP publiques
Vous pouvez utiliser des stratégies de sécurité de périphérie réseau pour filtrer les plages d'adresses IP sources et de destination de la même manière que le pare-feu Cloud nouvelle génération, mais sans consommer vos ressources. De plus, une stratégie de sécurité en périphérie du réseau est le seul type de stratégie de sécurité compatible avec le filtrage par décalage d'octet.
Configurer des règles personnalisées pour les stratégies de sécurité de périphérie de réseau
Comme pour les règles de sécurité de backend et de périphérie, vous pouvez configurer des règles personnalisées pour les règles de sécurité de périphérie réseau. Dans l'exemple suivant, vous allez créer une règle de sécurité du réseau périphérique, configurer une règle personnalisée pour autoriser le trafic provenant uniquement d'une plage d'adresses IP sources donnée, puis associer la règle à votre service de backend.
Les règles de sécurité du réseau périphérique sont compatibles avec plusieurs filtres Google Cloud Armor, y compris des filtres uniques tels que le filtrage par décalage d'octet. Pour en savoir plus sur les fonctionnalités compatibles avec les stratégies de sécurité du réseau périphérique, consultez la présentation des stratégies de sécurité. Vous pouvez également déployer des stratégies de sécurité de périphérie réseau en mode Aperçu.
Avant de continuer, vous devez vous inscrire à Google Cloud Armor Enterprise et configurer la protection DDoS avancée du réseau. Vous ne pouvez pas utiliser de règles personnalisées pour les stratégies de sécurité en périphérie du réseau sans abonnement Cloud Armor Enterprise actif ni protection DDoS avancée du réseau.
Pour configurer des règles personnalisées, procédez comme suit :
Créez une règle de sécurité de réseau périphérique nommée
POLICY_NAME
dans la régionREGION
. N'utilisez pas la même stratégie de sécurité que celle que vous avez utilisée pour activer la protection DDoS avancée du réseau.gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION
Remplacez la règle par défaut de votre stratégie, qui est définie sur
allow
, pardeny
pour bloquer le trafic qui n'est pas explicitement autorisé par d'autres règles.gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION
Dans la même stratégie de sécurité, ajoutez une règle avec la priorité
RULE_PRIORITY
qui autorise les requêtes dans la plage d'adresses IP sourceRANGE
.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-src-ip-ranges=RANGE \ --action=allow \ --region=REGION
Associez la stratégie de sécurité à votre service de backend.
BACKEND_SERVICE_NAME
.gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION
Vous pouvez également associer la stratégie de sécurité à une seule instance de VM à l'aide de la commande suivante :
gcloud beta compute instances network-interfaces update VM_NAME \ --security-policy=POLICY_NAME \ --security-policy-region=REGION \ --network-interface=NETWORK_INTERFACE \ --zone=ZONE_NAME
Facultatif : Vous pouvez vérifier que la règle de sécurité est associée à l'aide de la commande suivante. Si l'opération réussit, le champ
securityPolicy
de la sortie contient un lien vers la ressource de votre stratégie de sécurité.gcloud compute instances describe VM_NAME --zone=ZONE_NAME
Après avoir créé l'exemple précédent, vous pouvez continuer à ajouter des règles à votre stratégie de sécurité de périphérie réseau à l'aide de la commande security-policies rules update
.
Voici les champs compatibles avec les stratégies de sécurité de périphérie de réseau :
Champ | Option | Description |
---|---|---|
Adresse IP source | --network-src-ip-ranges |
Adresses IPv4/6 ou préfixes CIDR sources, au format texte standard. |
Ports sources | --network-src-ports |
Numéros de ports sources pour TCP/UDP/SCTP. Chaque élément peut être un nombre (16 bits) (comme "80") ou une plage (comme "0-1023"). |
Codes des régions sources | --network-src-region-codes |
Code pays à deux lettres (ISO 3166-1 alpha-2). |
Numéros ASN sources | --network-src-asns |
Numéro de système autonome BGP de l'adresse IP source. |
Plages d'adresses IP de destination | --network-dest-ip-ranges |
Adresses IPv4/6 ou préfixes CIDR de destination, au format texte standard. |
Ports de destination | --network-dest-ports |
Numéros de ports de destination pour TCP/UDP/SCTP. Chaque élément peut être un nombre (16 bits) (comme "80") ou une plage (comme "0-1023"). |
Protocoles d'adresse IP | --network-ip-protocols |
Protocole IPv4 / En-tête suivant IPv6 (après les en-têtes d'extension). Chaque élément peut être un nombre de 8 bits (comme "6"), une plage (comme "253-254") ou l'un des noms de protocole suivants :
|
Filtrage par décalage d'octet | N/A | Consultez la section suivante. |
Lorsque vous utilisez l'option --network-src-region-codes
avec une stratégie de sécurité du réseau périphérique, vous pouvez utiliser les codes régionaux pour les territoires suivants soumis à des sanctions américaines globales :
Territoires | Code attribué |
---|---|
Crimée | XC |
République populaire autoproclamée de Donetsk (DNR) et République populaire autoproclamée de Lougansk (LNR) |
XD |
Configurer le filtrage par décalage d'octet
Si vous utilisez des équilibreurs de charge réseau passthrough externes, le transfert de protocole ou des VM avec des adresses IP publiques, Google Cloud Armor peut effectuer une inspection approfondie des paquets sur le trafic entrant. Vous pouvez configurer une règle de stratégie de sécurité qui correspond à une valeur de décalage d'octets TCP/UDP spécifique. Vous pouvez configurer la règle pour qu'elle applique l'action de règle lorsque la valeur configurée est présente ou, à l'inverse, lorsqu'elle est absente.
L'exemple suivant autorise le trafic lorsque la valeur est présente et refuse tout autre trafic :
Créez une règle de sécurité en périphérie du réseau. Vous pouvez ignorer cette étape si vous disposez déjà d'une stratégie de sécurité de périphérie de réseau.
gcloud compute security-policies create POLICY_NAME \ --type=CLOUD_ARMOR_NETWORK \ --region=REGION_NAME
Mettez à jour votre stratégie de sécurité du réseau de périphérie pour ajouter des champs définis par l'utilisateur à l'aide des paramètres suivants :
- Base : la valeur peut être
IPv4
,IPv6
,TCP
ouUDP
. - Décalage : décalage du champ par rapport à la base en octets
- Taille : taille du champ en octets (valeur maximale :
4
) - Masque : masque pour les bits du champ à faire correspondre
Vous pouvez utiliser jusqu'à huit champs définis par l'utilisateur par règle. Dans l'exemple suivant, vous allez créer deux champs définis par l'utilisateur.
gcloud compute security-policies add-user-defined-field POLICY_NAME \ --user-defined-field-name=USER_DEFINED_FIELD_NAME_TCP \ --base=TCP \ --offset=OFFSET \ --size=SIZE \ --mask=MASK \ --region=REGION_NAME
gcloud compute security-policies add-user-defined-field POLICY_NAME \ --user-defined-field-name=USER_DEFINED_FIELD_NAME_UDP \ --base=UDP \ --offset=OFFSET \ --size=SIZE \ --mask=MASK \ --region=REGION_NAME
- Base : la valeur peut être
Dans votre règle de sécurité de réseau périphérique, ajoutez une règle avec le même nom de champ personnalisé que celui utilisé dans l'exemple précédent. Remplacez
VALUE1
etVALUE2
par des valeurs correspondant au trafic que vous souhaitez autoriser.gcloud compute security-policies rules create RULE_PRIORITY \ --security-policy=POLICY_NAME \ --network-user-defined-fields="USER_DEFINED_FIELD_NAME_TCP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1:VALUE2,USER_DEFINED_FIELD_NAME_UDP;VALUE1,VALUE2" \ --action=allow \ --region=REGION_NAME
Définissez la règle par défaut de votre stratégie de sécurité en périphérie du réseau comme règle de blocage. Vous pouvez ignorer cette étape si la règle par défaut de votre stratégie de sécurité est déjà une règle de refus.
gcloud compute security-policies rules update 2147483647 \ --security-policy=POLICY_NAME \ --action=deny \ --region=REGION_NAME
Associez votre stratégie de sécurité du réseau périphérique au service de backend de votre équilibreur de charge réseau passthrough externe.
gcloud compute backend-services update BACKEND_SERVICE_NAME \ --security-policy=POLICY_NAME \ --region=REGION_NAME
Surveillance
Google Cloud Armor exporte les métriques suivantes vers Cloud Monitoring pour chacune des règles de votre stratégie de sécurité à la périphérie du réseau :
packet_count
Blocked
: valeur booléenne représentant le résultat d'une action de règleallow
oudeny
Count
: valeur depacket_count
incrémentée une fois pour chaque tranche de 10 000 paquets. Par exemple, une valeurpacket_count
de5
signifie qu'au moins 50 000 paquets correspondent à votre règle.
preview_packet_count
: identique àpacket_count
, utilisé pour les règles en mode Aperçu
Pour afficher les métriques des stratégies de sécurité du réseau périphérique, vous devez d'abord activer l'API Network Security (networksecurity.googleapis.com
). Cette autorisation est incluse dans le rôle d'administrateur de sécurité Compute (roles/compute.securityAdmin
). Une fois l'API Network Security activée, vous pouvez afficher les métriques dans Monitoring, dans la console Google Cloud .