Chargement...
Aucun résultat.

Mettez en pratique vos compétences dans la console Google Cloud

Accédez à plus de 700 ateliers et cours

Gestion de bots avec Google Cloud Armor et reCAPTCHA

Atelier 1 heure 30 minutes universal_currency_alt 1 crédit show_chart Débutant
info Cet atelier peut intégrer des outils d'IA pour vous accompagner dans votre apprentissage.
Accédez à plus de 700 ateliers et cours

GSP877

Présentation

L'équilibrage de charge HTTP(S) Google Cloud est déployé à la périphérie du réseau Google dans les points de présence (POP) de Google à travers le monde. Le trafic utilisateur dirigé vers un équilibreur de charge HTTP(S) entre dans le POP le plus proche de l'utilisateur. Ensuite, l'équilibrage de la charge sur le réseau mondial de Google permet d'acheminer le trafic jusqu'au backend le plus proche disposant d'une capacité suffisante.

Cloud Armor est le système de détection des attaques par déni de service distribué (DDoS) et pare-feu d'application Web (WAF) de Google. Cloud Armor est étroitement associé à l'équilibreur de charge HTTP de Google Cloud et protège les applications des clients Google Cloud contre les attaques provenant d'Internet.

reCAPTCHA Enterprise est un service qui s'appuie sur l'API reCAPTCHA. Il protège votre site contre le spam et les abus en utilisant des techniques avancées d'analyse des risques pour distinguer les humains des robots. La gestion de bots Cloud Armor fournit une solution complète qui intègre la détection de bots et les scores reCAPTCHA Enterprise à l'application de règles par Cloud Armor à la périphérie du réseau pour protéger les applications en aval.

Dans cet atelier, vous allez configurer un équilibreur de charge HTTP avec un backend, comme illustré dans le schéma ci-dessous. Vous configurerez une clé de site pour un jeton de session reCAPTCHA et l'intégrerez à votre site Web. Vous configurerez également la redirection vers une question d'authentification manuelle reCAPTCHA Enterprise. Ensuite, vous configurerez une stratégie de gestion de bots Cloud Armor pour voir comment la détection des bots protège votre application contre le trafic de bots malveillants.

Schéma de configuration d'un équilibreur de charge HTTP

Points abordés

Dans cet atelier, vous allez apprendre à :

  • Configurer un équilibreur de charge HTTP avec des vérifications de l'état appropriées
  • Créer une clé de site pour la page de test WAF reCAPTCHA et l'associer à une stratégie de sécurité Cloud Armor
  • Créer une clé de site pour un jeton de session reCAPTCHA et l'installer sur vos pages Web
  • Créer une stratégie de gestion de bots Cloud Armor
  • Vérifier que la stratégie de gestion de bots gère le trafic en fonction des règles configurées

Préparation

Avant de cliquer sur le bouton "Démarrer l'atelier"

Lisez ces instructions. Les ateliers sont minutés, et vous ne pouvez pas les mettre en pause. Le minuteur, qui démarre lorsque vous cliquez sur Démarrer l'atelier, indique combien de temps les ressources Google Cloud resteront accessibles.

Cet atelier pratique vous permet de suivre les activités dans un véritable environnement cloud, et non dans un environnement de simulation ou de démonstration. Des identifiants temporaires vous sont fournis pour vous permettre de vous connecter à Google Cloud le temps de l'atelier.

Pour réaliser cet atelier :

  • Vous devez avoir accès à un navigateur Internet standard (nous vous recommandons d'utiliser Chrome).
Remarque : Ouvrez une fenêtre de navigateur en mode incognito (recommandé) ou de navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.
  • Vous disposez d'un temps limité. N'oubliez pas qu'une fois l'atelier commencé, vous ne pouvez pas le mettre en pause.
Remarque : Utilisez uniquement le compte de participant pour cet atelier. Si vous utilisez un autre compte Google Cloud, des frais peuvent être facturés à ce compte.

Démarrer l'atelier et se connecter à la console Google Cloud

  1. Cliquez sur le bouton Démarrer l'atelier. Si l'atelier est payant, une boîte de dialogue s'affiche pour vous permettre de sélectionner un mode de paiement. Sur la gauche, vous trouverez le panneau "Détails concernant l'atelier", qui contient les éléments suivants :

    • Le bouton "Ouvrir la console Google Cloud"
    • Le temps restant
    • Les identifiants temporaires que vous devez utiliser pour cet atelier
    • Des informations complémentaires vous permettant d'effectuer l'atelier
  2. Cliquez sur Ouvrir la console Google Cloud (ou effectuez un clic droit et sélectionnez Ouvrir le lien dans la fenêtre de navigation privée si vous utilisez le navigateur Chrome).

    L'atelier lance les ressources, puis ouvre la page "Se connecter" dans un nouvel onglet.

    Conseil : Réorganisez les onglets dans des fenêtres distinctes, placées côte à côte.

    Remarque : Si la boîte de dialogue Sélectionner un compte s'affiche, cliquez sur Utiliser un autre compte.
  3. Si nécessaire, copiez le nom d'utilisateur ci-dessous et collez-le dans la boîte de dialogue Se connecter.

    {{{user_0.username | "Username"}}}

    Vous trouverez également le nom d'utilisateur dans le panneau "Détails concernant l'atelier".

  4. Cliquez sur Suivant.

  5. Copiez le mot de passe ci-dessous et collez-le dans la boîte de dialogue Bienvenue.

    {{{user_0.password | "Password"}}}

    Vous trouverez également le mot de passe dans le panneau "Détails concernant l'atelier".

  6. Cliquez sur Suivant.

    Important : Vous devez utiliser les identifiants fournis pour l'atelier. Ne saisissez pas ceux de votre compte Google Cloud. Remarque : Si vous utilisez votre propre compte Google Cloud pour cet atelier, des frais supplémentaires peuvent vous être facturés.
  7. Accédez aux pages suivantes :

    • Acceptez les conditions d'utilisation.
    • N'ajoutez pas d'options de récupération ni d'authentification à deux facteurs (ce compte est temporaire).
    • Ne vous inscrivez pas à des essais sans frais.

Après quelques instants, la console Cloud s'ouvre dans cet onglet.

Remarque : Pour accéder aux produits et services Google Cloud, cliquez sur le menu de navigation ou saisissez le nom du service ou du produit dans le champ Recherche. Icône du menu de navigation et champ de recherche

Avant de commencer

  • Dans Cloud Shell, configurez votre ID de projet :
export PROJECT_ID=$(gcloud config get-value project) echo $PROJECT_ID gcloud config set project $PROJECT_ID

Activer les API

  • Activez tous les services nécessaires :
gcloud services enable compute.googleapis.com gcloud services enable logging.googleapis.com gcloud services enable monitoring.googleapis.com gcloud services enable recaptchaenterprise.googleapis.com

Vous êtes maintenant prêt à commencer la première tâche.

Tâche 1 : Configurer des règles de pare-feu pour autoriser le trafic HTTP et SSH vers les backends

Pour cet atelier, vous utilisez le réseau VPC par défaut créé dans votre projet au démarrage de l'atelier.

Dans cette section, vous allez configurer des règles de pare-feu pour autoriser le trafic HTTP vers les backends à partir des vérifications de l'état Google Cloud et de l'équilibreur de charge. Vous configurerez ensuite une règle de pare-feu pour autoriser la connexion SSH aux instances.

Créer une règle de pare-feu pour autoriser le trafic HTTP vers les backends

Les vérifications de l'état déterminent les instances d'un équilibreur de charge qui peuvent recevoir de nouvelles connexions. Pour l'équilibrage de charge HTTP, les vérifications de l'état portant sur vos instances à équilibrage de charge proviennent d'adresses situées dans les plages 130.211.0.0/22 et 35.191.0.0/16. Vos règles de pare-feu VPC doivent autoriser ces connexions. De plus, les équilibreurs de charge communiquent avec le backend sur la même plage d'adresses IP.

Pour créer une règle de pare-feu autorisant le trafic HTTP vers les backends :

  1. Dans la console Google Cloud, dans le menu principal, sous la section Produits, accédez à Réseau VPC, puis sélectionnez Pare-feu.
  2. Notez la présence de règles de pare-feu ICMP, internes, RDP et SSH existantes. Chaque projet Google Cloud commence avec le réseau par défaut et ces règles de pare-feu.
  3. Cliquez sur Créer une règle de pare-feu.
  4. Indiquez les valeurs suivantes et conservez les valeurs par défaut des autres paramètres :
Propriété Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom default-allow-health-check
Réseau par défaut
Cibles Tags cibles spécifiés
Tags cibles allow-health-check
Filtre source Plages IPv4
Plages IPv4 sources 130.211.0.0/22, 35.191.0.0/16
Protocoles et ports Protocoles et ports spécifiés, puis cochez tcp. Saisissez 80 pour le numéro de port.
Remarque : Veillez à renseigner les deux propriétés Plages IPv4 sources individuellement et à appuyer sur la touche ESPACE entre chaque valeur.
  1. Cliquez sur Créer.

Vous pouvez également utiliser la commande suivante dans la ligne de commande gcloud :

gcloud compute firewall-rules create default-allow-health-check --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:80 --source-ranges=130.211.0.0/22,35.191.0.0/16 --target-tags=allow-health-check
  1. De même, créez une règle de pare-feu pour autoriser la connexion SSH aux instances :
gcloud compute firewall-rules create allow-ssh --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:22 --source-ranges=0.0.0.0/0 --target-tags=allow-health-check

Cliquez sur Vérifier ma progression pour valider l'objectif. Configurer des règles de pare-feu pour autoriser le trafic HTTP et SSH vers les backends

Tâche 2 : Configurer les modèles d'instances et créer les groupes d'instances

Un groupe d'instances géré crée un groupe d'instances identiques à l'aide d'un modèle d'instance. Utilisez ces instances pour créer les backends de l'équilibreur de charge HTTP.

Configurer les modèles d'instances

Un modèle d'instance est une ressource qui peut vous servir à créer des instances de VM et des groupes d'instances gérés. Les modèles d'instances définissent le type de machine, l'image disque de démarrage, le sous-réseau, les étiquettes et d'autres propriétés d'instance.

Pour créer un modèle d'instance :

  1. Dans la console, dans le menu principal, sous la section Produits, accédez à Compute Engine, puis dans la section Machines virtuelles, sélectionnez Modèles d'instances.
  2. Dans l'en-tête de la page Modèles d'instances, cliquez sur Créer un modèle d'instance.
  3. Dans le champ Nom, saisissez lb-backend-template.
  4. Dans le champ Emplacement, sélectionnez Mondial.
  5. Dans Série, sélectionnez N1.
  6. Cliquez sur Options avancées.
  7. Dans l'onglet Gestion, faites défiler l'écran jusqu'à la section Automatisation et insérez le script suivant dans le champ Script de démarrage :
#! /bin/bash sudo apt-get update sudo apt-get install apache2 -y sudo a2ensite default-ssl sudo a2enmod ssl sudo su vm_hostname="$(curl -H "Metadata-Flavor:Google" \ http://metadata.google.internal/computeMetadata/v1/instance/name)" echo "Page served from: $vm_hostname" | \ tee /var/www/html/index.html
  1. Dans Options avancées, cliquez sur l'onglet Mise en réseau et saisissez allow-health-check sous la zone de texte Tags réseau.
  2. Indiquez les valeurs suivantes et conservez les valeurs par défaut des autres paramètres :
Propriété Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Réseau (sous "Interfaces réseau") par défaut
Sous-réseau (sous "Interfaces réseau") par défaut ()
Tags réseau allow-health-check
Remarque : Le tag réseau allow-health-check assure que les règles de pare-feu HTTP Health Check et SSH s'appliquent à ces instances.
  1. Cliquez sur Créer.

Attendez que le modèle d'instance soit créé.

Créer le groupe d'instances géré

Pour créer le groupe d'instances géré :

  1. Dans le menu de navigation Compute Engine, cliquez sur Groupes d'instances sous la section Groupe d'instances.

  2. Cliquez sur Créer un groupe d'instances.

  3. Assurez-vous que l'option Nouveau groupe d'instances géré (sans état) est sélectionnée.

  4. Indiquez les valeurs suivantes et conservez les valeurs par défaut des autres paramètres :

Propriété Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Nom lb-backend-example
Modèle d'instance lb-backend-template
Emplacement Zone unique
Région
Zone
Autoscaling Réglez le mode autoscaling sur Désactivé : ne pas effectuer d'autoscaling.
Nombre minimal d'instances 1
  1. Cliquez sur Créer.

Ajouter un port nommé au groupe d'instances

  • Pour votre groupe d'instances, définissez un service HTTP et mappez un nom de port sur le port correspondant en collant l'extrait de code suivant dans Cloud Shell :
gcloud compute instance-groups set-named-ports lb-backend-example \ --named-ports http:80 \ --zone {{{project_0.startup_script.lab_zone|lab_zone}}}

Le service d'équilibrage de charge transfère le trafic vers le port nommé.

Cliquez sur Vérifier ma progression pour valider l'objectif. Configurer les modèles d'instances et créer les groupes d'instances

Tâche 3 : Configurer l'équilibreur de charge HTTP

Dans cette section, vous allez configurer l'équilibreur de charge HTTP pour qu'il envoie le trafic à votre backend lb-backend-example.

Démarrer la configuration

  1. Dans la console, accédez au menu de navigation, cliquez sur Afficher tous les produits, puis sélectionnez Services réseau. Vous êtes automatiquement redirigé vers la page Équilibrage de charge.

  2. Cliquez sur Créer un équilibreur de charge.

  3. Vérifiez que l'option Équilibreur de charge d'application (HTTP/HTTPS) est sélectionnée, puis cliquez sur Suivant.

  4. Vérifiez que l'option Public (externe) est sélectionnée, puis cliquez sur Suivant.

  5. Vérifiez que l'option Recommandé pour les charges de travail à l'échelle mondiale est sélectionnée, puis cliquez sur Suivant.

  6. Vérifiez que l'option Équilibreur de charge d'application externe global est sélectionnée, puis cliquez sur Suivant.

  7. Sélectionnez Configurer.

  8. Dans la zone de texte Nom de l'équilibreur de charge, saisissez http-lb.

Configurer l'interface

  1. Cliquez sur Configuration de l'interface.
  2. Spécifiez les paramètres suivants et conservez les valeurs par défaut des autres paramètres :
Propriété Valeur (saisissez la valeur ou sélectionnez l'option spécifiée)
Protocole HTTP
Version IP IPv4
Adresse IP Éphémère
Port 80
  1. Cliquez sur OK.

Configurer le backend

Les services de backend dirigent le trafic entrant vers un ou plusieurs backends associés. Chaque backend est composé d'un groupe d'instances et de métadonnées sur sa capacité de livraison supplémentaire.

  1. Sur la page Créer un équilibreur de charge d'application externe global, cliquez sur Configuration du backend.
  2. Pour Services de backend et buckets backend, cliquez sur Créer un service de backend.
  3. Indiquez les valeurs suivantes et conservez les valeurs par défaut des autres paramètres :
Propriété Valeur (sélectionnez l'option spécifiée)
Nom http-backend
Protocole HTTP
Port nommé http
Groupe d'instances (sous "Nouveau backend") lb-backend-example
Numéros de ports 80
Mode cache Utiliser les paramètres d'origine basés sur les en-têtes Cache-Control
Vérification de l'état Créer une vérification d'état
  1. Sur la page Vérification d'état, indiquez les valeurs suivantes et conservez les valeurs par défaut des autres paramètres :

Bouton Créer une vérification d'état

  1. Indiquez les valeurs suivantes et conservez les valeurs par défaut des autres paramètres :
Propriété Valeur (sélectionnez l'option spécifiée)
Nom http-health-check
Protocole TCP
Port 80
Remarque : Les vérifications d'état déterminent les instances qui peuvent recevoir de nouvelles connexions.

Cette vérification de l'état HTTP sonde les instances toutes les cinq secondes, attend une réponse pendant cinq secondes, puis considère deux tentatives ayant réussi ou ayant échoué comme un état opérationnel ou non opérationnel, respectivement.
  1. Cliquez sur Créer pour créer la vérification d'état.
  2. Cochez la case Activer la journalisation.
  3. Assurez-vous que le taux d'échantillonnage est défini sur 1.
  4. Cliquez sur Créer pour créer le service de backend, puis sur OK.

Examiner et créer l'équilibreur de charge HTTP

Les règles d'hôte et de chemin d'accès déterminent la manière dont le trafic est dirigé. Par exemple, vous pouvez diriger le trafic vidéo vers un backend et le trafic statique vers un autre backend. Toutefois, vous n'apprendrez pas à configurer les règles d'hôte et de chemin d'accès dans cet atelier.

  1. Cliquez sur Vérifier et finaliser (facultatif).

Page de vérification et de finalisation de l'équilibreur de charge, qui inclut des informations dans plusieurs catégories, telles que les règles d'hôte et de chemin d'accès, et les services de backend.

  1. Vérifiez les services de backend et l'interface.
  2. Cliquez sur Créer.

Attendez jusqu'à ce que l'équilibreur de charge soit créé.

  1. Cliquez sur le nom de l'équilibreur de charge (http-lb).
  2. Notez l'adresse IPv4 de l'équilibreur de charge pour la prochaine tâche. Dans cet atelier, elle sera appelée [LB_IP_v4].

Cliquez sur Vérifier ma progression pour valider l'objectif. Configurer l'équilibreur de charge HTTP

Tester l'équilibreur de charge HTTP

Maintenant que vous avez créé l'équilibreur de charge HTTP pour vos backends, vérifiez que le trafic est transféré au service de backend.

  • Pour tester l'accès IPv4 à l'équilibreur de charge HTTP, ouvrez un nouvel onglet dans votre navigateur et accédez à http://[LB_IP_v4]. Veillez à remplacer [LB_IP_v4] par l'adresse IPv4 de l'équilibreur de charge.
Remarque : L'accès à l'équilibreur de charge HTTP peut prendre jusqu'à cinq minutes. Il se peut que des erreurs 404 ou 502 apparaissent. Réessayez jusqu'à ce que la page se charge.

Tâche 4 : Créer et déployer une clé de site pour un jeton de session reCAPTCHA et la page de test

L'intégration de reCAPTCHA Enterprise pour WAF et Google Cloud Armor présente les fonctionnalités suivantes : page de test reCAPTCHA, jetons d'action reCAPTCHA et jetons de session reCAPTCHA. Lors de cette tâche, vous allez implémenter la clé de site pour un jeton de session reCAPTCHA et la clé de site pour la page de test WAF reCAPTCHA.

Créer une clé de site pour un jeton de session reCAPTCHA et la page de test WAF

Avant de créer la clé de site pour un jeton de session et la clé de site pour la page de test, vérifiez que vous avez bien activé l'API reCAPTCHA Enterprise comme indiqué dans la section Activer l'API précédente.

Le code JavaScript reCAPTCHA définit un jeton de session reCAPTCHA en tant que cookie sur le navigateur de l'utilisateur final après l'évaluation. Le navigateur de l'utilisateur final associe le cookie et l'actualise tant que le code JavaScript reCAPTCHA reste actif.

  1. Créez la clé de site pour un jeton de session reCAPTCHA et activez la fonctionnalité WAF pour cette clé :
gcloud recaptcha keys create --display-name=test-key-name \ --web --allow-all-domains --integration-type=score --testing-score=0.5 \ --waf-feature=session-token --waf-service=ca

Le résultat de la commande ci-dessus vous donne la clé de site pour un jeton de session que vous avez créée. Prenez-en note pour l'utiliser plus tard dans cette tâche.

Vous définissez également le service WAF sur Cloud Armor pour activer l'intégration de Cloud Armor.

Remarque : Vous utilisez le type d'intégration score, qui est exploité dans la règle Cloud Armor. Vous pouvez également utiliser checkbox et invisible.

Vous définissez également un score de test lorsque vous créez la clé pour valider que les stratégies de gestion de bots créées avec Cloud Armor fonctionnent comme prévu. Comme il n'est pas facile de répliquer le trafic des bots, c'est un bon moyen de tester la fonctionnalité.
  1. Créez la clé de site de la page de test WAF reCAPTCHA et activez la fonctionnalité WAF pour cette clé. Vous pouvez utiliser la fonctionnalité de page de test reCAPTCHA pour rediriger les requêtes entrantes vers reCAPTCHA Enterprise afin de déterminer si chacune d'elles est potentiellement frauduleuse ou légitime. Ensuite, vous associez cette clé à la stratégie de sécurité Cloud Armor pour activer la question d'authentification manuelle. Dans cet atelier, cette clé est appelée CHALLENGE-PAGE-KEY dans les étapes suivantes.
gcloud recaptcha keys create --display-name=challenge-page-key \ --web --allow-all-domains --integration-type=INVISIBLE \ --waf-feature=challenge-page --waf-service=ca
  1. Accédez au menu de navigation (Icône du menu de navigation) > Sécurité > reCAPTCHA. Les clés que vous avez créées doivent s'afficher dans la liste Clés reCAPTCHA :

Implémenter une clé de site pour un jeton de session reCAPTCHA

  1. Dans le menu principal de la console Google Cloud, accédez à Compute Engine, puis sélectionnez Instances de VM. Localisez la VM dans votre groupe d'instances et cliquez sur SSH dans la colonne Connecter. Sur la page vers laquelle vous êtes redirigé, cliquez sur Autoriser.

Le lien SSH mis en surbrillance dans la colonne "Connecter"

  1. Accédez au répertoire racine du serveur Web et passez à l'utilisateur racine en saisissant le code suivant dans le shell SSH dans le navigateur :
cd /var/www/html/ sudo su
  1. Mettez à jour la page de destination index.html et intégrez la clé de site pour un jeton de session reCAPTCHA. La clé de site pour un jeton de session (que vous avez notée précédemment) est définie dans la section <head> de votre page de destination, comme suit :

src="https://www.google.com/recaptcha/enterprise.js?render=<SESSION_TOKEN_SITE_KEY>&waf=session" async defer>

N'oubliez pas de remplacer <SESSION_TOKEN_SITE_KEY> par le jeton de site avant d'exécuter la commande suivante :

echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<SESSION_TOKEN_SITE_KEY>&waf=session" async defer></script></head><body><h1>Main Page</h1><p><a href="/good-score.html">Visit allowed link</a></p><p><a href="/bad-score.html">Visit blocked link</a></p><p><a href="/median-score.html">Visit redirect link</a></p></body></html>' > index.html
  1. Créez trois autres pages d'exemple pour tester les stratégies de gestion de bots :
  • good-score.html
echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Congrats! You have a good score!!</h1></body></html>' > good-score.html
  • bad-score.html
echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>Sorry, You have a bad score!</h1></body></html>' > bad-score.html
  • median-score.html
echo '<!DOCTYPE html><html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1252"></head><body><h1>You have a median score that we need a second verification.</h1></body></html>' > median-score.html

Vérifiez que vous pouvez accéder à toutes les pages Web en les ouvrant dans votre navigateur. Veillez à remplacer [LB_IP_v4] par l'adresse IPv4 de l'équilibreur de charge :

  1. Ouvrez http://[LB_IP_v4]/index.html. Vous pouvez vérifier que l'implémentation de reCAPTCHA fonctionne lorsque "Protégé par reCAPTCHA" s'affiche en bas à droite de la page :

Logo reCAPTCHA

  1. Cliquez sur chacun des liens.

La page principale du navigateur, qui comprend trois liens

  1. Vérifiez que vous pouvez accéder à toutes les pages.

Le message : Félicitations ! Vous avez un bon score !

Cliquez sur Vérifier ma progression pour valider l'objectif. Déployer une clé de site pour un jeton de session reCAPTCHA et la page de test

Tâche 5 : Créer des règles de stratégie de sécurité Cloud Armor pour la gestion de bots

Dans cette section, vous allez utiliser les règles de gestion de bots Cloud Armor pour autoriser, refuser et rediriger les requêtes en fonction du score reCAPTCHA.

  1. Dans Cloud Shell, créez une stratégie de sécurité à l'aide de gcloud :
gcloud compute security-policies create recaptcha-policy \ --description "policy for bot management"
  1. Pour utiliser une question d'authentification manuelle de reCAPTCHA Enterprise afin de distinguer les clients humains des clients automatisés, associez la clé de site pour la question d'authentification manuelle WAF reCAPTCHA (CHALLENGE-PAGE-KEY) que vous avez créée précédemment à la stratégie de sécurité. Dans le script suivant, n'oubliez pas de remplacer "CHALLENGE-PAGE-KEY" par la clé que vous avez créée précédemment :
gcloud compute security-policies update recaptcha-policy \ --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
  1. Ajoutez une règle de gestion de bots pour autoriser le trafic si le chemin de l'URL correspond à "good-score.html" et si le score est supérieur à 0,4 :
gcloud compute security-policies rules create 2000 \ --security-policy recaptcha-policy\ --expression "request.path.matches('good-score.html') && token.recaptcha_session.score > 0.4"\ --action allow
  1. Ajoutez une règle de gestion de bots pour refuser le trafic si le chemin de l'URL correspond à bad-score.html et si le score est inférieur à 0,6 :
gcloud compute security-policies rules create 3000 \ --security-policy recaptcha-policy\ --expression "request.path.matches('bad-score.html') && token.recaptcha_session.score < 0.6"\ --action "deny-403"
  1. Ajoutez une règle de gestion de bots pour rediriger le trafic vers Google reCAPTCHA si le chemin de l'URL correspond à median-score.html et que le score est égal à 0,5 :
gcloud compute security-policies rules create 1000 \ --security-policy recaptcha-policy\ --expression "request.path.matches('median-score.html') && token.recaptcha_session.score == 0.5"\ --action redirect \ --redirect-type google-recaptcha
  1. Associez la stratégie de sécurité au service de backend http-backend :
gcloud compute backend-services update http-backend \ --security-policy recaptcha-policy --global
  1. Dans le menu principal de la console Google Cloud, accédez à Sécurité réseau, puis sélectionnez Règles Cloud Armor.

  2. Cliquez sur recaptcha-policy.

Votre stratégie doit se présenter comme suit :

Page à onglets &quot;Règles&quot; affichant plusieurs actions et leur priorité

Cliquez sur Vérifier ma progression pour valider l'objectif. Créer des règles de stratégie de sécurité Cloud Armor pour la gestion de bots

Tâche 6 : Valider la gestion de bots avec Cloud Armor

  1. Ouvrez un navigateur et saisissez l'URL http://[LB_IP_v4]/index.html. Accédez à Visit allowed link (Accéder au lien autorisé).

La page Web &quot;good-score&quot; qui affiche le texte &quot;Félicitations ! Vous avez un bon score !&quot;

  1. Ouvrez une nouvelle fenêtre en mode navigation privée pour vous assurer de commencer une nouvelle session.

  2. Saisissez l'URL http://[LB_IP_v4]/index.html et accédez à Visit blocked link (Accéder au lien bloqué). Une erreur HTTP 403 doit s'afficher :

Le message d&#39;erreur &quot;403 Forbidden&quot;

Remarque : Si vous ne voyez pas l'erreur 403 Forbidden, vous devrez peut-être attendre longtemps pour que les règles reCAPTCHA prennent effet. Veuillez patienter 5 minutes, puis réessayer. Assurez-vous d'utiliser une nouvelle fenêtre de navigation privée pour tester chaque lien.
  1. Ouvrez une nouvelle fenêtre en mode navigation privée pour vous assurer de commencer une nouvelle session.

  2. Saisissez l'URL http://[LB_IP_v4]/index.html et accédez à Visit redirect link (Accéder au lien de redirection). Vous devez voir la redirection vers Google reCAPTCHA et la page de la question d'authentification manuelle comme ci-dessous :

Boîte de dialogue Google reCAPTCHA

Remarque : Si l'interaction utilisateur réussit l'évaluation, reCAPTCHA Enterprise émet un cookie d'exemption. Le navigateur joint ce cookie d'exemption aux requêtes ultérieures de l'utilisateur au même site jusqu'à l'expiration du cookie. Par défaut, le cookie d'exemption expire au bout de trois heures. Remarque : Pour empêcher les actions abusives par des logiciels automatisés sur votre site, reCAPTCHA utilise un moteur d'analyse des risques avancé et des CAPTCHA adaptatifs. Cela permet simultanément à vos utilisateurs légitimes d'accéder facilement au site. Si l'algorithme estime que vous êtes un humain, il validera le reCAPTCHA sans que vous ayez à effectuer d'action supplémentaire. Si ce n'est pas le cas, il affichera diverses d'images que vous devrez ordonner avant de continuer. Par défaut, seuls les trafics les plus suspects seront invités à résoudre un captcha. Si aucune question d'authentification manuelle ne vous a été posée, vous pouvez toujours consulter les journaux de stratégies et vérifier que vous avez été exempté de ces questions.

Vérifier les journaux Cloud Armor

Explorez les journaux de la stratégie de sécurité pour vérifier que la gestion de bots a fonctionné comme prévu.

  1. Dans la console, accédez au menu de navigation > Sécurité du réseau > Règles Cloud Armor.
  2. Cliquez sur recaptcha-policy.
  3. Cliquez sur Journaux.
  4. Cliquez sur Afficher les journaux de stratégie.
  5. Voici la requête MQL (Monitoring Query Language). Copiez-la et collez-la dans l'éditeur de requête :
resource.type:(http_load_balancer) AND jsonPayload.enforcedSecurityPolicy.name:(recaptcha-policy)
  1. À présent, cliquez sur Exécuter la requête.
  2. Dans les résultats de la requête, recherchez une entrée de journal où la requête concerne http://[LB_IP_v4]/good-score.html. Développez jsonPayload.Expand enforcedSecurityPolicy.

La stratégie jsonPayload.Expand enforcedSecurityPolicy développée et la valeur html mise en évidence

Remarque : Si vous ne voyez pas d'entrées de journal, attendez quelques minutes que la stratégie se propage, actualisez les URL que vous avez utilisées précédemment, puis vérifiez à nouveau les journaux.
  1. Répétez l'opération pour http://[LB_IP_v4]/bad-score.html et http://[LB_IP_v4]/median-score.html.

La stratégie de sécurité développée et les données de requête pour le lien de mauvais score

La stratégie de sécurité développée et les données de requête pour le lien de score médian

Notez que configuredAction est défini sur ALLOW, DENY ou GOOGLE_RECAPTCHA et que le nom indique recaptcha-policy.

Remarque : Les stratégies de sécurité Cloud Armor créent des journaux que vous pouvez explorer pour déterminer quand le trafic est refusé, quand il est autorisé, ainsi que la source du trafic.

Cliquez sur Vérifier ma progression pour valider l'objectif. Valider la gestion de bots avec Cloud Armor

Félicitations !

Vous avez implémenté la gestion de bots avec Cloud Armor. Vous avez configuré un équilibreur de charge HTTP. Ensuite, vous avez créé et implémenté une clé de site pour un jeton de session reCAPTCHA sur une page Web. Vous avez également créé une clé de site pour la page de challenge. Vous avez configuré une stratégie de gestion de bots Cloud Armor et validé la façon dont elle gère les requêtes en fonction des règles. Vous avez exploré les journaux de la stratégie de sécurité pour identifier les raisons pour lesquelles le trafic était autorisé, bloqué ou redirigé.

Dernière modification du manuel : 17 juillet 2025

Dernier test de l'atelier : 17 juillet 2025

Copyright 2025 Google LLC. Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms d'entreprises et de produits peuvent être des marques des entreprises auxquelles ils sont associés.

Avant de commencer

  1. Les ateliers créent un projet Google Cloud et des ressources pour une durée déterminée.
  2. Les ateliers doivent être effectués dans le délai imparti et ne peuvent pas être mis en pause. Si vous quittez l'atelier, vous devrez le recommencer depuis le début.
  3. En haut à gauche de l'écran, cliquez sur Démarrer l'atelier pour commencer.

Utilisez la navigation privée

  1. Copiez le nom d'utilisateur et le mot de passe fournis pour l'atelier
  2. Cliquez sur Ouvrir la console en navigation privée

Connectez-vous à la console

  1. Connectez-vous à l'aide des identifiants qui vous ont été attribués pour l'atelier. L'utilisation d'autres identifiants peut entraîner des erreurs ou des frais.
  2. Acceptez les conditions d'utilisation et ignorez la page concernant les ressources de récupération des données.
  3. Ne cliquez pas sur Terminer l'atelier, à moins que vous n'ayez terminé l'atelier ou que vous ne vouliez le recommencer, car cela effacera votre travail et supprimera le projet.

Ce contenu n'est pas disponible pour le moment

Nous vous préviendrons par e-mail lorsqu'il sera disponible

Parfait !

Nous vous contacterons par e-mail s'il devient disponible

Un atelier à la fois

Confirmez pour mettre fin à tous les ateliers existants et démarrer celui-ci

Utilisez la navigation privée pour effectuer l'atelier

Ouvrez une fenêtre de navigateur en mode navigation privée pour effectuer cet atelier. Vous éviterez ainsi les conflits entre votre compte personnel et le compte temporaire de participant, qui pourraient entraîner des frais supplémentaires facturés sur votre compte personnel.