Configurer des règles de sécurité en périphérie du réseau

Les stratégies de sécurité en périphérie du 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 la sécurité en périphérie du réseau pour les types de frontend suivants:

  • Équilibreurs de charge réseau externes à stratégie directe
  • Transfert de protocole
  • VM dotées d'adresses IP publiques

Vous pouvez utiliser des règles de sécurité en périphérie du réseau pour filtrer par plages d'adresses IP source et de destination comme le pare-feu Cloud nouvelle génération, mais sans consommer vos ressources. Dans De plus, une stratégie de sécurité de réseau périphérique est le seul type de stratégie de sécurité avec prise en charge du filtrage du décalage des octets.

Configurer des règles personnalisées pour les stratégies de sécurité en périphérie du réseau

Comme les stratégies de sécurité de backend et de périphérie, vous pouvez configurer des règles personnalisées pour des stratégies de sécurité en périphérie du réseau. Dans l'exemple suivant, vous créez un réseau de sécurité périphérique, configurez une règle personnalisée pour n'autoriser le trafic qu'en provenance la plage d'adresses IP source et associer la stratégie à votre service de backend.

Les stratégies de sécurité en périphérie du réseau sont compatibles avec plusieurs filtres Google Cloud Armor, y compris des filtres uniques tels que le filtrage du décalage des octets. Pour en savoir plus sur sur les fonctionnalités compatibles avec les règles de sécurité en périphérie du réseau, consultez la Présentation des règles de sécurité. De plus, vous pouvez déployer des stratégies de sécurité en périphérie du réseau mode Aperçu.

Avant de continuer, vous devez enregistrer dans 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é de périphérie de réseau Abonnement Cloud Armor Enterprise et protection DDoS avancée du réseau.

Pour configurer des règles personnalisées, procédez comme suit:

  1. Créer une règle de sécurité de périphérie de réseau portant le nom POLICY_NAME dans la région REGION N'utilisez pas les mêmes règles de sécurité utilisée lors de l'activation de la protection DDoS avancée du réseau.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION
    
  2. Modifier vos règles règle par défaut de allow à deny 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
    
  3. Dans la même stratégie de sécurité, ajoutez une règle de priorité RULE_PRIORITY qui autorise les requêtes dans l'adresse IP source plage d'adresses RANGE.

    gcloud compute security-policies rules create RULE_PRIORITY \
       --security-policy=POLICY_NAME \
       --network-src-ip-ranges=RANGE \
       --action=allow \
       --region=REGION
    
  4. Associer 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 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
    
  5. Facultatif: Vous pouvez vérifier que la stratégie de sécurité est associée à l'aide de la la commande suivante. Si l'opération réussit, le champ securityPolicy dans le résultat contient un lien vers votre ressource de 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é en périphérie du réseau à l'aide de la commande security-policies rules update. Les champs pris en charge pour les règles de sécurité en périphérie du réseau sont les suivants:

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 numérique (par exemple, "80") ou une plage (par exemple, "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, en texte standard .
Ports de destination --network-dest-ports Numéros de ports de destination pour TCP/UDP/SCTP. Chaque élément peut être Nombre (16 bits) (par exemple "80") ou plage (par exemple, "0-1023").
Protocoles d'adresses IP --network-ip-protocols Protocole IPv4 / En-tête IPv6 Next (après les en-têtes d'extension). Chaque peut être un nombre de 8 bits (comme "6"), une plage (par exemple, "253-254") ou l'un des noms de protocole suivants: <ph type="x-smartling-placeholder">
    </ph>
  • tcp
  • udp
  • icmp
  • esp
  • ah
  • ipip
  • sctp
Filtrage du décalage des octets N/A Consultez la section suivante.

Lorsque vous utilisez l'option --network-src-region-codes avec une sécurité de périphérie de réseau vous pouvez utiliser les codes de région des territoires suivants, soumis aux sanctions majeures des États-Unis:

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 du décalage des octets

Si vous utilisez des équilibreurs de charge réseau passthrough externes, le transfert de protocole ou des VM dotées d'une adresse IP publique Google Cloud Armor peut effectuer une inspection approfondie des paquets du trafic. Vous pouvez configurer une règle de stratégie de sécurité Valeur de décalage d'octets TCP/UDP. Vous pouvez configurer la règle pour qu'elle applique son action lorsque la valeur configurée est présente ou lorsqu'elle est absente.

L'exemple suivant autorise le trafic lorsque la valeur est présente et refuse tout autre trafic:

  1. Créer une règle de sécurité de périphérie de réseau Vous pouvez ignorer cette étape si vous une règle de sécurité de périphérie de réseau existante.

    gcloud compute security-policies create POLICY_NAME \
       --type=CLOUD_ARMOR_NETWORK \
       --region=REGION_NAME
    
  2. Mettre à jour votre stratégie de sécurité en périphérie du réseau pour ajouter des champs définis par l'utilisateur à l'aide des paramètres suivants:

    • Base: la valeur peut être IPv4, IPv6, TCP ou UDP
    • Offset: décalage du champ par rapport à la base, en octets
    • Taille: taille du champ en octets (la valeur maximale est 4)
    • Mask: masque des bits du champ à mettre en correspondance.

    Vous pouvez utiliser jusqu'à huit champs définis par l'utilisateur par règle. Dans l'exemple suivant, vous créez 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
    
  3. Dans votre stratégie de sécurité de périphérie de réseau, ajoutez une règle portant le même nom de champ personnalisé que vous avez utilisé dans l'exemple précédent. Remplacer VALUE1 et VALUE2 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
    
  4. Définissez la règle par défaut de votre stratégie de sécurité de périphérie de réseau sur de refus. Vous pouvez ignorer cette étape si la règle par défaut est déjà une règle de refus.

    gcloud compute security-policies rules update 2147483647 \
       --security-policy=POLICY_NAME \
       --action=deny \
       --region=REGION_NAME
    
  5. Associer votre stratégie de sécurité de périphérie de réseau aux équilibreurs de charge réseau passthrough externes un service de backend personnalisé.

    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 de vos règles de stratégie de sécurité de périphérie de réseau:

  • packet_count
    • Blocked: valeur booléenne représentant le résultat d'une allow ou d'une deny
      . action de la règle
    • Count: la valeur de packet_count, incrémentée une fois pour chaque 10 000 paquets. Par exemple, une valeur packet_count de 5 signifie qu'au moins 50 000 paquets correspondent à votre règle
  • preview_packet_count: identique à packet_count, utilisé pour les règles dans l'aperçu mode

Pour afficher les métriques des règles de sécurité en périphérie du réseau, vous devez d'abord activer API Network Security (networksecurity.googleapis.com). Cette autorisation est incluse dans Rôle d'administrateur de sécurité Compute (roles/compute.securityAdmin). Après avoir activé l'API Network Security, vous pouvez afficher les métriques dans Monitoring dans la console Google Cloud.

Accéder à Monitoring