Exercice - Tester votre instance Front Door et votre stratégie WAF

Effectué

La dernière étape consiste à tester l’environnement Front Door et à vérifier si les règles de routage sont configurées correctement pour diriger le trafic web. Nous voulons également tester la disponibilité des serveurs web d'origine et vérifier si les contenus mis en cache sont toujours accessibles lorsque les serveurs sont en panne.

Tester la distribution du trafic pour l’application web de cartes grises de véhicules

  1. Dans Cloud Shell, exécutez la commande suivante pour générer l’URL de votre point de terminaison Front Door.

    echo https://$(az afd endpoint show \
        --profile-name vehicleFrontDoor \
        --endpoint-name $endpoint \
        --resource-group $RG \
        --query hostName \
        --output tsv)
    
  2. Dans un navigateur web, accédez au site web en utilisant l’URL retournée par la commande précédente. Cette URL est l’adresse du point de terminaison que vous avez créé dans le profil Front Door. Vérifiez que la page d’accueil de l’application web d’obtention des cartes grises s’affiche. Remarquez que le nom du serveur web est indiqué sur la page pour vous permettre de savoir quelle instance répond à votre demande.

    Screenshot of web server 1 responding to web browser request.

  3. Actualisez le navigateur en appuyant sur F5 plusieurs fois sur votre clavier. Notez que le nom du serveur bascule entre webServer1 et webServer2. Les deux serveurs web se trouvent dans la même région et ont une latence similaire. Par conséquent, les deux serveurs ont des chances égales de traiter vos demandes.

    Screenshot of web server 2 responding to web browser request.

Tester le routage

Nous allons maintenant tester la configuration du routage vers chaque site web. Vous avez configuré une route qui fait en sorte que /VehicleRegistration/ et /VehicleRegistration/* soient dirigés vers le point de terminaison privé pour les serveurs web. Pour les requêtes qui correspondent à /LicenseRenewal/ et /LicenseRenewal/*, vous avez configuré un routage vers l’instance d’App Service. Dans ce labo, la communication entre votre instance Azure Front Door et les ressources d’origine est privée, car vous utilisez le service Private Link pour établir la connectivité.

  1. Pour tester le routage vers d’autres pages du site web de cartes grises de véhicules, sélectionnez Register a Vehicle.

    Screenshot of web server 1 register a vehicle link.

  2. Notez que l’URL a changé pour contenir le chemin /VehicleRegistration/Create. Étant donné que le modèle de correspondance est /VehicleRegistration/*, le caractère générique établit une correspondance avec tout ce qui se trouve après /, et la requête est routée vers les serveurs web hébergeant le site web de cartes grises de véhicules.

    Screenshot of vehicle registration page.

  3. Nous allons maintenant tester le routage vers le site web de renouvellement de permis. Remplacez le chemin /VehicleRegistration/Create par /LicenseRenewal/. Ce chemin route vers l’origine App Service.

    Screenshot of license renewal home page.

  4. Sélectionnez Renew a License et observez que le chemin est remplacé par /LicenseRenewal/Create. Tout comme la route pour la demande de carte grise, il existe un modèle de correspondance /LicenseRenewal/* qui un caractère générique pour mettre en correspondance tout ce qui suit / et diriger ce trafic vers l’instance d’App Service.

    Screenshot of renew a license page.

Avec cette configuration, vous pouvez diriger vos utilisateurs vers les deux sites web via Front Door. Vous pouvez configurer un domaine personnalisé qui peut facilement être mémorisé, et diriger les utilisateurs vers la page correspondant à leurs besoins. Avec Front Door, vous pouvez développer de façon à héberger plusieurs sites web, activer la mise en cache pour améliorer les performances des ressources statiques, et fournir une application web hautement scalable et disponible.

Tester la stratégie de sécurité

  1. Téléchargez et installez Go pour Windows. Utilisez tous les paramètres par défaut pendant l’installation. Vous aurez besoin de Go pour exécuter l’application GoTestWAF.

  2. Téléchargez et installez Git pour Windows. Utilisez tous les paramètres par défaut pendant l’installation. Vous aurez besoin de Git pour cloner le dépôt gotestwaf sur votre ordinateur local.

  3. Une fois que vous avez installé Go et Git pour Windows, ouvrez Git Bash et exécutez git clone https://github.com/wallarm/gotestwaf.git pour télécharger les fichiers GoTestWAF sur votre ordinateur local.

    Screenshot of cloning the gotestwaf repository with Git.

  4. Basculez vers le répertoire gotestwaf avec la commande cd gotestwaf.

    Screenshot of changing directory to gotestwaf folder with Git.

  5. Exécutez maintenant la commande suivante pour tester si la stratégie de sécurité fonctionne. Remplacez `<EVALUATE_SECURITY_SOLUTION_URL> par l’URL du point de terminaison au début de cette unité.

    go run ./cmd --url=<EVALUATED_SECURITY_SOLUTION_URL> --verbose
    
  6. Si vous avez configuré correctement les paramètres de stratégie WAF, vous devriez voir un Baseline attack status code: 999 dans la sortie. Il s’agit du même code d’état de réponse que celui que vous avez configuré si WAF bloque une requête.

    Screenshot of running GoTestWAF with Git and displaying 999 status code.

Vous disposez maintenant d’une application web entièrement fonctionnelle protégée par une stratégie WAF (Web Application Firewall).