Com protegir les aplicacions web amb AWS WAF?



Aquest article us explicarà com podeu protegir aplicacions web amb AWS WAF i fer-ne un seguiment amb una demostració pràctica.

Aquest article us explicarà com podeu protegir les aplicacions web WAF i feu-ne un seguiment amb una demostració pràctica. Les següents indicacions es tractaran en aquest article,

Comencem doncs,





Continuem amb aquest article sobre 'Com protegir una aplicació web amb AWS WAF?'

Introducció a alguns fonaments

AWS proporciona serveis com EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) per crear aplicacions útils i elegants de forma ràpida i amb menys CAPEX (CAPital EXpenditure). Mentre creeu aquestes aplicacions, és igualment important protegir l’aplicació i protegir les dades. Si no es protegeixen adequadament, les dades de l'aplicació poden arribar a les mans equivocades, com en el cas de les recents Incident de Capital One .



Capital One va allotjar una aplicació web a EC2 i no es va protegir correctament. Un ex empleat d’AWS va poder aprofitar aquesta vulnerabilitat i descarregar reams de dades de clients des de S3. Més tard es va comprovar que les dades d'altres 30 organitzacions també es baixaven d'AWS. Per tant, per subratllar-ho de nou no és suficient per arquitecturar i dissenyar una aplicació, sinó que és igualment important protegir una aplicació.

Capital One utilitzat AWS WAF (tallafocs d'aplicacions web) per protegir l’aplicació web, però no es va configurar correctament perquè el pirata informàtic va poder accedir a les dades de S3 i descarregar-la. En aquest article explorarem com utilitzar i configurar AWS WAF per protegir-vos contra atacs web comuns com SQL Injection, XSS (Cross Site Scripting), etc. Cal configurar AWS WAF juntament amb Equilibrador de càrrega d'aplicacions , CloudFront o API Gateway. En aquest escenari, farem servir l’equilibrador de càrrega de l’aplicació. Qualsevol sol·licitud del client a través del navegador passarà per AWS WAF i, a continuació, a l’aplicació Equilibrador de càrrega i, finalment, a l’aplicació web de l’EC2. Es pot utilitzar AWS WAF bloquejar la sol·licitud maliciosa dels pirates informàtics mitjançant un conjunt de regles i condicions.

Imatge: aplicacions web segures amb AWS WAF - Edureka

Continuem amb aquest article sobre 'Com protegir una aplicació web amb AWS WAF?'



Seqüència de passos per començar a utilitzar AWS WAF

Pas 1: Creació d’una aplicació web vulnerable,

El primer pas és crear una aplicació web que sigui vulnerable als atacs SSRF (Server Side Request Forgery) tal com s’esmenta en aquest document. bloc sobre com va passar l'atac de Capital One. Aquest bloc té la seqüència de passos per:

  1. Creeu un EC2
  2. Instal·leu el programari necessari per crear l'aplicació web amb vulnerabilitat SSRF
  3. Rol de creació i IAM amb permisos de només lectura S3
  4. Adjunteu el rol IAM a EC2
  5. Finalment, aprofiteu la vulnerabilitat SSRF per obtenir les credencials de seguretat relacionades amb la funció IAM.

Un cop finalitzada la seqüència de passos a l'esmentat bloc, substituïu 5.6.7.8 per l'adreça IP pública de l'EC2 a la següent URL i obriu-la al navegador. Les credencials de seguretat associades a la funció IAM s'han de mostrar al navegador tal com es mostra a continuació. Així és com es va piratejar bàsicament Capital One. Amb les credencials de seguretat a la mà, el pirata informàtic va poder accedir a altres serveis d’AWS com S3 per descarregar les dades.

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

Pas 2: Creació de l’equilibrador de càrrega de l’aplicació

Java crea matriu d'objectes

AWS WAF no es pot associar directament a una aplicació web. Però només es pot associar amb Application Load Balancer, CloudFront i API Gateway. En aquest tutorial, crearíem el fitxer Balanç de càrrega d'aplicacions i associació de AWS WAF amb el mateix.

Pas 2a: Un grup objectiu és una col·lecció d’instàncies EC2 que s’ha de crear abans de crear l’equilibrador de càrrega de l’aplicació. A la consola d'administració EC2, feu clic al grup de destinació al tauler esquerre i feu clic a 'Crea un grup de destinació'.

Pas 2b: Introduïu el nom del grup de destinació i feu clic a 'Crea'. El grup objectiu es crearà amb èxit.

Pas 2c: Assegureu-vos que el grup objectiu estigui seleccionat i feu clic a la pestanya Objectius i feu clic a Edita per registrar les instàncies EC2 amb el grup objectiu.

Pas 2d: Seleccioneu la instància EC2 i feu clic a 'Afegeix a registrats' i feu clic a 'Desa'.

Les instàncies s’han de registrar com es mostra a continuació per al grup objectiu.

Pas 2e: És hora de crear l’equilibrador de càrrega de l’aplicació. Feu clic al Load Balancer al tauler esquerre de la consola d'administració EC2 i feu clic a 'Create Load Balancer'.

Feu clic a 'Crea' per al 'Balanç de càrrega d'aplicacions'.

Continuem amb aquest article sobre 'Com protegir una aplicació web amb AWS WAF?'

Pas 2f: Introduïu el nom de l’equilibrador de càrrega de l’aplicació. I assegureu-vos que totes les zones de disponibilitat estiguin seleccionades i feu clic a Següent.

Pas 2g: Feu clic a 'Configura els paràmetres de seguretat' a Següent.

A 'Configurar grups de seguretat', creeu un grup de seguretat nou o seleccioneu un dels grups de seguretat existents. Assegureu-vos que el port 80 està obert per accedir a la pàgina web de l’EC2. Feu clic a Següent.

Pas 2h: A 'Configurar encaminament', seleccioneu 'Grup objectiu existent' i seleccioneu el que s'hagi creat al pas anterior. Feu clic a Següent.

diferència entre xef i ansible

Pas 2i: Les instàncies EC2 objectiu ja s'han registrat com a part dels grups objectiu. Per tant, a la pestanya 'Registra objectiu', sense cap canvi, feu clic a Següent.

Pas 2j: Finalment, reviseu tots els detalls de l’equilibrador de càrrega de l’aplicació i feu clic a Crea. El balanç de càrrega de l'aplicació es crearia com es mostra a continuació.

Pas 2k: Obteniu el nom de domini de l’equilibrador de càrrega de l’aplicació i substituïu el text ressaltat a l’URL següent i obriu-lo al navegador. Tingueu en compte que accedim a l’aplicació web mitjançant l’equilibrador de càrrega de l’aplicació i que es mostren les credencials de seguretat tal com es mostra a continuació. L'URL següent es pot bloquejar mitjançant AWS WAF, tal com es mostra als passos següents per aturar la filtració de les credencials de seguretat.

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

Pas 3: Creació de l'AWS WAF (tallafoc d'aplicacions web)

Pas 3a: Aneu a AWS WAF Management Console i feu clic a 'Configura web ACL'. Es mostra la visió general de AWS WAF. Aquí teniu la jerarquia d’AWS WAF. El web ACL té un munt de regles i les regles tenen un munt de condicions que crearíem en els passos següents. Feu clic a Següent.

Pas 3b: Introduïu el nom de l'ACL web, la regió com a Virgínia del Nord (o on es va crear EC2), el tipus de recurs com a 'Balanç de càrrega d'aplicacions' i, finalment, seleccioneu el balanç de càrrega d'aplicacions que es va crear al pas anterior. Feu clic a Següent.

Pas 3c: Aquí un condició per bloquejar una sol·licitud d'aplicació web específica s’ha de crear. Desplaceu-vos cap avall i feu clic a 'Crea condició' per a les 'Condicions de concordança de cadena i d'expressió regular'.

Pas 3d: Introduïu el nom de la condició, el tipus com a 'Concordança de cadena', filtreu a 'Tots els paràmetres de consulta' i la resta de paràmetres exactament com es mostra a continuació. I feu clic a 'Afegeix filtre' i després a Crea. Aquí intentem crear una condició que coincideixi amb l'URL que conté el valor del paràmetre de consulta com a 169.254.169.254. Aquesta adreça IP està relacionada amb el fitxer Metadades EC2 .

Pas 3e: Ara és el moment de crear una regla que sigui una col·lecció de condicions. Feu clic a 'Crea una regla' i especifiqueu els paràmetres tal com es mostra exactament a continuació. Feu clic a 'Afegeix condició', Crea i 'Revisa i crea'.

Continuem amb aquest article sobre 'Com protegir una aplicació web amb AWS WAF?'

Pas 3f: Finalment, reviseu tots els detalls i feu clic a 'Confirma i crea'. Es crearà l’ACL web (llista de control d’accés) i s’associarà amb l’equilibrador de càrrega de l’aplicació tal com es mostra a continuació.

les cordes a Java són immutables

Pas 3g: Ara intenteu accedir a l'URL de l'aplicació del balanç de càrrega mitjançant el navegador tal com es realitza a Pas 2k . Aquesta vegada obtindríem el '403 Prohibit', ja que el nostre URL coincideix amb la condició ACL web i el bloquegem. La sol·licitud mai no arriba a l’aplicació Equilibrador de càrrega ni a l’aplicació web de l’EC2. Aquí observem que, tot i que l’aplicació permet l’accés a les credencials de seguretat, el WAF bloqueja les mateixes.

Pas 4: Neteja dels recursos AWS creats en aquest tutorial. La neteja s’ha de fer exactament en el mateix ordre que s’esmenta a continuació. Això és per garantir que AWS aturi la facturació dels recursos associats creats com a part d'aquest tutorial.

  • Suprimeix la condició de la regla
  • Suprimiu la regla del WebACL
  • Desvinculeu l'ALB al WebACL
  • Suprimiu WebACL
  • Suprimiu la regla
  • Suprimiu el filtre de la condició
  • Suprimiu la condició
  • Suprimiu l'ALB i el grup objectiu
  • Finalitzeu l'EC2
  • Suprimiu la funció IAM

Conclusió

Com es va esmentar anteriorment, crear una aplicació web mitjançant AWS és molt fàcil i interessant. Però també hem d’assegurar-nos que l’aplicació és segura i que les dades no es filtren a mans equivocades. La seguretat es pot aplicar a diverses capes. En aquest tutorial hem vist com utilitzar AWS WAF (Web Application Firewall) per protegir l'aplicació web contra atacs com la coincidència amb l'adreça IP de les metadades EC2. També podríem haver utilitzat WAF per protegir-nos contra atacs habituals com SQL Injection i XSS (Cross Site Scripting).

L’ús d’AWS WAF o, de fet, qualsevol altre producte de seguretat no fa que l’aplicació sigui segura, però s’ha de configurar correctament el producte. Si no es configuren correctament, és possible que les dades arribin a les mans equivocades, tal com va passar amb Capital One i altres organitzacions. A més, l’altra cosa important a tenir en compte és que la seguretat s’ha de pensar des del primer dia i no connectar-la a l’aplicació en una fase posterior.

Això ens porta al final d’aquest article sobre Com protegir aplicacions web amb AWS WAF. També hem elaborat un pla d'estudis que cobreix exactament el que necessitareu per presentar l'examen d'arquitecte de solucions. Podeu consultar els detalls del curs formació.

Tens alguna pregunta? Si us plau, mencioneu-lo a la secció de comentaris d’aquest bloc Què és AWS i us respondrem.