Tässä artikkelissa kerrotaan, miten voit suojata verkkosovelluksia WAF ja seuraa sitä käytännön esittelyllä. Seuraavat vihjeet käsitellään tässä artikkelissa,
Joten aloitetaan sitten,
Tämän artikkelin 'Kuinka suojata verkkosovellusta AWS WAF: lla?'
Joidenkin perusteiden käytön aloittaminen
AWS tarjoaa palveluja, kuten EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage), jotta voidaan luoda hyödyllisiä ja hienoja sovelluksia nopeasti ja pienemmällä CAPEX-arvolla (CAPital EXpenditure). Kun luot näitä sovelluksia, on yhtä tärkeää suojata sovellus ja suojata tiedot. Jos sovellustiedot eivät ole asianmukaisesti suojattuja, ne saattavat joutua vääriin käsiin, kuten viimeisimmissä tapauksissa Capital One -tapahtuma .
Capital One isännöi verkkosovellusta EC2: lla, eikä sitä ollut suojattu kunnolla. Entinen AWS-työntekijä pystyi hyödyntämään tätä heikkoutta ja lataamaan asiakastietoja S3: sta. Myöhemmin havaittiin, että 30 muun organisaation tiedot ladattiin myös AWS: ltä. Joten korostamaan sitä uudelleen ei riitä vain suunnitella ja suunnitella sovellus, mutta on yhtä tärkeää turvata sovellus.
Käytetty pääoma AWS WAF (verkkosovellusten palomuuri) suojaamaan verkkosovellusta, mutta sitä ei ole määritetty oikein, minkä vuoksi hakkeri pystyi saamaan pääsyn S3: n tietoihin ja lataamaan ne. Tässä artikkelissa tutkitaan, miten AWS WAF: ää voidaan käyttää ja määrittää suojaamaan yleisiltä verkkohyökkäyksiltä, kuten SQL Injection, XSS (Cross Site Scripting) jne. Sovelluksen kuormituksen tasaaja , CloudFront tai API-yhdyskäytävä. Tässä skenaariossa käytämme sovellusten kuormituksen tasapainotinta. Kaikki asiakkaan pyynnöt selaimen kautta kulkevat AWS WAF: n ja sitten Application Load Balancerin ja lopuksi EC2: n verkkosovelluksen kautta. AWS WAF voidaan käyttää estää haitallinen pyyntö hakkereilta käyttämällä sääntöjä ja ehtoja.
Tämän artikkelin 'Kuinka suojata verkkosovellusta AWS WAF: lla?'
Vaiheiden sarja AWS WAF: n käytön aloittamiseksi
Vaihe 1: Haavoittuvan verkkosovelluksen luominen
Ensimmäinen vaihe on luoda verkkosovellus, joka on altis SSRF (Server Side Request Forgery) -hyökkäyksille, kuten tässä on mainittu. Blogi kuinka pääoma-isku tapahtui. Tällä blogilla on vaihejärjestys:
- Luo EC2
- Asenna tarvittava ohjelmisto, jotta voit luoda verkkosovelluksen SSRF-haavoittuvuudella
- Luo ja IAM-rooli S3: n vain luku -oikeuksilla
- Liitä IAM-rooli EC2: een
- Hyödynnä lopuksi SSRF-haavoittuvuutta saadaksesi IAM-rooliin liittyvät suojaustiedot.
Kun mainittujen blogien vaiheet on suoritettu, korvaa 5.6.7.8 alla olevassa URL-osoitteessa olevalla EC2: n julkisella IP-osoitteella ja avaa se selaimessa. IAM-rooliin liittyvät suojaustiedot tulee näyttää selaimessa alla olevan kuvan mukaisesti. Näin pääkaupunki hakkeroitiin. Turvallisuustietojen ollessa käytössä hakkeri pääsi lataamaan tietoja muihin AWS-palveluihin, kuten S3.
http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Vaihe 2: Sovelluksen kuormituksen tasapainottimen luominen
AWS WAF -ohjelmaa ei voida yhdistää suoraan verkkosovellukseen. Mutta voidaan liittää vain Application Load Balanceriin, CloudFrontiin ja API-yhdyskäytävään. Tässä opetusohjelmassa luomme Sovelluksen kuormituksen tasaaja ja AWS WAF: n yhdistäminen samalla.
mikä skanneriluokan menetelmä lukee merkkijonon
Vaihe 2a: Kohderyhmä on kokoelma EC2-ilmentymiä, ja se on luotava ennen sovelluksen kuormituksen tasauslaitteen luomista. Napsauta EC2-hallintakonsolissa vasemmanpuoleisessa ruudussa kohderyhmää ja napsauta Luo kohderyhmä.
Vaihe 2b: Kirjoita kohderyhmän nimi ja napsauta 'Luo'. Kohderyhmä luodaan onnistuneesti.
Vaihe 2c: Varmista, että Kohderyhmä on valittu, napsauta Kohteet-välilehteä ja napsauta Muokkaa-painiketta, jos haluat rekisteröidä EC2-esiintymät Kohderyhmään.
Vaihe 2d: Valitse EC2-esiintymä ja napsauta 'Lisää rekisteröityihin' ja napsauta 'Tallenna'.
Tapahtumat tulisi rekisteröidä alla olevan kohderyhmän mukaisesti.
Vaihe 2e: Aika luoda sovelluksen kuormituksen tasaaja. Napsauta EC2-hallintakonsolin vasemmassa ruudussa olevaa kuormituksen tasapainotinta ja napsauta 'Luo kuormituksen tasaaja'.
Napsauta 'Luo' kohdasta 'Application Load Balancer'.
Tämän artikkelin 'Kuinka suojata verkkosovellusta AWS WAF: lla?'
Vaihe 2f: Kirjoita sovelluksen kuormituksen tasauslaitteen nimi. Varmista, että kaikki saatavuusalueet on valittu ja napsauta Seuraava.
Vaihe 2g: Napsauta Määritä suojausasetukset -kohdassa Seuraava.
Luo uusi suojausryhmä kohdassa 'Suojausryhmien määrittäminen' tai valitse jokin olemassa olevista suojausryhmistä. Varmista, että portti 80 on auki EC2: n verkkosivulle pääsemiseksi. Napsauta Seuraava.
Vaihe 2h: Valitse 'Määritä reititys' -kohdassa 'Olemassa oleva kohderyhmä' ja valitse edellisessä vaiheessa luotu. Napsauta Seuraava.
Vaihe 2i: Kohde-EC2-esiintymät on jo rekisteröity osana Kohderyhmiä. Joten napsauta 'Rekisteröi kohde' -välilehdessä Seuraava ilman muutoksia.
Vaihe 2j: Lopuksi tarkista kaikki sovelluksen kuormituksen tasapainottimen yksityiskohdat ja napsauta Luo. Sovelluksen kuormituksen tasaaja luodaan alla olevan kuvan mukaisesti.
Vaihe 2k: Hanki sovelluksen lataustasapainon toimialueen nimi ja korvaa korostettu teksti alla olevassa URL-osoitteessa ja avaa sama selaimessa. Huomaa, että käytämme verkkosovellusta sovellusten lataustasapainon kautta ja suojaustiedot näytetään alla olevan kuvan mukaisesti. Alla oleva URL-osoite voidaan estää AWS WAF: lla, kuten seuraavissa vaiheissa on kuvattu suojaustietojen vuotamisen estämiseksi.
MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Vaihe 3: AWS WAF: n (verkkosovelluksen palomuuri) luominen
Vaihe 3a: Siirry AWS WAF -hallintakonsoliin ja napsauta 'Configure web ACL'. AWS WAF -yleiskuva näytetään. Tässä on AWS WAF: n hierarkia. Web ACL: llä on joukko sääntöjä, ja säännöillä on joukko ehtoja, jotka luomme seuraavissa vaiheissa. Napsauta Seuraava.
Vaihe 3b: Kirjoita Web-ACL-nimi, alue Pohjois-Virginiana (tai missä EC2 luotiin), resurssityypiksi ”Application Load Balancer” ja valitse lopuksi aiemmassa vaiheessa luotu Application Load Balancer. Napsauta Seuraava.
Vaihe 3c: Tässä a ehto estää tietty verkkosovelluspyyntö on luotava. Vieritä alaspäin ja napsauta 'Luo ehto' kohdasta 'String and regex match conditions'.
Vaihe 3d: Kirjoita ehdon nimi, tyyppi 'String match', suodata 'Kaikki kyselyparametrit' ja loput parametrit täsmälleen alla olevan kuvan mukaisesti. Napsauta sitten Lisää suodatin ja sitten Luo. Tässä yritämme luoda ehdon, joka vastaa URL-osoitetta, joka sisältää kyselyparametrin arvon 169.254.169.254. Tämä IP-osoite liittyy EC2-metatiedot .
Vaihe 3e: Nyt on aika luoda sääntö, joka on joukko ehtoja. Napsauta 'Luo sääntö' ja määritä parametrit alla olevan kuvan mukaisesti. Napsauta kohtaa Lisää ehto, Luo ja Tarkista ja luo.
Tämän artikkelin 'Kuinka suojata verkkosovellusta AWS WAF: lla?'
Vaihe 3f: Lopuksi tarkista kaikki yksityiskohdat ja napsauta Vahvista ja luo. Web ACL (pääsynhallintaluettelo) luodaan ja liitetään sovellusten kuormituksen tasauslaitteeseen alla olevan kuvan mukaisesti.
java kaksinkertainen int pyöreään
Vaihe 3g: Yritä nyt käyttää sovelluksen lataustasapainon URL-osoitetta selaimen kautta, kuten on suoritettu Vaihe 2k . Tällä kertaa saamme '403 Kielletty', koska URL-osoitteemme vastaa Web ACL -ehtoa ja estämme sen. Pyyntö ei koskaan saavuta sovelluksen kuormituksen tasapainotinta tai EC2: n verkkosovellusta. Tässä huomaamme, että vaikka sovellus sallii pääsyn tietoturvatietoihin, WAF estää sen.
Vaihe 4: Siellä puhdistetaan tässä opetusohjelmassa luodut AWS-resurssit. Puhdistus on tehtävä täsmälleen samassa järjestyksessä kuin alla on mainittu. Tämä varmistaa, että AWS lopettaa tämän opetusohjelman osana luotujen resurssien laskutuksen.
- Poista ehto säännöstä
- Poista sääntö WebACL: stä
- Irrota ALB WebACL: stä
- Poista WebACL
- Poista sääntö
- Poista suodatin ehdosta
- Poista ehto
- Poista ALB ja kohderyhmä
- Lopeta EC2
- Poista IAM-rooli
Johtopäätös
Kuten aiemmin mainittiin, Web-sovelluksen luominen AWS: n avulla on erittäin helppoa ja mielenkiintoista. Mutta meidän on myös varmistettava, että sovellus on turvallinen ja että tietoja ei vuotaa vääriin käsiin. Suojausta voidaan käyttää useissa kerroksissa. Tässä opetusohjelmassa olemme nähneet, kuinka AWS WAF: n (verkkosovellusten palomuuri) avulla suojaat verkkosovelluksen hyökkäyksiltä, kuten vastaavuudeltaan EC2-metatietojen IP-osoitteiden kanssa. Olisimme voineet käyttää myös WAF: ää suojautumaksemme yleisiltä hyökkäyksiltä, kuten SQL Injection ja XSS (Cross Site Scripting).
AWS WAF: n tai itse asiassa minkä tahansa muun tietoturvatuotteen käyttö ei tee sovelluksesta suojattua, mutta tuote on määritettävä oikein. Jos tietoja ei ole määritetty oikein, tiedot saattavat joutua vääriin käsiin, kuten tapahtui Capital Onen ja muiden organisaatioiden kanssa. Toinen tärkeä huomioitava asia on, että tietoturva on ajateltava alusta alkaen, eikä sitä saa liittää sovellukseen myöhemmin.
Tämä tuo meidät tämän artikkelin loppuun, joka koskee verkkosovellusten suojaamista AWS WAF: lla. Olemme myös keksineet opetussuunnitelman, joka kattaa juuri sen, mitä tarvitset ratkaisuarkkitehti-tentin purkamiseen! Voit tutustua kurssin yksityiskohtiin koulutus.
Onko sinulla kysymys meille? Mainitse se tämän Mikä on AWS -blogin kommenttiosassa ja palaamme sinuun.