Présentation de l’atelier
Bienvenue à l’atelier défi AWS Web Application Firewall. AWS WAF est un pare-feu d’application web qui aide à protéger les applications web ou les API contre les robots et les exploits web les plus courants susceptibles d’affecter la disponibilité, de compromettre la sécurité ou de provoquer une surconsommation des ressources. AWS WAF vous permet de contrôler la façon dont le trafic atteint vos applications en créant des règles de sécurité qui gèrent le trafic des robots et bloquent les formes d’attaque courantes, comme l’injection SQL (SQLi) ou le scripting intersite (XSS). Vous pouvez également personnaliser des règles afin de filtrer des modèles de trafic spécifiques.
Dans cet atelier, vous êtes un ingénieur en sécurité qui travaille pour une entreprise qui vient de lancer un magasin de jus de fruits en ligne. Il vous est demandé de rechercher et d’atténuer les vulnérabilités SQLi ou XSS dans l’application web de l’entreprise.
Contrairement aux ateliers traditionnels qui incluaient des instructions détaillées et étape par étape, cet atelier défi vous pose des objectifs sans détailler la marche à suivre. Vous devez appliquer vos connaissances sur la sécurité et sur les exploits web courants afin d’effectuer des séries de tâches.
Dans la première série de tâches, vous découvrez une application web non sécurisée et vous êtes invité à utiliser des attaques par injection SQL ou scripting intersite pour l’exploiter. Si vous êtes bloqué, développez les menus Indice et Solution pour obtenir de l’aide pour vos attaques.
Dans la deuxième série de tâches, vous déployez et configurez AWS WAF avec un ensemble de règles gérées et personnalisées afin d’atténuer les attaques que vous avez lancées.
Objectifs
À la fin de cet atelier, vous saurez :
- Déployer des attaques SQLi et XSS simples afin de compromettre une application web.
- Créer une liste de contrôle d’accès web (ACL web) dans AWS WAF et l’associer à un Application Load Balancer.
- Appliquer des groupes de règles gérées par AWS à une ACL web.
- Appliquer des règles personnalisées à une ACL web.
Connaissances techniques préalables
Une connaissance approfondie de SQL ainsi qu’une solide compréhension de la sécurité réseau, des protocoles web courants et du framework RESTful sont nécessaires pour cet atelier. Vous devez également savoir comment travailler dans un environnement Windows Server grâce à un Bureau à distance.
Configuration système requise
Cet atelier nécessite :
- Google Chrome
Durée
Cet atelier dure environ 60 minutes.
Signification des icônes
De nombreuses icônes sont utilisées dans cet atelier pour attirer l’attention sur différents types d’instructions et de remarques. La liste suivante explique la signification de chaque icône :
- Commande : une commande que vous devez exécuter.
- Sortie attendue : un exemple de sortie que vous pouvez utiliser pour vérifier la sortie d’une commande ou d’un fichier modifié.
- Remarque : un indice, une directive ou un conseil important.
- En savoir plus : un emplacement où trouver davantage d’informations.
- Attention : information présentant un intérêt spécial ou d’une importance particulière (pas assez importante pour causer des problèmes avec l’équipement ou les données si vous n’y faites pas attention, mais qui pourrait vous amener à devoir répéter certaines étapes).
- AVERTISSEMENT : une action qui est irréversible et susceptible d’avoir une incidence sur l’échec d’une commande ou d’un processus (y compris les avertissements concernant les configurations ne pouvant pas être modifiées après leur mise en place).
- Envisagez ceci : un moment de pause pour réfléchir à la façon dont vous pourriez appliquer un concept dans votre propre environnement ou pour entamer une conversation sur le sujet en question.
- Sécurité : une opportunité d’intégrer les bonnes pratiques en matière de sécurité.
- Indice : un indice relatif à une question ou à un défi.
- Réponse : une réponse à une question ou à un défi.
Environnement de l’atelier
Le diagramme suivant illustre l’architecture de base de l’environnement de l’atelier :
Description de l’image : le diagramme précédent représente un flux de données. Le trafic part d’une instance EC2, appelée Pen Testing Host, passe par AWS WAF, puis arrive à une distribution Cloudfront située devant un Application Load Balancer. L’ALB transmet les requêtes à un groupe Autoscaling.
La liste suivante détaille les principales ressources du diagramme :
- Un VPC avec deux sous-réseaux privés et un sous-réseau public répartis sur deux zones de disponibilité.
- Un Application Load Balancer interne situé en face d’un groupe Autoscaling avec deux nœuds.
- Une distribution Cloudfront en face de l’Application Load Balancer.
- Le trafic passe par AWS WAF avant d’atteindre la distribution Cloudfront.