Gestion des bots avec Google Cloud Armor + reCAPTCHA

1. Introduction

L'équilibrage de charge HTTP(S) Google Cloud est déployé à la périphérie du réseau Google dans les points of presence (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 du déni de service distribué et du pare-feu d'application Web (WAF) de Google. Cloud Armor est étroitement lié à 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 protège votre site contre le spam et les utilisations abusives. Il s'appuie sur l'API reCAPTCHA existante, qui utilise des techniques avancées d'analyse des risques pour distinguer les humains des robots. La gestion des bots Google Cloud Armor offre une solution de bout en bout intégrant la détection et l'évaluation des bots reCAPTCHA Enterprise à l'application forcée par Cloud Armor à la périphérie du réseau afin de 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. Ensuite, vous apprendrez à configurer une clé de site de jeton de session reCAPTCHA et à l'intégrer à votre site Web. Vous apprendrez également à configurer la redirection vers le test manuel reCAPTCHA Enterprise. Nous configurerons ensuite une règle de gestion des bots Cloud Armor pour montrer comment la détection des bots protège votre application contre le trafic de bots malveillants.

8b46e6728996bc0c.png

Points abordés

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

Ce dont vous aurez besoin

  • Connaissances de base sur la mise en réseau et le protocole HTTP
  • Connaissances de base sur la ligne de commande Unix/Linux

2. Préparation

Configuration de l'environnement au rythme de chacun

  1. Connectez-vous à la console Google Cloud, puis créez un projet ou réutilisez un projet existant. (Si vous ne possédez pas encore de compte Gmail ou Google Workspace, vous devez en créer un.)

b35bf95b8bf3d5d8.png

a99b7ace416376c4.png

bd84a6d3004737c5.png

  • Le nom du projet est le nom à afficher pour les participants au projet. Il s'agit d'une chaîne de caractères qui n'est pas utilisée par les API Google, et que vous pouvez modifier à tout moment.
  • L'ID du projet doit être unique sur l'ensemble des projets Google Cloud et doit être immuable (vous ne pouvez pas le modifier une fois que vous l'avez défini). Cloud Console génère automatiquement une chaîne unique dont la composition importe peu, en général. Dans la plupart des ateliers de programmation, vous devrez référencer l'ID du projet (généralement identifié comme PROJECT_ID), donc s'il ne vous convient pas, générez-en un autre au hasard ou définissez le vôtre, puis vérifiez s'il est disponible. Il est ensuite "gelé" une fois le projet créé.
  • La troisième valeur est le numéro de projet, utilisé par certaines API. Pour en savoir plus sur ces trois valeurs, consultez la documentation.
  1. Vous devez ensuite activer la facturation dans Cloud Console afin d'utiliser les ressources/API Cloud. L'exécution de cet atelier de programmation est très peu coûteuse, voire sans frais. Pour arrêter les ressources afin d'éviter qu'elles ne vous soient facturées après ce tutoriel, suivez les instructions de nettoyage indiquées à la fin de l'atelier. Les nouveaux utilisateurs de Google Cloud peuvent participer au programme d'essai sans frais pour bénéficier d'un crédit de 300 $.

Démarrer Cloud Shell

Bien que Google Cloud puisse être utilisé à distance depuis votre ordinateur portable, nous allons nous servir de Google Cloud Shell pour cet atelier de programmation, un environnement de ligne de commande exécuté dans le cloud.

Depuis la console GCP, cliquez sur l'icône Cloud Shell de la barre d'outils située dans l'angle supérieur droit :

55efc1aaa7a4d3ad.png

Le provisionnement et la connexion à l'environnement prennent quelques instants seulement. Une fois l'opération terminée, le résultat devrait ressembler à ceci :

7ffe5cbb04455448.png

Cette machine virtuelle contient tous les outils de développement nécessaires. Elle comprend un répertoire d'accueil persistant de 5 Go et s'exécute sur Google Cloud, ce qui améliore nettement les performances du réseau et l'authentification. Vous pouvez réaliser toutes les activités de cet atelier dans un simple navigateur.

Avant de commencer

Dans Cloud Shell, assurez-vous que l'ID de votre projet est configuré.

gcloud config list project
gcloud config set project [YOUR-PROJECT-NAME]
PROJECT_ID=[YOUR-PROJECT-NAME]
echo $PROJECT_ID

Activer les API

Activer 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

3. Configurer des règles de pare-feu pour autoriser le trafic HTTP et SSH vers les backends

Configurez des règles de pare-feu pour autoriser le trafic HTTP vers les backends à partir des vérifications d'état de Google Cloud et de l'équilibreur de charge. Configurez également une règle de pare-feu pour autoriser SSH dans les instances.

Nous utiliserons le réseau VPC default (par défaut) créé dans votre projet. Créez 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.

  1. Dans la console Cloud, accédez au menu de navigation ( mainmenu.png) > Réseau VPC > Pare-feu.

131fb495c9242335.png

  1. 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.
  2. Cliquez sur Créer une règle de pare-feu.
  3. 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

autoriser-vérification-état

Filtre source

IP Ranges (Plages d'adresses IP)

Source IP ranges (Plages d'adresses IP 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

  1. Cliquez sur Créer.

Si vous utilisez la ligne de commande gcloud, Voici la commande :

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 l'accès 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

4. Configurer des modèles d'instance et créer des groupes d'instances gérés

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

Configurer les modèles d'instance

Un modèle d'instance est une ressource qui vous permet de créer des instances de VM et des groupes d'instances gérés. Les modèles d'instance 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. Créez un modèle d'instance comme indiqué ci-dessous.

  1. Dans la console Cloud, accédez au menu de navigation ( mainmenu.png) > Compute Engine > Modèles d'instance, puis cliquez sur Créer un modèle d'instance.
  2. Dans le champ Nom, saisissez lb-backend-template.
  3. Dans Série, sélectionnez N1.
  4. Cliquez sur Mise en réseau, disques, sécurité, gestion , location unique.

1d0b7122f4bb410d.png

  1. Accédez à la section Gestion 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 vm_hostname="$(curl -H "Metadata-Flavor:Google" \
http://169.254.169.254/computeMetadata/v1/instance/name)"
sudo echo "Page served from: $vm_hostname" | \
tee /var/www/html/index.html
  1. Cliquez sur l'onglet Mise en réseau, puis ajoutez les tags réseau allow-health-check.
  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)

default (Sous-réseau par défaut) (us-east1)

Tags réseau

autoriser-vérification-état

  1. Cliquez sur Créer.
  2. Attendez que le modèle d'instance soit créé.

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

  1. Toujours sur la page Compute Engine, cliquez sur Groupes d'instances dans le menu de gauche.

ed419061ad2b982c.png

  1. Cliquez sur Créer un groupe d'instances. Sélectionnez Nouveau groupe d'instances géré (sans état).
  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)

Nom

exemple-backend-lb

Lieu

Zone unique

Région

us-east1

Zone

us-east1-b

Modèle d'instance

lb-backend-template

Autoscaling

Ne pas procéder à un autoscaling

Number of 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. Le service d'équilibrage de charge transfère le trafic vers le port nommé.

gcloud compute instance-groups set-named-ports lb-backend-example \
    --named-ports http:80 \
    --zone us-east1-b

5. Configurer l'équilibreur de charge HTTP

Configurez l'équilibreur de charge HTTP pour qu'il envoie du trafic vers votre backend lb-backend-example: :

Démarrer la configuration

  1. Dans la console Cloud, accédez au menu de navigation ( mainmenu.png) > Services réseau > Équilibrage de charge, puis cliquez sur Créer un équilibreur de charge.
  2. Sous Équilibrage de charge HTTP(S), cliquez sur Démarrer la configuration.

4f8b8cb10347ecec.png

  1. Sélectionnez D'Internet vers mes VM, Équilibreur de charge HTTP(S) classique, puis cliquez sur Continuer.
  2. Définissez le paramètre Nom sur http-lb.

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. 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é

HPT

Groupe d'instances

exemple-backend-lb

Numéros de ports

80

  1. Cliquez sur OK.
  2. Cliquez sur Ajouter un backend.
  3. Dans le champ Vérification d'état, sélectionnez Créer une vérification d'état.

168a9ba1062b1f45.png

  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

dc45bc726bb4dfad.png

  1. Cliquez sur Enregistrer.
  2. Cochez la case Activer la journalisation.
  3. Définissez le taux d'échantillonnage sur 1:

c8f884fa4a8cd50.png

  1. Cliquez sur Créer pour créer le service de backend.

1fd2ad21b1d32a95.png

Configurer l'interface

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 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.

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

  1. Cliquez sur Vérifier et finaliser.

478e5e51057af3a3.png

  1. Vérifiez les services de backend et l'interface.
  2. Cliquez sur Créer.
  3. Attendez jusqu'à ce que l'équilibreur de charge soit créé.
  4. Cliquez sur le nom de l'équilibreur de charge (http-lb).
  5. Notez l'adresse IPv4 de l'équilibreur de charge pour la tâche suivante. Nous l'appellerons [LB_IP_v4].

6. 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 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.

7. Créer et déployer un jeton de session reCAPTCHA et une clé de site de page de challenge

L'intégration de reCAPTCHA Enterprise pour WAF et Google Cloud Armor offre les fonctionnalités suivantes: page de test reCAPTCHA, jetons d'action reCAPTCHA et jetons de session reCAPTCHA. Dans cet atelier de programmation, nous implémenterons la clé de site du jeton de session reCATCHA et le site de page de challenge WAF reCAPTCHA.

Créez un jeton de session reCAPTCHA et une clé de site de page de challenge WAF.

Avant de créer la clé de site du jeton de session et la clé de site de la page de test, vérifiez que vous avez activé l'API reCAPTCHA Enterprise, comme indiqué dans la section "Activer l'API" au début.

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 du jeton de session reCAPTCHA et activez la fonctionnalité WAF pour cette clé. Nous définirons également le service WAF sur Cloud Armor pour permettre l'intégration de Cloud Armor.
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
  1. Le résultat de la commande ci-dessus vous indique la clé créée. Prenez-en note, car nous l'ajouterons à votre site Web à l'étape suivante.
  2. Créez la clé de site de la page de test WAF reCAPTCHA et activez la fonctionnalité WAF pour la 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 chaque requête est potentiellement frauduleuse ou légitime. Nous associerons ultérieurement cette clé à la stratégie de sécurité Cloud Armor pour activer la vérification manuelle. Nous appellerons cette clé 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 ( mainmenu.png) > Sécurité > reCAPTCHA Enterprise. Vous devriez voir les clés que vous avez créées sous "Clés d'entreprise" :

4e2567aae0eb92d7.png

Implémenter la clé de site de jeton de session reCAPTCHA

  1. Accédez au menu de navigation ( mainmenu.png) > Compute Engine > Instances de VM. Recherchez la VM dans votre groupe d'instances et connectez-vous en SSH.

6d7b0fd12a667b5f.png

  1. Allez dans le répertoire racine de webserver et remplacez user par root.
@lb-backend-example-4wmn:~$ cd /var/www/html/
@lb-backend-example-4wmn:/var/www/html$ sudo su
  1. Mettez à jour la page index.html de destination et intégrez la clé de site du jeton de session reCAPTCHA. La clé de site du jeton de session est définie dans la section "head" de votre page de destination, comme suit :

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

N'oubliez pas de remplacer le jeton avant de mettre à jour le fichier index.html, comme indiqué ci-dessous :

root@lb-backend-example-4wmn:/var/www/html# echo '<!doctype html><html><head><title>ReCAPTCHA Session Token</title><script src="https://www.google.com/recaptcha/enterprise.js?render=<REPLACE_TOKEN_HERE>&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 exemples de pages pour tester les règles de gestion des bots :
  • bon-score.html
root@lb-backend-example-4wmn:/var/www/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
root@lb-backend-example-4wmn:/var/www/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.
root@lb-backend-example-4wmn:/var/www/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
  1. 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.
  • Ouvrez http://[LB_IP_v4]/index.html. Vous pourrez vérifier que l'implémentation du reCAPTCHA fonctionne correctement si vous voyez la mention "protégé par reCAPTCHA" en bas à droite de la page.

d695ad23d91ae4e9.png

  • Cliquez sur chacun des liens.

4a2ad1b2f10b4c86.png

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

481f63bf5e6f244.png

8. Créer des règles de stratégie de sécurité Cloud Armor pour la gestion des bots

Dans cette section, vous allez utiliser les règles de gestion des bots Cloud Armor pour autoriser, refuser et rediriger les requêtes en fonction du score reCAPTCHA. N'oubliez pas que lorsque vous avez créé la clé de site du jeton de session, vous avez défini un score de test de 0,5.

  1. Dans Cloud Shell(pour savoir comment utiliser Cloud Shell, consultez la section Démarrer Cloud Shell sous Configuration et conditions requises), créez une règle de sécurité via gcloud:
gcloud compute security-policies create recaptcha-policy \
    --description "policy for bot management"
  1. Pour utiliser la vérification manuelle reCAPTCHA Enterprise afin de faire la distinction entre les clients humains et automatisés, associez la clé du site de test WAF reCAPTCHA que nous avons créée pour la vérification manuelle à la stratégie de sécurité. Remplacez "CHALLENGE-PAGE-KEY" par la clé que nous avons créée :
gcloud compute security-policies update recaptcha-policy \
   --recaptcha-redirect-site-key "CHALLENGE-PAGE-KEY"
  1. Ajoutez une règle de gestion des bots pour autoriser le trafic si le chemin de l'URL correspond à good-score.html et obtient un score 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 des bots pour refuser le trafic si le chemin de l'URL correspond à bad-score.html et affiche un score 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 des bots pour rediriger le trafic vers Google reCAPTCHA si le chemin de l'URL correspond à "middle-score.html" et à un score é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 la console, accédez au menu de navigation > Sécurité du réseau > Cloud Armor.
  2. Cliquez sur "recaptcha-policy". La règle doit se présenter comme suit:

74852618aaa96786.png

9. Valider la gestion des bots avec Cloud Armor

  1. Ouvrez un navigateur et saisissez l'URL http://[LB_IP_v4]/index.html. Accédez à "Accéder au lien d'autorisation". Vous devriez être autorisé à passer par :

edf3e6ca238d2ee7.png

  1. Ouvrez une nouvelle fenêtre en mode navigation privée pour vous assurer qu'une nouvelle session a bien été ouverte. Saisissez l'URL http://[LB_IP_v4]/index.html et accédez à la section "Consulter le lien bloqué". Vous devriez recevoir une erreur HTTP 403,

ecef5655b291dbb0.png

  1. Ouvrez une nouvelle fenêtre en mode navigation privée pour vous assurer qu'une nouvelle session a bien été ouverte. Saisissez l'URL http://[LB_IP_v4]/index.html et accédez à "Lien de redirection des visites". Vous devriez voir la redirection vers Google reCAPTCHA et la page de test manuel comme ci-dessous :

53ed2b4067b55436.png

Vérifier les journaux Cloud Armor

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

  1. Dans la console, accédez à Menu de navigation > Sécurité du réseau > Cloud Armor.
  2. Cliquez sur recaptcha-policy.
  3. Cliquez sur Journaux.

46fd825d8506d355.png

  1. Cliquez sur Afficher les journaux de stratégie.
  2. Vous trouverez ci-dessous la requête MQL(Monitoring Query Language), que vous pouvez copier et coller 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. Recherchez une entrée de journal dans les résultats de la requête où la requête porte sur http://[LB_IP_v4]/good-score.html. Développer jsonPayload.Extend restrictedSecurityPolicy.

b7b1712642cf092b.png

  1. Répétez la même procédure pour http://[LB_IP_v4]/bad-score.html et http://[LB_IP_v4]/median-score.html.

c28f96d83056725a.png

8c4803d75a77142c.png

Notez que la valeur setupAction est définie sur ALLOW, DENY ou GOOGLE_RECAPTCHA et que son nom est recaptcha-policy.

Félicitations ! Vous avez terminé cet atelier sur la gestion des bots avec Cloud Armor.

©2020 Google LLC Tous droits réservés. Google et le logo Google sont des marques de Google LLC. Tous les autres noms de société et de produit peuvent être des marques des sociétés auxquelles ils sont associés.

10. Nettoyage de l'atelier

  1. Accédez à Sécurité du réseau >> Cloud Armor >> %POLICY NAME%, puis sélectionnez "Delete" (Supprimer).

2646f9c1df093f90.png

  1. Accédez à Mise en réseau >> Services réseau > Équilibrage de charge. Sélectionnez l'équilibreur de charge que vous avez créé et cliquez sur "Supprimer".

8ad4f55dc06513f7.png

Sélectionnez le service de backend et la vérification d'état comme ressources supplémentaires à supprimer :

f6f02bb56add6420.png

  1. Accédez au menu de navigation ( mainmenu.png) > Compute Engine > Groupes d'instances. Sélectionnez le groupe d'instances géré, puis cliquez sur "Supprimer".

2116b286954fd6.png

Confirmez la suppression en saisissant "delete" dans la zone de texte.

Attendez que le groupe d'instances géré soit supprimé. Cette action supprime également l'instance du groupe. Vous ne pouvez supprimer les modèles qu'après la suppression du groupe d'instances.

  1. Accédez à Modèles d'instance dans le volet de gauche**.** Sélectionnez le modèle d'instance, puis cliquez sur "Supprimer".
  2. Accédez au menu de navigation ( mainmenu.png) > Réseau VPC > Pare-feu. Sélectionnez les règles default-allow-health-check et allow-ssh, puis cliquez sur "Delete" (Supprimer).
  3. Accédez au menu de navigation ( mainmenu.png) > Sécurité > reCAPTCHA Enterprise. Sélectionnez les clés que nous avons créées et supprimez-les. Confirmez la suppression en saisissant "DELETE" dans la zone de texte.

e71ecd11baf262ca.png

11. Félicitations !

Vous avez implémenté la gestion des bots avec Cloud Armor. Vous avez configuré un équilibreur de charge HTTP. Ensuite, vous avez créé et implémenté la clé de site de jeton de session reCAPTCHA sur une page Web. Vous avez également appris à créer une clé de site pour une page de challenge. Vous avez configuré la stratégie de gestion des bots Cloud Armor et validé la façon dont ils traitent les requêtes en fonction de ces règles. Vous avez pu explorer les journaux de la stratégie de sécurité pour déterminer pourquoi le trafic était autorisé, bloqué ou redirigé.

Points abordés

  • Configurer des modèles d'instance et créer des groupes d'instances gérés
  • Configurer un équilibreur de charge HTTP
  • Créer une règle de gestion des bots Cloud Armor
  • Créer et implémenter une clé de site de jeton de session reCAPTCHA.
  • Créer et implémenter la clé de site de page de test reCAPTCHA.
  • Comment vérifier que la stratégie de gestion des bots fonctionne comme prévu

Étapes suivantes

  • Essayez de configurer des jetons d'action reCAPTCHA.