Déployer automatiquement les règles suggérées par Adaptive Protection

Ce document décrit les étapes de configuration permettant de déployer automatiquement les règles suggérées qui sont générées par Adaptive Protection. Pour activer le déploiement automatique des règles, vous devez créer une règle d'espace réservé avec les valeurs suivantes :

  • Expression de correspondance : evaluateAdaptiveProtectionAutoDeploy()
  • Action : toutes
  • Priorité : toutes. Nous vous recommandons de définir une règle d'autorisation explicite avec une priorité plus élevée que vos autres règles pour un trafic légitime à priorité élevée.

Si vous utilisez un proxy en amont devant votre équilibreur de charge d'application externe, tel qu'un CDN tiers, vous pouvez configurer la règle d'espace réservé pour qu'elle corresponde aux requêtes en fonction de l'adresse IP du client d'origine à partir d'un ou de plusieurs en-têtes spécifiés. Pour utiliser cette fonctionnalité en version Preview, configurez l'option userIpRequestHeaders[] dans le champ advancedOptionsConfig. Pour en savoir plus, consultez la documentation de référence sur la ressource ComputeSecurityPolicy.

Exemples de règles d'espace réservé

Les commandes suivantes sont des exemples de règles d'espace réservé pour des stratégies de sécurité appelées POLICY_NAME, chacune disposant d'une action de règle différente. Vous pouvez ajouter ces règles à une stratégie de sécurité existante ou créer une stratégie. Pour en savoir plus sur la création de stratégies de sécurité, consultez la page Configurer des stratégies de sécurité Google Cloud Armor.

Bloquer le trafic malveillant

Cet exemple de règle renvoie true pour les requêtes qu'Adaptive Protection identifie comme du trafic associé à une attaque. Google Cloud Armor applique l'action bloquante à la requête d'attaque:

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action deny-403

Rediriger le trafic malveillant vers un test reCAPTCHA

Cet exemple de règle redirige le trafic qu'Adaptive Protection identifie comme malveillant vers un test reCAPTCHA :

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action redirect \
    --redirect-type google-recaptcha

Limiter le débit du trafic malveillant

Cet exemple applique une limitation du débit Google Cloud Armor au trafic identifié par Adaptive Protection comme malveillant :

gcloud compute security-policies rules create 1000 \
    --security-policy POLICY_NAME \
    --expression "evaluateAdaptiveProtectionAutoDeploy()" \
    --action throttle \
    --rate-limit-threshold-count 500 \
    --rate-limit-threshold-interval-sec 120 \
    --conform-action allow \
    --exceed-action deny-404 \
    --enforce-on-key ip

Configurer les paramètres de déploiement automatique d'Adaptive Protection

Vous pouvez configurer les seuils de déploiement automatique des règles en ajustant les paramètres suivants. Si vous ne définissez pas la valeur d'un paramètre, Google Cloud Armor utilise la valeur par défaut.

  • Seuil de charge: lors d'une alerte d'attaque, Adaptive Protection n'identifie les nouveaux pirates informatiques que lorsque la charge vers le service de backend en cours d'attaque dépasse ce seuil. De plus, les règles ne sont déployées automatiquement que pour les alertes lorsque la charge vers le service de backend en cours d'attaque dépasse ce seuil.

    • Valeur par défaut : 0.8

  • Seuil de confiance: les règles ne sont déployées automatiquement que pour les alertes d'attaques potentielles dont le score de confiance est supérieur à ce seuil.

    • Valeur par défaut : 0.5
  • Seuil de référence concerné: les règles ne sont déployées automatiquement que lorsque l'impact estimé sur le trafic de référence provenant de l'atténuation suggérée est inférieur à ce seuil.

    • Valeur par défaut: 0.01 pourcent (0,01%, et non 1%)
  • Ensemble d'expiration : Google Cloud Armor cesse d'appliquer l'action dans la règle déployée automatiquement à un pirate informatique identifié après ce délai. La règle continue de fonctionner pour les nouvelles requêtes.

    • Valeur par défaut: 7200 secondes

Vous pouvez utiliser l'exemple de commande suivant pour mettre à jour votre stratégie de sécurité afin d'utiliser des seuils non par défaut déployés automatiquement. Remplacez NAME par le nom de votre stratégie de sécurité, et remplacez les variables restantes par les valeurs souhaitées pour votre stratégie.

gcloud beta compute security-policies update NAME [
    --layer7-ddos-defense-auto-deploy-load-threshold LOAD_THRESHOLD
    --layer7-ddos-defense-auto-deploy-confidence-threshold CONFIDENCE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-impacted-baseline-threshold IMPACTED_BASELINE_THRESHOLD
    --layer7-ddos-defense-auto-deploy-expiration-sec EXPIRATION_SEC
]

Journalisation

Les journaux générés par les règles déployées automatiquement avec Adaptive Protection comportent les champs supplémentaires suivants:

  • autoDeployed: après avoir configuré le déploiement automatique des règles, chaque journal d'alerte généré par Adaptive Protection contient le champ booléen autoDeployed, qui indique si une défense automatique a été déclenchée.
  • adaptiveProtection.autoDeployAlertId: chaque fois qu'Adaptive Protection effectue une action sur une requête dans le cadre d'une défense automatique, le journal des requêtes contient le champ adaptiveProtection.autoDeployAlertId supplémentaire, qui enregistre l'ID d'alerte. Ce champ s'affiche sous enforcedSecurityPolicy ou previewSecurityPolicy, selon que le règlement de sécurité est en mode Preview.

Pour afficher les journaux de requêtes, consultez la section Utiliser la journalisation des requêtes. La capture d'écran suivante montre un exemple d'entrée de journal Adaptive Protection, avec les champs autoDeployed et adaptiveProtection.autoDeployAlertId.

Exemple de journal Adaptive Protection.
Exemple de journal Adaptive Protection (cliquez pour agrandir).

Limites

  • Adaptive Protection n'est disponible que pour les stratégies de sécurité de backend associées à des services de backend qui sont exposés via un équilibreur de charge d'application externe. Adaptive Protection n'est pas disponible pour les équilibreurs de charge réseau proxy externes.