Comment sécuriser les applications Web avec AWS WAF?



Cet article vous expliquera comment vous pouvez sécuriser les applications Web avec AWS WAF et le suivra avec une démonstration pratique.

Cet article vous expliquera comment vous pouvez sécuriser les applications Web avec WAF et suivi par une démonstration pratique. Les pointeurs suivants seront traités dans cet article,

Alors commençons alors,





Passez à cet article sur «Comment sécuriser une application Web avec AWS WAF?»

Premiers pas avec quelques principes de base

AWS fournit des services tels que EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) pour créer des applications utiles et sophistiquées rapidement et avec moins de CAPEX (dépenses en capital). Lors de la création de ces applications, il est tout aussi important de sécuriser l'application et de protéger les données. Si elles ne sont pas correctement sécurisées, les données de l'application peuvent tomber entre de mauvaises mains, comme dans le cas de la récente Incident de Capital One .



Capital One hébergeait une application Web sur EC2 et elle n'était pas correctement sécurisée. Un ancien employé d'AWS a pu exploiter cette vulnérabilité et télécharger des tonnes de données clients depuis S3. Plus tard, il a été constaté que les données de 30 autres organisations avaient également été téléchargées à partir d'AWS. Donc, pour le souligner encore une fois, il ne suffit pas d’architecturer et de concevoir une application, mais il est tout aussi important de sécuriser une application.

Capital One utilisé AWS WAF (pare-feu d'application Web) pour protéger l'application Web, mais elle n'a pas été configurée correctement à cause de laquelle le pirate a pu obtenir l'accès aux données dans S3 et les télécharger. Dans cet article, nous explorerons comment utiliser et configurer AWS WAF pour se protéger contre les attaques Web courantes telles que l'injection SQL, XSS (Cross Site Scripting), etc. AWS WAF doit être configuré avec Équilibreur de charge d'application , CloudFront ou API Gateway. Dans ce scénario, nous utiliserons l'équilibreur de charge d'application. Toute demande du client via le navigateur passera par AWS WAF, puis par l'Application Load Balancer et enfin par l'application Web sur l'EC2. AWS WAF peut être utilisé pour bloquer la requête malveillante des pirates en utilisant un ensemble de règles et de conditions.

Image - Applications Web sécurisées avec AWS WAF - Edureka

Passez à cet article sur «Comment sécuriser une application Web avec AWS WAF?»



Séquence d'étapes pour démarrer avec AWS WAF

Étape 1: Création d'une application web vulnérable,

La première étape consiste à créer une application Web vulnérable aux attaques SSRF (Server Side Request Forgery) comme mentionné dans ce Blog sur la façon dont l'attaque de Capital One s'est produite. Ce blog a la séquence d'étapes pour:

  1. Créer un EC2
  2. Installez le logiciel requis pour créer l'application Web avec la vulnérabilité SSRF
  3. Créer un rôle IAM avec des autorisations S3 en lecture seule
  4. Attacher le rôle IAM à EC2
  5. Enfin, exploitez la vulnérabilité SSRF pour obtenir les informations d'identification de sécurité liées au rôle IAM.

Une fois la séquence d'étapes terminée dans le blog mentionné, remplacez 5.6.7.8 par l'adresse IP publique de l'EC2 dans l'URL ci-dessous et ouvrez-la dans le navigateur. Les informations d'identification de sécurité associées au rôle IAM doivent être affichées dans le navigateur comme indiqué ci-dessous. C'est ainsi que Capital One a été piraté. Avec les informations d'identification de sécurité en main, le pirate a pu accéder à d'autres services AWS comme S3 pour télécharger les données.

http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Étape 2: Création de l'équilibreur de charge d'application

AWS WAF ne peut pas être directement associé à une application Web. Mais, ne peut être associé qu'à Application Load Balancer, CloudFront et API Gateway. Dans ce didacticiel, nous créerions le Equilibreur de charge d'application et association de l'AWS WAF avec le même.

Étape 2a: Un groupe cible est une collection d'instances EC2 et doit être créé avant de créer l'équilibreur de charge d'application. Dans la console de gestion EC2, cliquez sur le groupe cible dans le volet gauche et cliquez sur «Créer un groupe cible».

Étape 2b: Entrez le nom du groupe cible et cliquez sur «Créer». Le groupe cible sera créé avec succès.

Étape 2c: Assurez-vous que le groupe cible est sélectionné et cliquez sur l'onglet Cibles et cliquez sur modifier pour enregistrer les instances EC2 avec le groupe cible.

Étape 2d: Sélectionnez l'instance EC2 et cliquez sur «Ajouter à l'enregistrement» et cliquez sur «Enregistrer».

Les instances doivent être enregistrées comme indiqué ci-dessous pour le groupe cible.

Étape 2e: Il est temps de créer l'équilibreur de charge d'application. Cliquez sur Load Balancer dans le volet gauche de la console de gestion EC2 et cliquez sur «Create Load Balancer».

Cliquez sur «Créer» pour «Equilibreur de charge d'application».

différence entre css et css3

Passez à cet article sur «Comment sécuriser une application Web avec AWS WAF?»

Étape 2f: Entrez le nom de l'équilibreur de charge d'application. Et assurez-vous que toutes les zones de disponibilité sont sélectionnées et cliquez sur Suivant.

Étape 2g: Dans «Configurer les paramètres de sécurité», cliquez sur Suivant.

Dans «Configurer les groupes de sécurité», créez un nouveau groupe de sécurité ou sélectionnez l'un des groupes de sécurité existants. Assurez-vous que le port 80 est ouvert pour accéder à la page Web sur l'EC2. Cliquez sur Suivant.

Étape 2h: Dans «Configurer le routage», sélectionnez «Groupe cible existant» et sélectionnez celui qui a été créé à l'étape précédente. Cliquez sur Suivant.

Étape 2i: Les instances EC2 cibles ont déjà été enregistrées comme faisant partie des groupes cibles. Donc, dans l'onglet «Enregistrer la cible», sans aucun changement, cliquez sur Suivant.

Étape 2j: Enfin, passez en revue tous les détails de l'équilibreur de charge d'application et cliquez sur Créer. L'équilibreur de charge d'application serait créé comme indiqué ci-dessous.

Étape 2k: Obtenez le nom de domaine de l'équilibreur de charge d'application et remplacez le texte en surbrillance dans l'URL ci-dessous et ouvrez-le dans le navigateur. Notez que nous accédons à l'application Web via l'équilibreur de charge d'application et que les informations d'identification de sécurité sont affichées comme indiqué ci-dessous. L'URL ci-dessous peut être bloquée à l'aide d'AWS WAF comme indiqué dans les étapes suivantes pour arrêter la fuite des informations d'identification de sécurité.

MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO

Étape 3: Création de AWS WAF (pare-feu d'application Web)

Étape 3a: Accédez à AWS WAF Management Console et cliquez sur «Configurer l'ACL Web». La présentation d'AWS WAF s'affiche. Voici la hiérarchie d'AWS WAF. Web ACL a un tas de règles et les règles ont un tas de conditions que nous créerions dans les étapes suivantes. Cliquez sur Suivant.

Étape 3b: Entrez le nom de l'ACL Web, la région en tant que Virginie du Nord (ou où EC2 a été créé), le type de ressource en tant que «Equilibreur de charge d'application» et enfin sélectionnez l'équilibreur de charge d'application qui a été créé à l'étape précédente. Cliquez sur Suivant.

Étape 3c: Voici un condition pour bloquer une demande d'application Web spécifique doit être créé. Faites défiler vers le bas et cliquez sur 'Créer une condition' pour les 'Conditions de correspondance de chaînes et d'expressions régulières'.

Étape 3d: Entrez le nom de la condition, le Type comme 'Correspondance de chaîne', filtrez sur 'Tous les paramètres de requête' et le reste des paramètres exactement comme indiqué ci-dessous. Et cliquez sur «Ajouter un filtre» puis sur Créer. Ici, nous essayons de créer une condition qui correspond à l'URL contenant la valeur du paramètre de requête 169.254.169.254. Cette adresse IP est liée au Métadonnées EC2 .

Étape 3e: Il est maintenant temps de créer une règle qui est un ensemble de conditions. Cliquez sur «Créer une règle» et spécifiez les paramètres exactement comme ci-dessous. Cliquez sur «Ajouter une condition», Créer et «Réviser et créer».

Passez à cet article sur «Comment sécuriser une application Web avec AWS WAF?»

Étape 3f: Enfin, révisez tous les détails et cliquez sur «Confirmer et créer». L'ACL Web (liste de contrôle d'accès) sera créée et associée à l'équilibreur de charge d'application comme indiqué ci-dessous.

Étape 3g: Essayez maintenant d'accéder à l'URL de l'équilibreur de charge d'application via le navigateur, comme indiqué dans Étape 2k . Cette fois, nous obtiendrons le '403 Forbidden' car notre URL correspond à la condition Web ACL et nous la bloquons. La demande n'atteint jamais l'équilibreur de charge d'application ou l'application Web sur l'EC2. Ici, nous remarquons que bien que l'application autorise l'accès aux informations d'identification de sécurité, le WAF les bloque.

Étape 4: Nettoyage des ressources AWS créées dans ce didacticiel. Le nettoyage doit être effectué exactement dans le même ordre que celui mentionné ci-dessous. Cela permet de garantir qu'AWS arrête la facturation des ressources associées créées dans le cadre de ce didacticiel.

  • Supprimer une condition dans la règle
  • Supprimer la règle dans le WebACL
  • Dissocier l'ALB dans le WebACL
  • Supprimer WebACL
  • Supprimer la règle
  • Supprimer le filtre dans la condition
  • Supprimer la condition
  • Supprimer l'ALB et le groupe cible
  • Mettre fin à l'EC2
  • Supprimer le rôle IAM

Conclusion

Comme mentionné précédemment, la création d'une application Web à l'aide d'AWS est très simple et intéressante. Mais nous devons également nous assurer que l'application est sécurisée et que les données ne sont pas divulguées entre de mauvaises mains. La sécurité peut être appliquée à plusieurs couches. Dans ce tutoriel, nous avons vu comment utiliser AWS WAF (Web Application Firewall) pour protéger l'application Web contre les attaques telles que la correspondance avec l'adresse IP des métadonnées EC2. Nous aurions pu également utiliser WAF pour nous protéger contre les attaques courantes comme l'injection SQL et XSS (Cross Site Scripting).

L'utilisation d'AWS WAF ou de tout autre produit de sécurité ne sécurise pas l'application, mais le produit doit être configuré correctement. Si elles ne sont pas correctement configurées, les données peuvent tomber entre de mauvaises mains, comme cela s'est produit avec Capital One et d'autres organisations. En outre, l'autre chose importante à prendre en compte est que la sécurité doit être pensée dès le premier jour et ne pas être connectée à l'application à un stade ultérieur.

Cela nous amène à la fin de cet article sur la façon de sécuriser les applications Web avec AWS WAF. Nous avons également mis au point un programme qui couvre exactement ce dont vous auriez besoin pour réussir l'examen d'architecte de solution! Vous pouvez consulter les détails du cours pour formation.

diff entre classe abstraite et interface

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de ce blog Qu'est-ce qu'AWS et nous vous répondrons.