Configurer Google Cloud Armor Adaptive Protection

Cette page contient des informations sur la configuration de la protection adaptative. Avant de configurer Adaptive Protection, assurez-vous de connaître les informations de la présentation d'Adaptive Protection et les cas d'utilisation d'Adaptive Protection.

Avant de commencer

Les sections suivantes expliquent tous les rôles et autorisations Identity and Access Management (IAM) requis pour configurer les stratégies de sécurité Google Cloud Armor. Pour les cas d'utilisation de ce document, vous n'avez besoin que de l'autorisation compute.securityPolicies.update.

Configurer les autorisations IAM pour les stratégies de sécurité Google Cloud Armor

Les opérations suivantes nécessitent le rôle IAM Administrateur de sécurité Identity and Access Management (roles/compute.securityAdmin):

  • Configurer, modifier, mettre à jour et supprimer une stratégie de sécurité Google Cloud Armor
  • À l'aide des méthodes d'API suivantes :
    • SecurityPolicies insert
    • SecurityPolicies delete
    • SecurityPolicies patch
    • SecurityPolicies addRule
    • SecurityPolicies patchRule
    • SecurityPolicies removeRule

Un utilisateur disposant du rôle Administrateur de réseau Compute (roles/compute.networkAdmin) peut effectuer les opérations suivantes:

  • Définir une stratégie de sécurité Google Cloud Armor pour un service de backend
  • À l'aide des méthodes d'API suivantes :
    • BackendServices setSecurityPolicy
    • BackendServices list (gcloud uniquement)

Les utilisateurs disposant du rôle Administrateur de sécurité (roles/iam.securityAdmin) et du rôle Administrateur de réseau Compute peuvent afficher les stratégies de sécurité Google Cloud Armor à l'aide des méthodes d'API SecurityPolicies get, list et getRule.

Configurer les autorisations IAM pour les rôles personnalisés

Le tableau suivant répertorie les autorisations standards des rôles IAM, ainsi que les méthodes d'API associées.

Autorisation IAM Méthodes d'API
compute.securityPolicies.create SecurityPolicies insert
compute.securityPolicies.delete SecurityPolicies delete
compute.securityPolicies.get SecurityPolicies get
SecurityPolicies getRule
compute.securityPolicies.list SecurityPolicies list
compute.securityPolicies.use BackendServices setSecurityPolicy
compute.securityPolicies.update SecurityPolicies patch
SecurityPolicies addRule
SecurityPolicies patchRule
SecurityPolicies removeRule
compute.backendServices.setSecurityPolicy BackendServices setSecurityPolicy

Activer Adaptive Protection

Pour activer Adaptive Protection pour votre stratégie de sécurité, procédez comme suit : Adaptive Protection est appliqué à chaque stratégie de sécurité individuellement.

Console

Pour activer Adaptive Protection pour une stratégie de sécurité :

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Sur la page Règles, cliquez sur le nom d'une stratégie de sécurité.

  3. Cliquez sur Modifier.

  4. Sous Adaptive Protection, sélectionnez Activer.

  5. Cliquez sur Mettre à jour.

Pour désactiver Adaptive Protection pour une stratégie de sécurité :

  1. Dans Google Cloud Console, accédez à la page Sécurité du réseau.

    Accéder à la page "Sécurité du réseau"

  2. Sur la page Règles, cliquez sur le nom d'une stratégie de sécurité.

  3. Cliquez sur Modifier.

  4. Sous Adaptive Protection, décochez la case Activer.

  5. Cliquez sur Mettre à jour.

gcloud

Pour activer Adaptive Protection pour une stratégie de sécurité :

gcloud compute security-policies update MY-SECURITY-POLICY \
    --enable-layer7-ddos-defense

Pour désactiver Adaptive Protection pour une stratégie de sécurité :

gcloud compute security-policies update MY-SECURITY-POLICY \
    --no-enable-layer7-ddos-defense

Configurer des modèles précis

La fonctionnalité de modèles précis vous permet de configurer des hôtes ou des chemins spécifiques en tant qu'unités précises que Adaptive Protection analyse. Dans les exemples suivants, vous créez des unités de trafic précises pour chaque hôte, personnalisez une unité de trafic précise et configurez la protection adaptative pour qu'elle prenne des mesures lorsque le trafic dépasse votre référence de requêtes par seconde (RPS). Pour en savoir plus sur les modèles précis, consultez la présentation d'Adaptive Protection.

Configurer des unités de trafic précises

Les exemples de cette section utilisent la commande add-layer7-ddos-defense-threshold-config avec certains ou tous les indicateurs suivants:

Option Description
--threshold-config-name Nom de la configuration de seuil.
--traffic-granularity-configs Options de configuration pour activer Adaptive Protection pour qu'elle fonctionne avec la granularité de service spécifiée.
--auto-deploy-impacted-baseline-threshold Seuil de l'impact estimé d'Adaptive Protection sur le trafic de référence de la règle d'atténuation suggérée pour une attaque détectée. Les défenses automatiques ne sont appliquées que si le seuil n'est pas dépassé.
--auto-deploy-expiration-sec Durée des actions, le cas échéant, effectuées par le déploiement automatique.
--detection-load-threshold Seuil de détection basé sur la charge du service de backend.
--detection-absolute-qps Seuil de détection basé sur le nombre absolu de RPS.
--detection-relative-to-baseline-qps Seuil de détection basé sur le RPS par rapport à la moyenne du trafic de référence.

Dans le premier exemple, vous configurez Adaptive Protection pour détecter les attaques et suggérer des mesures d'atténuation indépendantes pour chaque hôte derrière votre service de backend, sans remplacer les seuils par défaut.

gcloud

  1. Créez une stratégie de sécurité avec le nom POLICY_NAME ou utilisez une stratégie de sécurité existante.
  2. Si Adaptive Protection n'est pas déjà activé, utilisez la commande suivante pour l'activer pour votre stratégie:
    gcloud compute security-policies update POLICY_NAME 
    --enable-layer7-ddos-defense
  3. Appliquez la stratégie de sécurité à un service de backend avec plusieurs hôtes.
  4. Exécutez la commande add-layer7-ddos-defense-threshold-config suivante avec l'option --traffic-granularity-configs pour configurer une unité de trafic précise:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=per-host-config
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;enableEachUniqueValue=true

Dans le deuxième exemple, vous configurez différents seuils de déploiement automatique et de détection pour certaines ou toutes les unités de trafic détaillées que vous avez configurées dans le premier exemple.

gcloud

  1. Si le déploiement automatique d'Adaptive Protection n'est pas déjà activé, créez une règle d'espace réservé.
  2. La commande suivante personnalise le seuil de déploiement automatique pour une unité de trafic précise avec un HTTP_HEADER_HOST de HOST et un HTTP_PATH de PATH. Utilisez cette commande pour chaque unité de trafic détaillée que vous souhaitez personnaliser, en remplaçant les variables si nécessaire pour chaque hôte et chemin d'URL:
    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME 
    --threshold-config-name=my-host-config
    --auto-deploy-impacted-baseline-threshold=0.01
    --auto-deploy-expiration-sec=3600
    --traffic-granularity-configs=type=HTTP_HEADER_HOST;value=HOST,type=HTTP_PATH;value=PATH

Détecter lorsque le volume d'attaques dépasse le nombre de RPS moyen de référence

Dans l'exemple suivant, vous configurez Adaptive Protection pour qu'il ne détecte une attaque que lorsque le volume d'attaque dépasse de plus de 50 % votre RPS moyen de référence et uniquement lorsque la charge du service de backend dépasse 90% de sa capacité.

gcloud

  1. Créez une stratégie de sécurité avec le nom POLICY_NAME ou utilisez une stratégie de sécurité existante.
  2. Si Adaptive Protection n'est pas déjà activé, utilisez la commande suivante pour l'activer pour votre stratégie:

    gcloud compute security-policies update POLICY_NAME \
      --enable-layer7-ddos-defense
    
  3. Appliquez la stratégie de sécurité à un service de backend.

  4. Utilisez la commande suivante pour configurer la protection adaptative avec des seuils de détection personnalisés:

    gcloud compute security-policies add-layer7-ddos-defense-threshold-config POLICY_NAME \
       --threshold-config-name=my-customized-thresholds \
       --detection-load-threshold=0.9 \
       --detection-relative-to-baseline-qps=1.5
    

Étape suivante