Denne artikel fortæller dig, hvordan du kan sikre webapplikationer med WAF og følg den op med en praktisk demonstration. Følgende punkter vil blive dækket i denne artikel,
Så lad os komme i gang dengang,
Gå videre med denne artikel om 'Sådan sikres webapplikation med AWS WAF?'
Kom godt i gang med nogle grundlæggende
AWS leverer tjenester som EC2, ELB (Elastic Load Balancer), S3 (Simple Storage Service), EBS (Elastic Block Storage) for at skabe nyttige og smarte applikationer hurtigt og med mindre CAPEX (CAPITAL UDGIFTER). Mens du opretter disse applikationer, er det lige så vigtigt at sikre applikationen og beskytte dataene. Hvis de ikke er sikret ordentligt, kan applikationsdataene komme i de forkerte hænder som i tilfældet med den seneste Capital One hændelse .
Capital One var vært for en webapplikation på EC2, og den var ikke sikret ordentligt. En tidligere AWS-medarbejder var i stand til at udnytte denne sårbarhed og downloade reams af kundedata fra S3. Senere blev det konstateret, at data fra 30 andre organisationer også blev downloadet fra AWS. Så for at understrege det igen er det ikke bare nok at arkitekt og designe en applikation, men det er lige så vigtigt at sikre en applikation.
Capital One brugt AWS WAF (Firewall til webapplikationer) for at beskytte webapplikationen, men den blev ikke konfigureret korrekt, hvorfor hackeren var i stand til at få adgang til dataene i S3 og downloade dem. I denne artikel vil vi undersøge, hvordan man bruger og konfigurerer AWS WAF til at beskytte mod almindelige webangreb som SQL Injection, XSS (Cross Site Scripting) osv. AWS WAF skal konfigureres sammen med Application Load Balancer , CloudFront eller API Gateway. I dette scenarie bruger vi Application Load Balancer. Enhver anmodning fra kunden via browseren vil gå gennem AWS WAF og derefter til Application Load Balancer og endelig til Web Application på EC2. AWS WAF kan bruges til blokere den ondsindede anmodning fra hackerne ved hjælp af et sæt regler og betingelser.
Gå videre med denne artikel om 'Sådan sikres webapplikation med AWS WAF?'
Sekvens af trin for at komme i gang med AWS WAF
Trin 1: Oprettelse af en sårbar webapplikation,
Det første trin er at oprette en webapplikation, der er sårbar over for SSRF-angreb (Server Side Request Forgery) som nævnt i dette Blog om hvordan Capital One-angrebet skete. Denne blog har rækkefølgen af trin til:
- Opret en EC2
- Installer den nødvendige software til at oprette webapplikationen med SSRF-sårbarhed
- Opret og IAM-rolle med S3 Read Only-tilladelser
- Vedhæft IAM-rollen til EC2
- Endelig udnyt SSRF-sårbarheden for at få sikkerhedsoplysninger relateret til IAM-rollen.
Når sekvensen af trin er afsluttet i den nævnte blog, skal du udskifte 5.6.7.8 med den offentlige IP-adresse på EC2 i nedenstående URL og åbne den i browseren. Sikkerhedsoplysninger, der er knyttet til IAM-rollen, skal vises i browseren som vist nedenfor. Sådan hackes grundlæggende Capital One. Med sikkerhedsoplysningerne i hånden var hackeren i stand til at få adgang til andre AWS-tjenester som S3 for at downloade dataene.
http://5.6.7.8:80?url=http://169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
Trin 2: Oprettelse af applikationsbelastningsafbalanceren
AWS WAF kan ikke tilknyttes direkte til en webapplikation. Men kan kun tilknyttes Application Load Balancer, CloudFront og API Gateway. I denne vejledning opretter vi Applikationsbelastningsafbalancering og tilknytning af AWS WAF med det samme.
Trin 2a: En målgruppe er en samling af EC2-forekomster og skal oprettes, før du opretter Application Load Balancer. I EC2 Management Console skal du klikke på målgruppen i venstre rude og klikke på 'Opret målgruppe'.
Trin 2b: Indtast målgruppens navn, og klik på 'Opret'. Målgruppen oprettes med succes.
Trin 2c: Sørg for, at målgruppen er valgt, og klik på fanen Mål, og klik på rediger for at registrere EC2-forekomster i målgruppen.
Trin 2d: Vælg EC2-forekomst, og klik på 'Tilføj til registreret', og klik på 'Gem'.
Forekomsterne skal registreres som vist nedenfor for målgruppen.
Trin 2e: Tid til at oprette Application Load Balancer. Klik på Load Balancer i venstre rude i EC2 Management Console, og klik på 'Create Load Balancer'.
Klik på 'Opret' for 'Application Load Balancer'.
Gå videre med denne artikel om 'Sådan sikres webapplikation med AWS WAF?'
Trin 2f: Indtast navnet på Application Load Balancer. Og sørg for, at alle tilgængelighedszoner er valgt, og klik på Næste.
Trin 2g: I 'Konfigurer sikkerhedsindstillinger' skal du klikke på Næste.
I 'Konfigurer sikkerhedsgrupper' skal du oprette en ny sikkerhedsgruppe eller vælge en af de eksisterende sikkerhedsgrupper. Sørg for, at port 80 er åben for adgang til websiden på EC2. Klik på Næste.
Trin 2h: I 'Konfigurer routing' skal du vælge 'Eksisterende målgruppe' og vælge den, der er oprettet i det tidligere trin. Klik på Næste.
Trin 2i: EC2-målforekomsterne er allerede registreret som en del af målgrupperne. Klik på fanen 'Registrer mål' uden ændringer, klik på Næste.
Trin 2j: Endelig skal du gennemgå alle detaljerne i Application Load Balancer og klikke på Opret. Applikationsbelastningsafbalanceren oprettes som vist nedenfor.
Trin 2k: Få domænenavnet på Application Load Balancer, og erstat den markerede tekst i nedenstående URL, og åbn det samme i browseren. Bemærk, at vi får adgang til webapplikationen via Application Load Balancer, og sikkerhedsoplysninger vises som vist nedenfor. Nedenstående URL kan blokeres ved hjælp af AWS WAF som vist i de efterfølgende trin for at stoppe lækage af sikkerhedsoplysningerne.
MyALB-1929899948.us-east-1.elb.amazonaws.com ? url = http: //169.254.169.254/latest/meta-data/iam/security-credentials/Role4EC2-S3RO
ms sql tutorials til begyndere
Trin 3: Oprettelse af AWS WAF (Web Application Firewall)
Trin 3a: Gå til AWS WAF Management Console og klik på “Configure web ACL”. AWS WAF-oversigten vises. Her er hierarkiet for AWS WAF. Web ACL har en masse regler, og regler har en række betingelser, som vi opretter i de efterfølgende trin. Klik på Næste.
Trin 3b: Indtast web-ACL-navnet, regionen som North Virginia (eller hvor EC2 blev oprettet), ressourcetypen som 'Application Load Balancer' og vælg til sidst den Application Load Balancer, der blev oprettet i det tidligere trin. Klik på Næste.
Trin 3c: Her en betingelse for at blokere en bestemt anmodning om webapplikation skal oprettes. Rul ned og klik på 'Opret betingelse' for 'String and regex match conditions'.
Trin 3d: Indtast navnet på betingelsen, skriv som 'streng match', filtrer på 'Alle forespørgselsparametre' og resten af parametrene nøjagtigt som vist nedenfor. Og klik på 'Tilføj filter' og derefter på Opret. Her forsøger vi at oprette en betingelse, der matcher URL'en, der indeholder værdien af forespørgselsparameteren som 169.254.169.254. Denne IP-adresse er relateret til EC2-metadata .
Trin 3e: Nu er det tid til at oprette en regel, der er en samling af betingelser. Klik på 'Opret regel' og angiv parametrene som vist nøjagtigt nedenfor. Klik på 'Tilføj betingelse', Opret og 'Gennemgå og opret'.
Gå videre med denne artikel om 'Sådan sikres webapplikation med AWS WAF?'
Trin 3f: Endelig gennemgå alle detaljerne og klik på “Bekræft og opret”. Web ACL (Access Control List) oprettes og tilknyttes Application Load Balancer som vist nedenfor.
Trin 3g: Forsøg nu at få adgang til Application Load Balancer URL via browseren som udført i Trin 2k . Denne gang ville vi få '403 forbudt', da vores URL matcher ACL-tilstanden på nettet, og vi blokerer den. Anmodningen når aldrig applikationsbelastningsafbalanceren eller webapplikationen på EC2. Her bemærker vi, at selvom applikationen giver adgang til sikkerhedsoplysninger, blokerer WAF det samme.
Trin 4: Oprydning af AWS-ressourcer oprettet i denne vejledning. Oprydningen skal ske i nøjagtig samme rækkefølge som nævnt nedenfor. Dette er for at sikre, at AWS stopper faktureringen for de tilknyttede ressourcer, der er oprettet som en del af denne tutorial.
- Slet betingelse i reglen
- Slet reglen i WebACL
- Adskil ALB i WebACL
- Slet WebACL
- Slet reglen
- Slet filteret i tilstanden
- Slet betingelsen
- Slet ALB og målgruppen
- Afslut EC2
- Slet IAM-rollen
Konklusion
Som nævnt tidligere er det meget nemt og interessant at oprette en webapplikation ved hjælp af AWS. Men vi skal også sørge for, at applikationen er sikker, og at dataene ikke lækkes i de forkerte hænder. Sikkerheden kan anvendes i flere lag. I denne vejledning har vi set, hvordan man bruger AWS WAF (Web Application Firewall) til at beskytte webapplikationen mod angreb som at matche med IP-adressen på EC2 Metadata. Vi kunne også have brugt WAF til at beskytte mod almindelige angreb som SQL Injection og XSS (Cross Site Scripting).
Brug af AWS WAF eller faktisk ethvert andet sikkerhedsprodukt gør ikke applikationen sikker, men produktet skal konfigureres korrekt. Hvis de ikke er konfigureret korrekt, kan dataene komme i de forkerte hænder, som det skete med Capital One og andre organisationer. Den anden vigtige ting at overveje er også, at sikkerhed skal tænkes fra dag ét og ikke tilsluttes til applikationen på et senere tidspunkt.
Dette bringer os til slutningen af denne artikel om Sådan sikres webapplikationer med AWS WAF. Vi er også kommet med en læseplan, der dækker nøjagtigt, hvad du har brug for for at knække løsningsarkitekteksamen! Du kan se på kursusoplysningerne for uddannelse.
Har du et spørgsmål til os? Nævn det i kommentarfeltet på denne Hvad er AWS-blog, og vi vender tilbage til dig.