Indhold
Oversigt
Det (AWS) Elastisk belastningsbalancer (ELB) distribuerer webtrafik på tværs af flere EC2 instanser, Elastic Container Service (ECS), og IP-adresser. ELB har også evnen til at balancere trafik på tværs af forskellige tilgængelighedszoner for at sikre høj tilgængelighed. Der er dog flere begrænsninger for at bruge AWS's ELB, og disse inkluderer:
- Begrænsede belastningsbalanceringsmetoder. Som standard, ELB bruger kun Runde Robin algoritme, og den har begrænsede indholdsskiftemuligheder.
- Eftersom ELB er designet til at administrere trafik fra internettet til instanserne i en Virtual Private Cloud(VPC), den er ikke egnet til belastningsbalancering mellem lokale ressourcer.
I denne artikel vil vi diskutere, hvordan man kan erstatte sine lastbalanceringstjenester med et bedre alternativ, ZEVENET ADC. For at få en detaljeret sammenligning mellem AWS ELB og ZEVENET, se denne artikel AWS og ZEVENET sammenligning.
Forudsætninger
Sørg for, at du opfylder disse krav, før du forsøger at overføre konfigurationer fra AWS ELB til ZEVENETs fuldt udstyrede ADC.
- En ZEVENET ADC node skal være installeret på din pc, bare-metal, virtuelle miljø, eller man skal have en aktiv ZVNcloud konto. Anmod om en evaluering til on-premise implementering.
- Man skal have adgang til den grafiske webgrænseflade. Hvis du ikke gør det, så følg dette hurtigt Installationsvejledning.
- Man skal være en aktiv bruger af AWS ELB og være bekendt med de begreber, vi vil diskutere i afsnittet nedenfor.
- Man skal kunne oprette en virtuel server i ZEVENET load balancer. Her er en hurtig guide: Layer 4 og Layer 7 Virtual Server Configuration.
Bemærk
ZEVENET har en skabelon i AWS markedsplads. Implementeringen af ZEVENET på AWS er problemfri og bør ske med et par klik.
Basale koncepter
Lytter: En lytter tjekker for lag 7 indgående trafik og sender den videre til den nødvendige målgruppe. Normalt vil en lytter blive konfigureret til at tjekke efter HTTP or HTTPS trafik på havne 80 or 443 henholdsvis. De vigtigste Layer 7-lyttere, der bruges af ZEVENET ADC, er HTTP HTTPS.
Målgruppe: En målgruppe er en klynge af EC2-instanser, der arbejder sammen om at levere en service. Alle disse instanser inden for en målgruppe skal have den samme applikationskode, som behandler anmodninger fra klienterne. En målgruppe er det samme som en Service ved brug af ZEVENET ADC.
Sundhedscheck: Sundhedstjek overvåger driften og reaktionsevnen af en tjeneste på hver EC2-instans. Når tjenesten eller en EC2-instans går ned, vil sundhedstjek bemærke manglende respons, og load balanceren vil omdirigere trafikken til sunde instanser. ZEVENET bruger et sæt plugins kaldet Farmguardian at overvåge sundhedsstatus for Backend-servere og deres tjenester.
Load balancer typer: AWS ELB leverer tre typer belastningsbalancere. Disse omfatter Anvendelse, Netværk klassisk belastningsbalancere. Den klassiske load balancer er ved at blive forældet, og kun efterlader Netværk Anvendelse belastningsbalancere til brug. ZEVENET ADC Layer 7 load balancers har en HTTP profil, mens netværksbelastningsbalancerne har en L4xNAT profil.
Sikkerhedsgruppe: En sikkerhedsgruppe er et sæt firewall-regler, der overvåger og kontrollerer indgående og udgående trafik. ZEVENET ADC har en indbygget IPDS modul med politikker indstillet til at filtrere enhver dårlig trafik til belastningsbalanceren og også blokere alle forsøg på uautoriseret adgang. Du kan oprette firewall-regler ved at få adgang til WAF mulighed inden for IPDS modul.
ACM: ACM-tjenesten gør det muligt for en administrator at implementere og administrere SSL/TLS-certifikater til brug inden for interne forbundne ressourcer på AWS. For at administrere interne SSL-certifikater i ZEVENET load balancer skal du få adgang til dem via LSLB >> SSL-certifikater. Eller du kan oprette et brugerdefineret selvsigneret SSL-certifikat gennem Lad os kryptere program indlejret på ZEVENET load balancer.
EC2-forekomster eller -mål: Disse er downstream virtuelle Linux-servere, der hoster applikationskoden, der behandler anmodninger modtaget fra internettet. Disse virtuelle servere kaldes underliggende programmer ved brug af ZEVENET ADC.
Eksempelkonfigurationer: SSL-certifikater
For at kryptere data, der transmitteres mellem klienter og belastningsbalanceren, skal der installeres et SSL-certifikat for at holde kommunikationen mellem værter sikker. Følsomme oplysninger som f.eks login credentials kreditkortnumre skal overføres over et sikkert transportlag.
I dette afsnit vil vi diskutere installationen af SSL-certifikater på ZEVENET ADC med henvisning til AWS ACM.
Konfiguration af et selvsigneret SSL-certifikat til brug på AWS
Man ville følge disse trin for at installere et SSL-certifikat på ELB.
- At generere en CSR for dine EC2-instanser skal du have adgang til Linux-konsollen for den instans.
- Når du har oprettet forbindelse til EC2-instansen, skal du navigere til biblioteket: /etc/pki/tls/private/
- Generer en ny privat nøgle, 2048-bit RSA ved hjælp af følgende kommando: sudo openssl genrsa -out custom.key
- Generer et certifikat, der giver den forrige generer private nøgle ved hjælp af kommandoen: openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
- Udfyld de nødvendige oplysninger, der kræves af SSL-certifikatet.
- Land: Indtast 2 ISO-landekoder.
- Stat / provins: Indtast den provins, hvor din virksomhed er placeret.
- By: Indtast bynavnet, hvor du befinder dig.
- Almindeligt navn: Indtast et fuldt kvalificeret domænenavn FQDN, for eksempel www.zevenet.com
- adgangskode eller adgangskode: Du kan ignorere at oprette en adgangskode til dette eksempel. I mellemtiden vil det genererede certifikat være i *.pem filformat.
- Kompiler begge certifikater til en PKCS12-pakke ved hjælp af kommandoen:openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
- Forudsat at AWS CLI allerede er installeret, skal man normalt uploade det genererede certifikat (custom.crt) og den private nøgle (custom.key) til AWS Certificate Manager ved hjælp af kommandoen: aws acm import-certifikat — certifikat fil://custom.crt — privat-nøgle fil://custom.key — region us-east-2
- Dette certifikat vil nu være tilgængeligt i oprettelsesguiden under "Vælg et certifikat fra ACM (anbefales)".
Konfiguration af et selvsigneret SSL-certifikat til brug på ZEVENET ADC
- For at generere et brugerdefineret SSL-certifikat til din ZEVENET ADC-instans skal du finde følgende mappe ved hjælp af apparatets kommandolinje.
- Generer en privat nøgle uden en adgangssætning ved hjælp af kommandoen:
- Generer en anmodning om certifikattegn (CSR) for den private nøgle ved hjælp af kommandoen:
- Udfyld de nødvendige oplysninger.
- Navn: Et beskrivende navn til identifikation af CSR.
- Land: ISO-koden for det land, hvor du befinder dig.
- Almindeligt navn: Et fuldt kvalificeret domænenavn. (FQDN), f.eks. www.example.com
- Division: Din afdeling, og det kan være sundhed, IT eller sikkerhed.
- lokalitet: Byen hvor du befinder dig.
- Tilstand: Den stat, hvor din organisation er placeret.
- Organisation: Det juridiske navn for din organisation, f.eks. ZEVENET SL.
- Email adresse: Indtast din e-mailadresse. Ikke et must, at det skal være en for domænenavnet.
- Generer en Selvsigneret certifikat ved at bruge både den private nøgle og CSR-certifikatet. For dette eksempel vil det selvsignerede certifikat have en levetid på 1 år, og outputformatet vil være i .PEM. Brug følgende kommando.
- Dette certifikat vil være tilgængeligt til brug inden for LSLB >> SSL-certifikater sektion.
cd /usr/local/zevenet/config/certificates
openssl genrsa -out custom.key 2048
openssl req -new -key custom.key -out custom.csr
openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
For at lære mere om SSL-certifikater på ZEVENET ADC, se disse ressourcer:
Eksempel på konfigurationer: Web Application Firewall
Som en sikkerhedsfunktion har A WAF beskytter en webapplikation ved at filtrere og blokere ondsindet trafik. En WAF er typisk installeret foran en load balancer og er designet til at beskytte webapplikationer mod forskellige ondsindede angreb som f.eks. cross-site scripting (XSS), SQL-indsprøjtning, og andre angreb, inklusive dem i OWASPs top 10.
Ved at inspicere indgående HTTP-trafik og analysere den i forhold til et sæt regler eller en sikkerhedspolitik, vil WAF blokere al den trafik, der anses for usikker. ZEVENET ADC tilbyder mere avancerede sikkerhedsfunktioner som IP blacklisting, en RBL-politik, DoS-beskyttelse osv.
I dette afsnit vil vi beskrive, hvordan du beskytter dig mod SQL-indsprøjtning i AWS og simuler lignende konfigurationer med ZEVENET ADC.
AWS konfigurationer
At muliggøre SQL-indsprøjtning beskyttelse, skal du have mindst en eller 2 EC2-instanser placeret bag en Elastic load balancer. Disse EC2-instanser skal have den webapplikation, du gerne vil beskytte.
- I AWS's webkonsol skal du søge efter WAF og skjold, og klik på linket, der vises.
- Klik på Web ACL menupunkt.
- Vælg f.eks. den region din trafik vil komme fra Europa (Frankfurt).
- Klik på knappen Opret web-ACL .
- Under Tilføj regler og regelgrupper, klik på Tilføj regler drop-down pil.
- Type Tilføj administrerede regelgrupper. Du finder flere administrerede regelgrupper, bl.a Bot kontrol, Amazon IP-omdømmeliste, SQL databaserOsv
- Type SQL-database ved at aktivere skifteknappen Tilføj til web-ACL.
- Rul ned, og klik på Tilføj regel .
- Inden for Standardhandling for regler, der ikke stemmer overens, lad indstillingen være som Tillad.
- Klik på knappen Næste .
- Inden for Indstil regelprioritet sektion, brug denne sektion til at tilføje prioritet til en regel, og klik derefter på knappen, Næste.
- Inden for Konfigurer metrics sektion, der er intet at ændre, så klik på knappen, Næste.
- Inden for Gennemgå og opret web-ACL afsnit, klik på Opret web-ACL .
- Når du har oprettet en web-ACL, skal du klikke på den ACL, du lige har oprettet.
- Klik på fanen med Tilknyttede AWS-ressourcer.
- Tilføj den applikationsbelastningsbalancer, som du vil beskytte. Når du har tilføjet ressourcerne, vil din regel blive indstillet til at blokere enhver indsprøjtning til sql-databasen.
ZEVENET konfigurationer
For at aktivere SQL-injektionsbeskyttelse skal du oprette en WAF regelsæt først.
- Gå til IPDS på sidemenuen, og klik for at udvide den.
- Klik på WAF mulighed for at udvide den.
- Klik på Regelsæt valgmulighed.
- Klik på Opret WAF-regelsæt .
- Tildel en Navn der let identificerer dette regelsæt.
- Forlad Kopier regelsæt felt som -Ingen regelsæt-.
- Klik på knappen Indløs knappen for at gemme ændringerne.
- Inden for globale indstillinger, slå på Tjek anmodningstekst valgmulighed.
- Skift standardhandlingen til Afvis: Klip anmodningen og udfør ikke regler tilbage
- Klik på knappen Indløs knappen for at gemme ændringerne.
Indstilling af regler
- Klik på Regler fanen for at tilføje nye regler.
- Klik på Ny regel .
- Vælg regeltypen som Handling.
- Vælg Fase as Anmodningslegeme modtaget.
- Vælg Løsning as Afvis: Klip anmodningen og udfør ikke regler tilbage.
- Tilføj en beskrivelse til reglen for nemt at identificere, hvad reglen handler om
- Klik på knappen Indløs knappen for at gemme ændringerne.
Tilføjelse af betingelser
- Klik på den nyoprettede regel for at tilføje betingelser. Start med at klikke på Opret tilstand .
- Inden for Variabler felt, vælg REQUEST_BODY og klik på Tilføj variabel .
- Inden for Transformation felt, vælg indstillingen, ingen.
- Inden for Operatør sektion, vælg detectSQLi
- Klik på knappen Indløs knappen for at oprette den nye betingelse.
Aktivering af regler til en gård
- Klik på Gårde fanen for at tilføje denne regel til en virtuel målserver (Farm) på belastningsbalanceren.
- Inden for Gårdindstillinger, træk og slip den valgte gård fra Tilgængelige gårde til Aktiverede gårde.
- I øverste højre hjørne er der handlinger. Klik på den grønne afspilningsknap for at starte reglen. I dette øjeblik vil WAF-reglen blokere enhver sql-injektion, der er indlejret i anmodningsteksten, for det meste gennem søge- eller login-formularer.
For flere ressourcer om WAF, se disse artikler:
Yderligere ressourcer
Brug af programmet Let's encrypt til at autogenerere et SSL-certifikat.
Datalink/Uplink belastningsbalancering Med ZEVENET ADC.
DNS belastningsbalancering med ZEVENET ADC.
Beskyttelse mod DDoS-angreb.
Applikations-, sundheds- og netværksovervågning i ZEVENET ADC.