Hur skyddar jag webbapplikationer med AWS WAF?



Den här artikeln berättar hur du kan säkra webbapplikationer med AWS WAF och följa upp den med en praktisk demonstration.

Den här artikeln berättar hur du kan säkra webbapplikationer med WAF och följ upp det med en praktisk demonstration. Följande tips kommer att behandlas i den här artikeln,

Så låt oss komma igång då,





Gå vidare med den här artikeln om ”Hur man säkrar webbapplikation med AWS WAF?”

Komma igång med några grundläggande

AWS tillhandahåller tjänster som EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) för att skapa användbara och snygga applikationer snabbt och med mindre CAPEX (CAPITAL UTGIFTER). När du skapar dessa applikationer är det lika viktigt att säkra applikationen och skydda data. Om det inte säkras ordentligt kan applikationsdata komma i fel händer som i fallet med det senaste Capital One incident .



Capital One var värd för en webbapplikation på EC2 och den var inte säkrad ordentligt. En tidigare AWS-anställd kunde utnyttja denna sårbarhet och ladda ner reams av kunddata från S3. Senare fann man att data från 30 andra organisationer också laddades ner från AWS. Så för att betona det igen räcker det inte bara med att arkitekt och utforma en applikation, men det är lika viktigt att säkra en applikation.

Capital One används AWS WAF (brandvägg för webbapplikationer) för att skydda webbapplikationen, men den konfigurerades inte ordentligt på grund av vilken hackaren kunde få tillgång till data i S3 och ladda ner den. I den här artikeln kommer vi att undersöka hur man använder och konfigurerar AWS WAF för att skydda mot vanliga webbattacker som SQL Injection, XSS (Cross Site Scripting) etc. AWS WAF måste konfigureras tillsammans med Applikationsbelastningsutjämning , CloudFront eller API Gateway. I det här scenariot kommer vi att använda Application Load Balancer. Varje begäran från kunden via webbläsaren går via AWS WAF och sedan till Application Load Balancer och slutligen till webbapplikationen på EC2. AWS WAF kan användas för att blockera den skadliga begäran från hackarna med hjälp av en uppsättning regler och villkor.

Bild - Säkra webbapplikationer med AWS WAF - Edureka

Gå vidare med den här artikeln om ”Hur man säkrar webbapplikation med AWS WAF?”



Sekvens av steg för att komma igång med AWS WAF

Steg 1: Skapa en sårbar webbapplikation,

Det första steget är att skapa en webbapplikation som är sårbar för SSRF-attacker (Server Side Request Forgery) som nämns i detta Blogg om hur Capital One-attacken hände. Den här bloggen har följande steg:

  1. Skapa en EC2
  2. Installera den nödvändiga programvaran för att skapa webbapplikationen med SSRF-sårbarhet
  3. Skapa och IAM-roll med S3 skrivskyddade behörigheter
  4. Bifoga IAM-rollen till EC2
  5. Slutligen utnyttja SSRF-sårbarheten för att få säkerhetsuppgifter relaterade till IAM-rollen.

När stegsekvensen har slutförts i den nämnda bloggen ersätter du 5.6.7.8 med den offentliga IP-adressen till EC2 i nedanstående URL och öppnar den i webbläsaren. Säkerhetsuppgifterna som är associerade med IAM-rollen ska visas i webbläsaren enligt nedan. Så här hackades i princip Capital One. Med säkerhetsuppgifterna i handen kunde hackaren komma åt andra AWS-tjänster som S3 för att ladda ner data.

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

Steg 2: Skapa applikationsbelastningsutjämnaren

AWS WAF kan inte direkt associeras med en webbapplikation. Men kan bara associeras med Application Load Balancer, CloudFront och API Gateway. I den här handledningen skulle vi skapa Applikationsbelastningsutjämnare och associering av AWS WAF med samma.

Steg 2a: En målgrupp är en samling av EC2-förekomster och måste skapas innan du skapar applikationsbelastningsutjämnaren. I EC2 Management Console klickar du på målgruppen i den vänstra rutan och klickar på “Skapa målgrupp”.

Steg 2b: Ange målgruppens namn och klicka på “Skapa”. Målgruppen kommer att skapas.

komma igång med visuell studio

Steg 2c: Se till att målgruppen är vald och klicka på fliken Mål och klicka på redigera för att registrera EC2-förekomster i målgruppen.

Steg 2d: Välj EC2-förekomst och klicka på 'Lägg till i registrerad' och klicka på 'Spara'.

Förekomsten bör registreras enligt nedan för målgruppen.

vad gör format i python

Steg 2e: Dags att skapa applikationsbelastningsutjämnaren. Klicka på Load Balancer i den vänstra rutan i EC2 Management Console och klicka på “Create Load Balancer”.

Klicka på 'Skapa' för 'Application Load Balancer'.

Gå vidare med den här artikeln om ”Hur man säkrar webbapplikation med AWS WAF?”

Steg 2f: Ange namnet på Application Load Balancer. Och se till att alla tillgänglighetszoner är valda och klicka på Nästa.

Steg 2g: Klicka på Nästa under 'Konfigurera säkerhetsinställningar'.

Skapa en ny säkerhetsgrupp i 'Konfigurera säkerhetsgrupper' eller välj en av befintliga säkerhetsgrupper. Se till att port 80 är öppen för åtkomst till webbsidan på EC2. Klicka på Nästa.

Steg 2h: I 'Konfigurera routing' väljer du 'Befintlig målgrupp' och väljer den som har skapats i det tidigare steget. Klicka på Nästa.

Steg 2i: EC2-målinstanserna har redan registrerats som en del av målgrupperna. Så på fliken 'Registrera mål', utan några ändringar, klicka på Nästa.

Steg 2j: Slutligen granska alla detaljer i Application Load Balancer och klicka på Skapa. Applikationsbelastningsutjämnaren skulle skapas enligt nedan.

Steg 2k: Skaffa domännamnet på Application Load Balancer och ersätt den markerade texten i nedanstående URL och öppna samma i webbläsaren. Observera att vi kommer åt webbapplikationen via applikationsbelastningsutjämnaren och säkerhetsuppgifterna visas som visas nedan. Nedanstående URL kan blockeras med hjälp av AWS WAF som visas i de följande stegen för att stoppa läckage av säkerhetsuppgifter.

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

Steg 3: Skapa AWS WAF (brandvägg för webbapplikationer)

Steg 3a: Gå till AWS WAF Management Console och klicka på “Configure web ACL”. AWS WAF-översikten visas. Här är hierarkin för AWS WAF. Web ACL har en massa regler och regler har en massa villkor som vi skulle skapa i de följande stegen. Klicka på Nästa.

rekursionsfibonacci-serien i java

Steg 3b: Ange webb-ACL-namnet, regionen som North Virginia (eller där EC2 skapades), resurstypen 'Application Load Balancer' och välj slutligen Application Load Balancer som skapades i det tidigare steget. Klicka på Nästa.

Steg 3c: Här en villkor för att blockera en specifik webbapplikationsförfrågan måste skapas. Rulla nedåt och klicka på “Skapa villkor” för “String and regex match conditions”.

Steg 3d: Ange namnet på villkoret, skriv som 'Strängmatchning', filtrera på 'Alla frågeparametrar' och resten av parametrarna exakt som visas nedan. Och klicka på “Lägg till filter” och sedan på Skapa. Här försöker vi skapa ett villkor som matchar webbadressen som innehåller frågan för frågeparametern som 169.254.169.254. Denna IP-adress är relaterad till EC2-metadata .

Steg 3e: Nu är det dags att skapa en regel som är en samling villkor. Klicka på 'Skapa regel' och ange parametrarna som visas exakt nedan. Klicka på 'Lägg till villkor', Skapa och 'Granska och skapa'.

Gå vidare med den här artikeln om ”Hur man säkrar webbapplikation med AWS WAF?”

Steg 3f: Slutligen granska alla detaljer och klicka på “Bekräfta och skapa”. Webb-ACL (Access Control List) skapas och associeras med Application Load Balancer enligt nedan.

Steg 3g: Försök nu att komma åt Application Load Balancer URL via webbläsaren enligt vad som utförs i Steg 2k . Den här gången skulle vi få “403 Forbidden” eftersom vår URL matchar ACL-villkor för webben och vi blockerar den. Begäran når aldrig applikationsbelastningsutjämnaren eller webbapplikationen på EC2. Här märker vi att även om applikationen tillåter åtkomst till säkerhetsuppgifter, blockerar WAF detsamma.

Steg 4: Rensa upp AWS-resurser som skapats i den här självstudien. Rengöringen måste göras i exakt samma ordning som nämns nedan. Detta för att säkerställa att AWS stoppar faktureringen för tillhörande resurser som skapats som en del av den här självstudien.

  • Ta bort villkor i regeln
  • Ta bort regeln i WebACL
  • Ta bort ALB i WebACL
  • Ta bort WebACL
  • Ta bort regeln
  • Ta bort filtret i villkoret
  • Ta bort villkoret
  • Ta bort ALB och målgruppen
  • Avsluta EC2
  • Ta bort IAM-rollen

Slutsats

Som nämnts tidigare är det väldigt enkelt och intressant att skapa en webbapplikation med AWS. Men vi måste också se till att applikationen är säker och att informationen inte läcks ut i fel händer. Säkerheten kan tillämpas i flera lager. I denna handledning har vi sett hur man använder AWS WAF (Web Application Firewall) för att skydda webbapplikationen mot attacker som att matcha med IP-adressen till EC2-metadata. Vi kunde också ha använt WAF för att skydda mot vanliga attacker som SQL Injection och XSS (Cross Site Scripting).

Att använda AWS WAF eller i själva verket någon annan säkerhetsprodukt gör inte applikationen säker, men produkten måste konfigureras korrekt. Om de inte konfigureras ordentligt kan informationen komma i fel händer som det hände med Capital One och andra organisationer. Det andra viktiga att tänka på är också att säkerhet måste tänkas från första dagen och inte anslutas till applikationen i ett senare skede.

Detta leder oss till slutet av den här artikeln om hur man säkrar webbapplikationer med AWS WAF. Vi har också kommit med en läroplan som täcker exakt vad du skulle behöva för att knäcka lösningen Architect Exam! Du kan ta en titt på kursinformation för Träning.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i denna Vad är AWS-blogg så återkommer vi till dig.