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 bien comprendre les informations présentées dans l'aperçu d'Adaptive Protection et les cas d'utilisation d'Adaptive Protection.

Avant de commencer

Les sections suivantes expliquent tous les rôles et autorisations IAM (Identity and Access Management) requis pour configurer les règles de sécurité 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é 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é Cloud Armor
  • en utilisant les 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éseaux Compute (roles/compute.networkAdmin) peut effectuer les opérations suivantes :

  • Définir une stratégie de sécurité Cloud Armor pour un service de backend
  • en utilisant les méthodes d'API suivantes :
    • BackendServices setSecurityPolicy
    • BackendServices list (gcloud uniquement)

Les utilisateurs disposant du rôle d'administrateur de sécurité (roles/iam.securityAdmin) et du rôle d'administrateur de réseau Compute peuvent afficher les stratégies de sécurité 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

Suivez les étapes ci-dessous pour activer Adaptive Protection pour votre stratégie de sécurité. Adaptive Protection est appliqué à chaque règle de sécurité individuellement.

Console

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

  1. Dans la console Google Cloud , 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 la console Google Cloud , 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 qu'Adaptive Protection analyse. Dans les exemples suivants, vous allez créer des unités de trafic précises pour chaque hôte, personnaliser une unité de trafic précise et configurer la protection adaptative pour qu'elle prenne des mesures lorsque le trafic dépasse votre nombre de requêtes par seconde (RPS) de référence. 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 tout ou partie des indicateurs suivants :

Option Description
--threshold-config-name Nom de la configuration de seuil.
--traffic-granularity-configs Options de configuration permettant à Adaptive Protection de fonctionner avec la précision 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é nommée 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étection et de déploiement automatique pour certaines ou toutes les unités de trafic précises 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 de substitution.
  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 précise que vous souhaitez personnaliser, en remplaçant les variables selon les besoins 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'attaque dépasse le nombre moyen de RPS de référence

Dans l'exemple suivant, vous configurez Adaptive Protection pour détecter une attaque uniquement lorsque le volume d'attaque dépasse de plus de 50 % le nombre moyen de requêtes par seconde de votre 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é nommée 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
    

Étapes suivantes