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 preview, configurez l'option userIpRequestHeaders[] dans 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 le blocage à la demande à l'origine de l'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 vous avertit lorsque la charge sur le service de backend qui est attaqué dépasse cette de sortie.

    • 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
  • 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 de déploiement automatique autres que ceux par défaut. 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: une fois le déploiement automatique des règles configuré, chaque journal d'alerte généré par Adaptive Protection comporte le champ booléen autoDeployed, qui indique si une défense automatique a été déclenchée.
  • adaptiveProtection.autoDeployAlertId: chaque fois qu'Adaptive Protection prend une action sur une demande dans le cadre d'une défense automatique, le journal de requêtes comporte Le champ supplémentaire adaptiveProtection.autoDeployAlertId, qui enregistre ID d'alerte. Ce champ s'affiche sous enforcedSecurityPolicy ou previewSecurityPolicy, selon que la stratégie de sécurité était en mode Preview.

Pour afficher les journaux de requêtes, consultez la section Journalisation des requêtes. La capture d'écran suivante montre un exemple d'entrée de journal de protection adaptative, 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.