Kako zaščititi spletne aplikacije z AWS WAF?



Ta članek vam bo povedal, kako lahko zaščitite spletne aplikacije z AWS WAF, in nadaljeval s praktičnim prikazom.

Ta članek vam bo povedal, kako lahko zavarujete spletne aplikacije WAF in mu sledite s praktičnim prikazom. V tem članku bodo zajeti naslednji napotki:

Začnimo torej,





Nadaljujemo s tem člankom o tem, kako zaščititi spletno aplikacijo z AWS WAF?

Začetek nekaterih osnov

AWS ponuja storitve, kot so EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage), da lahko hitro in z manj CAPEX (CAPital EXpenditure) ustvari uporabne in modne aplikacije. Med ustvarjanjem teh aplikacij je enako pomembno, da zaščitite aplikacijo in zaščitite podatke. Če podatki aplikacije niso pravilno zavarovani, lahko pridejo v napačne roke, kot v primeru nedavnih Kapital One incident .



Capital One je gostil spletno aplikacijo na EC2 in ni bila pravilno zavarovana. Nekdanji uslužbenec AWS je lahko izkoristil to ranljivost in iz S3 prenesel množico podatkov o strankah. Kasneje je bilo ugotovljeno, da so bili podatki iz 30 drugih organizacij preneseni tudi iz AWS. Torej, če še enkrat poudarimo, ni dovolj samo oblikovanje in oblikovanje aplikacije, ampak je enako pomembno, da zaščitite aplikacijo.

Kapital One uporabljen AWS WAF (požarni zid spletnih aplikacij) za zaščito spletne aplikacije, vendar ni bila pravilno konfigurirana, zaradi česar je heker lahko dobil dostop do podatkov v S3 in ga prenesel. V tem članku bomo raziskali, kako uporabljati in konfigurirati AWS WAF za zaščito pred običajnimi spletnimi napadi, kot so SQL Injection, XSS (Cross Site Scripting) itd. AWS WAF je treba konfigurirati skupaj z Izravnalnik obremenitve aplikacije , CloudFront ali API Gateway. V tem primeru bomo uporabili Application Load Balancer. Vsaka zahteva stranke prek brskalnika bo šla prek AWS WAF in nato do izravnalnika obremenitve aplikacij in nazadnje do spletne aplikacije na EC2. AWS WAF se lahko uporablja za blokira zlonamerno zahtevo od hekerjev, ki uporabljajo niz pravil in pogojev.

Slika - varne spletne aplikacije z AWS WAF - Edureka

Nadaljujemo s tem člankom o tem, kako zaščititi spletno aplikacijo z AWS WAF?



Zaporedje korakov za začetek uporabe AWS WAF

Korak 1: Ustvarjanje ranljive spletne aplikacije,

Prvi korak je ustvariti spletno aplikacijo, ki je ranljiva za SSRF (Server Side Request Forgery) napade, kot je omenjeno v tem Spletni dnevnik o tem, kako se je zgodil napad Capital One. Ta spletni dnevnik vsebuje zaporedje korakov za:

  1. Ustvari EC2
  2. Namestite potrebno programsko opremo za ustvarjanje spletne aplikacije z ranljivostjo SSRF
  3. Ustvari in vloži IAM z dovoljenji S3 samo za branje
  4. Vlogo IAM pritrdite na EC2
  5. Končno izkoristite ranljivost SSRF, da dobite varnostne poverilnice, povezane z vlogo IAM.

Ko je zaporedje korakov v omenjenem blogu zaključeno, zamenjajte 5.6.7.8 z javnim IP naslovom EC2 v spodnjem URL-ju in ga odprite v brskalniku. Varnostne poverilnice, povezane z vlogo IAM, morajo biti prikazane v brskalniku, kot je prikazano spodaj. Tako je v bistvu vdrl Capital One. Z varnostnimi poverilnicami v rokah je heker lahko prenesel podatke do drugih storitev AWS, kot je S3.

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

2. korak: Ustvarjanje izravnalnika obremenitve aplikacije

AWS WAF ni mogoče neposredno povezati s spletno aplikacijo. Vendar je to mogoče povezati samo z Application Load Balancer, CloudFront in API Gateway. V tej vadnici bi ustvarili Application Balancer in povezovanje AWS WAF z enakim.

Korak 2a: Ciljna skupina je zbirka primerkov EC2 in jo je treba ustvariti pred ustvarjanjem izravnalnika obremenitve aplikacije. V konzoli za upravljanje EC2 v levem podoknu kliknite ciljno skupino in kliknite »Ustvari ciljno skupino«.

Korak 2b: Vnesite ime ciljne skupine in kliknite »Ustvari«. Ciljna skupina bo uspešno ustvarjena.

Korak 2c: Prepričajte se, da je izbrana ciljna skupina, kliknite zavihek Cilji in kliknite Uredi, da registrirate primerke EC2 s ciljno skupino.

Korak 2d: Izberite primerek EC2 in kliknite »Dodaj med registrirane« in kliknite »Shrani«.

Primerke je treba registrirati, kot je prikazano spodaj za ciljno skupino.

Korak 2e: Čas je, da ustvarite izravnalnik obremenitve aplikacije. V levem podoknu konzole za upravljanje EC2 kliknite Load Balancer in kliknite »Create Load Balancer«.

kako uporabljati pooblastila v javi -

Kliknite »Ustvari« za »Izravnalnik obremenitve aplikacije«.

Nadaljujemo s tem člankom o tem, kako zaščititi spletno aplikacijo z AWS WAF?

Korak 2f: Vnesite ime izravnalnika obremenitve aplikacije. Prepričajte se, da so izbrana vsa območja razpoložljivosti in kliknite Naprej.

Korak 2g: V razdelku »Konfiguriranje varnostnih nastavitev« kliknite Naprej.

V razdelku »Konfiguriranje varnostnih skupin« ustvarite novo varnostno skupino ali izberite eno od obstoječih. Prepričajte se, da so vrata 80 odprta za dostop do spletne strani na EC2. Kliknite Naprej.

Korak 2h: V “Konfiguriranje usmerjanja” izberite “Obstoječa ciljna skupina” in izberite tisto, ki je bila ustvarjena v prejšnjem koraku. Kliknite Naprej.

Korak 2i: Ciljni primerki EC2 so že registrirani kot del ciljnih skupin. Torej, na zavihku 'Registracija cilja' brez sprememb kliknite Naprej.

Korak 2j: Na koncu preglejte še vse podrobnosti izravnalnika obremenitve aplikacije in kliknite Ustvari. Izravnalnik obremenitve aplikacije bi bil ustvarjen, kot je prikazano spodaj.

Korak 2k: Pridobite domensko ime Application Load Balancera in ga v spodnjem URL-ju zamenjajte z označenim besedilom in ga odprite v brskalniku. Upoštevajte, da do spletne aplikacije dostopamo prek izravnalnika obremenitve aplikacij in varnostne poverilnice so prikazane, kot je prikazano spodaj. Spodnji URL lahko blokirate z uporabo AWS WAF, kot je prikazano v nadaljnjih korakih za zaustavitev uhajanja varnostnih poverilnic.

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

3. korak: Ustvarjanje AWS WAF (požarni zid spletnih aplikacij)

Korak 3a: Pojdite v konzolo za upravljanje AWS WAF in kliknite »Konfiguriranje spletnega ACL«. Prikaže se pregled AWS WAF. Tu je hierarhija AWS WAF. Spletni ACL ima kup pravil, pravila pa kup pogojev, ki bi jih ustvarili v naslednjih korakih. Kliknite Naprej.

Korak 3b: Vnesite ime spletnega ACL, Regija kot Severna Virginija (ali kjer je bil ustvarjen EC2), vrsto vira kot »Application Load Balancer« in na koncu izberite Application Load Balancer, ki je bil ustvarjen v prejšnjem koraku. Kliknite Naprej.

Korak 3c: Tukaj a pogoj za blokiranje določene zahteve za spletno aplikacijo mora biti ustvarjen. Pomaknite se navzdol in kliknite »Ustvari pogoj« za »Pogoji ujemanja nizov in izrazov«.

Korak 3d: Vnesite ime pogoja, vnesite kot »String match«, filtrirajte »Vsi parametri poizvedbe« in ostale parametre natančno, kot je prikazano spodaj. In kliknite na 'Dodaj filter' in nato na Ustvari. Tu poskušamo ustvariti pogoj, ki se ujema z URL-jem, ki vsebuje vrednost parametra poizvedbe kot 169.254.169.254. Ta naslov IP je povezan z EC2 metapodatki .

Korak 3e: Zdaj je čas, da ustvarite pravilo, ki je zbir pogojev. Kliknite »Ustvari pravilo« in določite parametre, kot je natančno prikazano spodaj. Kliknite »Dodaj pogoj«, Ustvari in »Preglej in ustvari«.

Nadaljujemo s tem člankom o tem, kako zaščititi spletno aplikacijo z AWS WAF?

Korak 3f: Na koncu preglejte vse podrobnosti in kliknite »Potrdi in ustvari«. Spletni ACL (seznam za nadzor dostopa) bo ustvarjen in povezan z izravnalnikom obremenitve aplikacije, kot je prikazano spodaj.

Korak 3g: Zdaj poskusite dostopati do URL-ja izravnalnika obremenitve aplikacij prek brskalnika, kot je bilo izvedeno v Korak 2k . Tokrat bi dobili »Prepovedano 403«, saj se naš URL ujema s spletnim pogojem ACL in ga blokiramo. Zahteva nikoli ne doseže izravnalnika obremenitve aplikacij ali spletne aplikacije na EC2. Tu opažamo, da čeprav aplikacija omogoča dostop do varnostnih poverilnic, WAF isto blokira.

4. korak: Čiščenje virov AWS, ustvarjenih v tej vadnici. Čiščenje je treba opraviti v popolnoma enakem vrstnem redu, kot je navedeno spodaj. S tem želimo zagotoviti, da AWS ustavi obračun za povezane vire, ustvarjene kot del te vadnice.

  • Izbriši pogoj v pravilu
  • Izbrišite pravilo v WebACL
  • Odstranite ALB v WebACL
  • Izbrišite WebACL
  • Izbriši pravilo
  • Izbrišite filter v pogoju
  • Izbriši pogoj
  • Izbrišite ALB in ciljno skupino
  • Prekinite EC2
  • Izbrišite vlogo IAM

Zaključek

Kot smo že omenili, je ustvarjanje spletne aplikacije z uporabo AWS zelo enostavno in zanimivo. Paziti moramo tudi, da je aplikacija varna in da podatki ne uhajajo v napačne roke. Varnost se lahko uporabi na več plasteh. V tej vadnici smo videli, kako uporabljamo AWS WAF (požarni zid spletnih aplikacij) za zaščito spletne aplikacije pred napadi, kot je ujemanje z naslovom IP metapodatkov EC2. Lahko bi uporabili tudi WAF za zaščito pred pogostimi napadi, kot sta SQL Injection in XSS (Cross Site Scripting).

Uporaba AWS WAF ali dejansko katerega koli drugega varnostnega izdelka ne pomeni, da je aplikacija varna, vendar mora biti izdelek pravilno konfiguriran. Če podatki niso pravilno konfigurirani, lahko pridejo v napačne roke, kot se je zgodilo pri Capital One in drugih organizacijah. Druga pomembna stvar, ki jo je treba upoštevati, je, da je treba o varnosti razmišljati že od prvega dne in se ne pozneje priključiti na aplikacijo.

S tem smo na koncu tega članka o tem, kako zaščititi spletne aplikacije z AWS WAF. Pripravili smo tudi učni načrt, ki natančno zajema tisto, kar bi potrebovali, da bi lahko opravili izpit za arhitekta rešitev! Ogledate si lahko podrobnosti tečaja za usposabljanje.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega spletnega dnevnika Kaj je AWS, mi pa se vam bomo oglasili.