Paano Ma-secure ang Mga Aplikasyon sa Web Sa AWS WAF?



Sasabihin sa iyo ng artikulong ito kung paano mo mai-secure ang Mga Aplikasyon sa Web Sa AWS WAF at sundin ito sa isang praktikal na pagpapakita.

Sasabihin sa iyo ng artikulong ito kung paano mo mai-secure ang Mga Web Application WAF at sundin ito sa isang praktikal na pagpapakita. Saklaw ang artikulong ito sa artikulong ito,

Kaya't magsimula tayo noon,





Nagpapatuloy sa artikulong ito sa 'Paano Mag-secure ang Application ng Web Sa AWS WAF?'

Pagsisimula Sa Ilang Mga Pangunahing Batayan

Nagbibigay ang AWS ng mga serbisyo tulad ng EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) upang lumikha ng mga kapaki-pakinabang at magarbong aplikasyon nang mabilis at may mas kaunting CAPEX (CAPital Expenditure). Habang lumilikha ng mga application na ito, pantay na mahalaga na i-secure ang application at protektahan ang data. Kung hindi maayos na na-secure, ang data ng application ay maaaring makuha sa maling mga kamay tulad ng sa kaso kamakailan Capital One insidente .



Nag-host ang Capital One ng isang Web Application sa EC2 at hindi ito na-secure nang maayos. Ang isang dating empleyado ng AWS ay napagsamantalahan ang kahinaan na ito at na-download ang mga reams ng data ng customer mula sa S3. Nang maglaon nalaman na ang data mula sa 30 iba pang mga organisasyon ay na-download din mula sa AWS. Kaya, upang mai-stress ito ulit hindi lamang ito sapat upang mag-arkitekto at magdisenyo ng isang application, ngunit pantay na mahalaga upang ma-secure ang isang application.

Capital One ang ginamit AWS WAF (Web Application Firewall) upang maprotektahan ang Web Application, ngunit hindi ito na-configure nang maayos dahil kung saan nakakuha ang hacker ng access sa data sa S3 at na-download ito. Sa artikulong ito susuriin namin kung paano gamitin at mai-configure ang AWS WAF upang maprotektahan laban sa mga karaniwang pag-atake sa web tulad ng SQL Injection, XSS (Cross Site Scripting) atbp. Ang AWS WAF ay dapat na mai-configure kasama ang Application Load Balancer , CloudFront o API Gateway. Sa senaryong ito, gagamitin namin ang Application Load Balancer. Ang anumang kahilingan mula sa customer sa pamamagitan ng browser ay dadaan sa AWS WAF at pagkatapos ay sa Application Load Balancer at sa wakas sa Web Application sa EC2. Maaaring magamit ang AWS WAF harangan ang nakakahamak na kahilingan mula sa mga hacker na gumagamit ng isang hanay ng mga patakaran at kundisyon.

Larawan - Ligtas na Mga Aplikasyon sa Web Sa AWS WAF - Edureka

Nagpapatuloy sa artikulong ito sa 'Paano Mag-secure ang Application ng Web Sa AWS WAF?'



Pagkakasunud-sunod ng mga hakbang upang makapagsimula sa AWS WAF

Hakbang 1: Lumilikha ng isang mahina na application ng web,

Ang unang hakbang ay upang lumikha ng isang web application na mahina laban sa mga pag-atake ng SSRF (Server Side Request Forgery) tulad ng nabanggit dito Blog sa kung paano nangyari ang Capital One na atake. Ang blog na ito ay may pagkakasunud-sunod ng mga hakbang upang:

  1. Lumikha ng isang EC2
  2. I-install ang kinakailangang software upang likhain ang web application na may SSRF na kahinaan
  3. Gumawa at papel na IAM na may mga pahintulot sa S3 Read Only
  4. Ikabit ang papel na ginagampanan ng IAM sa EC2
  5. Panghuli, pagsamantalahan ang kahinaan ng SSRF upang makuha ang Mga Kredensyal sa Seguridad na nauugnay sa papel na IAM.

Kapag ang pagkakasunud-sunod ng mga hakbang ay nakumpleto sa nabanggit na blog, palitan ang 5.6.7.8 ng Public IP address ng EC2 sa ibaba ng URL at buksan ito sa browser. Ang Mga Kredensyal sa Seguridad na nauugnay sa IAM Role ay dapat ipakita sa browser tulad ng ipinakita sa ibaba. Ito ay kung paano karaniwang na-hack ang Capital One. Gamit ang Mga Kredensyal sa Seguridad na nasa kamay, ang hacker ay nag-access sa iba pang mga serbisyo ng AWS tulad ng S3 upang mai-download ang data.

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

Hakbang 2: Lumilikha ng Application Load Balancer

Ang AWS WAF ay hindi maaaring direktang maiugnay sa isang Web Application. Ngunit, maaari lamang maiugnay sa Application Load Balancer, CloudFront at API Gateway. Sa tutorial na ito, lilikha namin ang Application Load Balancer at naiugnay ang AWS WAF na may parehong.

Hakbang 2a: Ang Target na Grupo ay isang koleksyon ng mga pagkakataon sa EC2 at dapat na nilikha bago likhain ang Application Load Balancer. Sa EC2 Management Console, mag-click sa Target Group sa kaliwang pane at mag-click sa 'Lumikha ng target na pangkat'.

Hakbang 2b: Ipasok ang Target na pangalan ng Pangkat at mag-click sa 'Lumikha'. Ang Target na Grupo ay matagumpay na malilikha.

Hakbang 2c: Tiyaking napili ang Target na Pangkat at mag-click sa tab na Mga Target at mag-click sa i-edit upang irehistro ang mga pagkakataon ng EC2 sa Target na Pangkat.

Hakbang 2d: Piliin ang halimbawa ng EC2 at mag-click sa 'Idagdag sa nakarehistro' at mag-click sa 'I-save'.

Ang mga pagkakataon ay dapat na nakarehistro tulad ng ipinakita sa ibaba para sa Target na Pangkat.

Hakbang 2e: Oras upang likhain ang Application Load Balancer. Mag-click sa Load Balancer sa kaliwang pane ng EC2 Management Console at mag-click sa 'Lumikha ng Load Balancer'.

Mag-click sa 'Lumikha' para sa 'Application Load Balancer'.

switch case sa mga halimbawa ng programa ng java

Nagpapatuloy sa artikulong ito sa 'Paano Mag-secure ang Application ng Web Sa AWS WAF?'

Hakbang 2f: Ipasok ang pangalan ng Application Load Balancer. At tiyaking napili ang lahat ng Mga Zona ng Pag-access at mag-click sa Susunod.

Hakbang 2g: Sa 'I-configure ang Mga Setting ng Seguridad' mag-click sa Susunod.

Sa 'I-configure ang Mga Pangkat ng Seguridad' lumikha ng isang bagong Pangkat ng Seguridad o pumili ng isa sa mayroon nang Pangkat ng Seguridad. Tiyaking bukas ang port 80 para sa pag-access sa web page sa EC2. Mag-click sa Susunod.

Hakbang 2h: Sa 'Configure Routing' piliin ang 'Umiiral na target na pangkat' at piliin ang isa na nilikha sa naunang hakbang. Mag-click sa Susunod.

Hakbang 2i: Ang target na mga kaso ng EC2 ay nakarehistro na bilang bahagi ng Mga Target na Grupo. Kaya, sa tab na 'Magrehistro ng Target', nang walang anumang mga pagbabago mag-click sa Susunod.

Hakbang 2j: Panghuli, suriin ang lahat ng mga detalye ng Application Load Balancer at mag-click sa Lumikha. Ang Application Load Balancer ay malilikha tulad ng ipinakita sa ibaba.

Hakbang 2k: Kunin ang pangalan ng domain ng Application Load Balancer at palitan ang naka-highlight na teksto nito sa ibaba URL at buksan ang pareho sa browser. Tandaan na ina-access namin ang Web Application sa pamamagitan ng Application Load Balancer at ang Mga Kredensyal sa Seguridad ay ipinapakita tulad ng ipinakita sa ibaba. Ang sa ibaba ng URL ay maaaring ma-block sa pamamagitan ng paggamit ng AWS WAF tulad ng ipinapakita sa mga kasunod na hakbang upang ihinto ang pagtagas ng Mga Kredensyal sa Seguridad.

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

Hakbang 3: Lumilikha ng AWS WAF (Web Application Firewall)

Hakbang 3a: Pumunta sa AWS WAF Management Console at mag-click sa 'I-configure ang web ACL'. Ipinapakita ang pangkalahatang-ideya ng AWS WAF. Narito ang hierarchy ng AWS WAF. Ang Web ACL ay mayroong isang bungkos ng Mga Panuntunan at Mga Panuntunan ay mayroong isang bungkos ng Mga Kundisyon na nilikha namin sa mga kasunod na hakbang. Mag-click sa Susunod.

Hakbang 3b: Ipasok ang pangalang Web ACL, ang Rehiyon bilang Hilagang Virginia (o kung saan nilikha ang EC2), ang uri ng mapagkukunan bilang 'Application Load Balancer' at sa wakas ay piliin ang Application Load Balancer na nilikha sa naunang hakbang. Mag-click sa Susunod.

Hakbang 3c: Heto kundisyon upang harangan ang isang tukoy na kahilingan sa aplikasyon ng web dapat malikha. Mag-scroll pababa at mag-click sa 'Lumikha ng kundisyon' para sa 'Mga kundisyon ng pagtutugma ng string at regex'.

Hakbang 3d: Ipasok ang pangalan ng kundisyon, ang Uri bilang 'String match', i-filter sa 'Lahat ng mga parameter ng query' at natitirang mga parameter na eksaktong ipinapakita sa ibaba. At mag-click sa 'Magdagdag ng filter' at pagkatapos ay sa Lumikha. Sinusubukan naming lumikha ng isang kundisyon na tumutugma sa URL na naglalaman ng halaga ng parameter ng query bilang 169.254.169.254. Ang IP address na ito ay nauugnay sa EC2 Metadata .

Hakbang 3e: Ngayon ang oras upang lumikha ng isang patakaran na kung saan ay isang koleksyon ng mga kundisyon. Mag-click sa 'Lumikha ng panuntunan' at tukuyin ang mga parameter tulad ng eksaktong ipinakita sa ibaba. Mag-click sa 'Magdagdag ng Kundisyon', Lumikha at 'Suriin at likhain'.

Nagpapatuloy sa artikulong ito sa 'Paano Mag-secure ang Application ng Web Sa AWS WAF?'

Hakbang 3f: Sa wakas suriin ang lahat ng mga detalye at mag-click sa 'Kumpirmahin at lumikha'. Ang Web ACL (Access Control List) ay malilikha at maiugnay sa Application Load Balancer tulad ng ipinakita sa ibaba.

Hakbang 3g: Subukang i-access ang Application Load Balancer URL sa pamamagitan ng browser tulad ng ginagawa sa Hakbang 2k . Sa pagkakataong ito ay makakakuha kami ng '403 Bawal' habang tumutugma ang aming URL sa kundisyon sa Web ACL at hinaharangan namin ito. Hindi kailanman naabot ng kahilingan ang Application Load Balancer o ang Web Application sa EC2. Napansin namin dito na bagaman pinapayagan ng application ang pag-access sa Mga Kredensyal sa Seguridad, hinaharang ng WAF ang pareho.

Hakbang 4: Ang paglilinis ng mga mapagkukunang AWS na nilikha sa tutorial na ito. Ang paglilinis ay dapat gawin sa eksaktong eksaktong pagkakasunud-sunod tulad ng nabanggit sa ibaba. Ito ay upang matiyak na ihihinto ng AWS ang pagsingil para sa mga nauugnay na mapagkukunan na nilikha bilang bahagi ng tutorial na ito.

  • Tanggalin ang Kalagayan sa Panuntunan
  • Tanggalin ang Panuntunan sa WebACL
  • I-disassociate ang ALB sa WebACL
  • Tanggalin ang WebACL
  • Tanggalin ang Panuntunan
  • Tanggalin ang filter sa Kundisyon
  • Tanggalin ang Kundisyon
  • Tanggalin ang ALB at ang Target na Pangkat
  • Tapusin ang EC2
  • Tanggalin ang IAM Role

Konklusyon

Tulad ng nabanggit kanina, ang paglikha ng isang Web Application gamit ang AWS ay napakadali at kawili-wili. Ngunit dapat din naming tiyakin na ang application ay ligtas at ang data ay hindi naipuslit sa maling mga kamay. Maaaring mailapat ang seguridad sa maraming mga layer. Sa tutorial na ito nakita namin kung paano gamitin ang AWS WAF (Web Application Firewall) upang maprotektahan ang Web Application laban sa mga pag-atake tulad ng pagtutugma sa IP address ng EC2 Metadata. Maaari din naming magamit ang WAF upang maprotektahan laban sa mga karaniwang pag-atake tulad ng SQL Injection at XSS (Cross Site Scripting).

Ang paggamit ng AWS WAF o sa katunayan ang anumang iba pang produkto ng seguridad ay hindi ginagawang ligtas ang application, ngunit ang produkto ay dapat na mai-configure nang maayos. Kung hindi na-configure nang maayos, ang data ay maaaring makuha sa maling mga kamay tulad ng nangyari sa Capital One at iba pang Mga Organisasyon. Gayundin, ang iba pang mahalagang bagay na dapat isaalang-alang ay ang Seguridad ay dapat na naisip mula sa unang araw at hindi isaksak sa aplikasyon sa susunod na yugto.

Dinadala tayo nito sa pagtatapos ng artikulong ito sa Paano Mag-secure ng Mga Aplikasyon sa Web Sa AWS WAF. Nakakuha din kami ng isang kurikulum na sumasaklaw sa eksakto kung ano ang kakailanganin mong i-crack ang Solusyon sa Architect ng Solusyon! Maaari kang tumingin sa mga detalye ng kurso para sa pagsasanay.

May tanong ba sa amin? Mangyaring banggitin ito sa seksyon ng mga komento ng Ano ang AWS blog at babalikan ka namin.