Overzicht #
De Elastic Load Balancer ( ELB ) van AWS verdeelt webverkeer over meerdere EC2- instanties, Elastic Container Service ( ECS ) en IP-adressen. ELB kan verkeer ook verdelen over verschillende beschikbaarheidszones om een hoge beschikbaarheid te garanderen. Er zijn echter een aantal beperkingen aan het gebruik van AWS ELB , waaronder:
- Beperkte load balancing-methoden. Standaard, ELB gebruikt alleen de ronde robijn algoritme en heeft beperkte mogelijkheden voor het wisselen van inhoud.
- Aangezien de ELB is ontworpen om het verkeer van internet naar de instanties in een Virtual Private Cloud te beheren(VPC)is het niet geschikt voor load balancing tussen on-premises resources.
In dit artikel bespreken we hoe u uw load balancing-services kunt vervangen door een beter alternatief, RELIANOID ADC. Voor een gedetailleerde vergelijking tussen AWS ELB en RELIANOID, zie dit artikel AWS en RELIANOID vergelijking.
Voorwaarden #
Zorg ervoor dat u aan deze vereisten voldoet voordat u probeert configuraties over te zetten van AWS ELB naar RELIANOID's volledig functionele ADC.
- A RELIANOID ADC-knooppunt moet op uw pc, bare-metal, virtuele omgeving worden geïnstalleerd, of er moet een actief knooppunt zijn ZVNwolk account. Vraag een taxatie aan voor implementatie op locatie.
- Men moet toegang hebben tot de grafische webinterface. Als je dat niet doet, volg dit dan snel Installatiegids.
- U moet een actieve gebruiker van AWS ELB zijn en bekend zijn met de concepten die we hieronder bespreken.
- Men moet een virtuele server kunnen creëren in de RELIANOID load-balancer. Hier is een korte handleiding: Laag 4 en Laag 7 virtuele serverconfiguratie.
Note
RELIANOID heeft een sjabloon in de AWS-marktplaatsDe inzet van RELIANOID op AWS verloopt naadloos en met slechts een paar klikken.
Basisconcepten #
Luisteraar: Een listener controleert op inkomend verkeer op laag 7 en stuurt dit door naar de benodigde doelgroep. Meestal wordt een listener geconfigureerd om te controleren op HTTP or HTTPS verkeer op havens 80 or 443 respectievelijk. De belangrijkste Layer 7-luisteraars die worden gebruikt door RELIANOID ADC zijn HTTP en HTTPS.
Doelgroep: Een doelgroep is een cluster van EC2-instanties die samenwerken om een dienst te verlenen. Al deze instanties binnen een doelgroep moeten dezelfde applicatiecode hebben die verzoeken van de clients verwerkt. Een doelgroep is hetzelfde als een Diensten bij gebruik RELIANOID ADC.
Gezondheidchecks: Statuscontroles controleren de werking en responsiviteit van een service op elke EC2-instantie. Wanneer de service of een EC2-instantie uitvalt, merken statuscontroles dit op en leidt de load balancer het verkeer om naar gezonde instanties. RELIANOID maakt gebruik van een set plug-ins genaamd Boerenbewaker om de gezondheidsstatus van Backend-servers en hun services te bewaken.
Load balancer-typen: AWS ELB biedt drie soorten loadbalancers. Deze omvatten: Toepassing, Netwerk en Classic load balancers. De klassieke load balancer wordt verouderd, waardoor alleen de Netwerk en Toepassing load balancers voor gebruik. RELIANOID ADC Layer 7-loadbalancers hebben een HTTP profiel terwijl de netwerkloadbalancers een L4xNAT profiel.
Beveiligingsgroep: Een beveiligingsgroep is een reeks firewallregels die het binnenkomende en uitgaande verkeer bewaken en beheren. RELIANOID ADC heeft een ingebouwde IPDS module met beleid dat is ingesteld om al het slechte verkeer naar de load balancer te filteren en alle pogingen tot ongeautoriseerde toegang te blokkeren. U kunt firewallregels maken door toegang te krijgen tot de WAF optie binnen de IPDS module.
ACM: Met de ACM-service kan een beheerder SSL/TLS-certificaten implementeren en beheren voor gebruik binnen interne, verbonden bronnen op AWS. Om interne SSL-certificaten binnen de RELIANOID load balancer, toegang via LSLB >> SSL-certificatenOf u kunt een aangepast zelfondertekend SSL-certificaat maken via de Laten we versleutelen programma ingebed op de RELIANOID load-balancer.
EC2-instanties of -doelen: Dit zijn downstream Linux virtuele servers die de applicatiecode hosten die verzoeken van het web verwerkt. Deze virtuele servers worden backends bij gebruik RELIANOID ADC.
Voorbeeldconfiguraties: SSL-certificaten #
Om gegevens die tussen clients en de load balancer worden verzonden te versleutelen, moet een SSL-certificaat worden geïnstalleerd om de communicatie tussen hosts te beveiligen. Gevoelige informatie zoals inloggegevens en creditcardnummers moet via een beveiligde transportlaag worden verzonden.
In deze sectie bespreken we de installatie van SSL-certificaten op RELIANOID ADC met verwijzing naar AWS ACM.
Een zelfondertekend SSL-certificaat configureren voor gebruik op AWS #
Volg deze stappen om een SSL-certificaat op de ELB te installeren.
- Om een te genereren CSR Voor uw EC2-instanties hebt u toegang nodig tot de Linux-console van die instantie.
- Nadat u verbinding hebt gemaakt met het EC2-exemplaar, navigeert u naar de directory: /etc/pki/tls/private/
- Genereer een nieuwe persoonlijke sleutel, 2048-bits RSA, met behulp van de volgende opdracht: sudo openssl genrsa -out custom.key
- Genereer een certificaat met de eerder gegenereerde persoonlijke sleutel met behulp van de opdracht: openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
- Vul de benodigde gegevens in die het SSL-certificaat vereist.
- Land: Voer 2 ISO-landcodes in.
- Staat / Provincie: Voer de provincie in waar uw bedrijf is gevestigd.
- Stad: Voer de naam van de stad in waar u zich bevindt.
- Populaire naam: Voer een volledig gekwalificeerde domeinnaam in FQDN, bijvoorbeeld www.relianoid.com
- wachtwoordzin of wachtwoord: U kunt het aanmaken van een wachtwoord voor dit voorbeeld overslaan. Het gegenereerde certificaat staat in de *.pem bestandsformaat.
- Compileer beide certificaten in een PKCS12-bundel met behulp van de opdracht:openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
- Ervan uitgaande dat AWS CLI al is geïnstalleerd, moet u doorgaans het gegenereerde certificaat (custom.crt) en de persoonlijke sleutel (custom.key) uploaden naar AWS Certificate Manager met behulp van de opdracht: aws acm import-certificate — certificaat file://custom.crt — private-key file://custom.key — regio us-east-2
- Dit certificaat is nu beschikbaar in de wizard voor het maken van een certificaat onder de optie ‘Kies een certificaat van ACM (aanbevolen)’.
Een zelfondertekend SSL-certificaat configureren voor gebruik op RELIANOID ADC #
- Om een aangepast SSL-certificaat voor uw te genereren RELIANOID ADC-instantie, zoek de volgende directory met behulp van de opdrachtregel van het apparaat.
- Genereer een persoonlijke sleutel zonder wachtwoordzin met de opdracht:
- Genereer een certificaatondertekeningsaanvraag (CSR) voor de persoonlijke sleutel met behulp van de opdracht:
- Vul de nodige gegevens in.
- Naam: Een beschrijvende naam voor het identificeren van de CSR.
- Land: De ISO-code van het land waar u zich bevindt.
- Gemeenschappelijke naam: Een volledig gekwalificeerde domeinnaam.FQDN), bijvoorbeeld www.example.com
- Afdeling: Uw afdeling, dat kan gezondheidszorg, IT of beveiliging zijn.
- Plaats: De stad waar u zich bevindt.
- Staat: De staat waar uw organisatie is gevestigd.
- Organisatie: De wettelijke naam voor uw organisatie, bijvoorbeeld RELIANOID SL.
- E-mailadres Voer je e-mailadres in. Het is niet verplicht om dit voor de domeinnaam te doen.
- Genereer een Zelfondertekend certificaat met zowel de privésleutel als het CSR-certificaat. In dit voorbeeld heeft het zelfondertekende certificaat een levensduur van 1 jaar en is de uitvoer in .PEMGebruik de volgende opdracht.
- Dit certificaat zal beschikbaar zijn voor gebruik binnen de LSLB >> SSL-certificaten pagina.
cd /usr/local/zevenet/config/certificaten
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
Wilt u meer weten over SSL-certificaten? RELIANOID ADC, raadpleeg deze bronnen:
Voorbeeldconfiguraties: Web Application Firewall #
Een WAF ( Web Application Firewall ) beschermt webapplicaties als beveiligingsmaatregel door kwaadaardig verkeer te filteren en te blokkeren. Een WAF wordt doorgaans vóór een load balancer geplaatst en is ontworpen om webapplicaties te beschermen tegen diverse kwaadaardige aanvallen, zoals cross-site scripting (XSS) , SQL-injectie en andere aanvallen, waaronder die in de top 10 van OWASP.
Door het binnenkomende HTTP-verkeer te inspecteren en te analyseren aan de hand van een reeks regels of een beveiligingsbeleid, blokkeert de WAF al het verkeer dat als onveilig wordt beschouwd. RELIANOID ADC biedt geavanceerdere beveiligingsfuncties, zoals IP-zwarte lijsten, een RBL-beleid, DoS-beveiliging, enzovoort.
In dit gedeelte beschrijven we hoe u zich kunt beschermen tegen SQL injectie in AWS en simuleer vergelijkbare configuraties met RELIANOID ADC.
AWS-configuraties #
Om SQL-injectiebeveiliging in te schakelen , moet u minimaal één of twee EC2-instanties achter een Elastic Load Balancer hebben geplaatst. Op deze EC2-instanties moet de webapplicatie draaien die u wilt beschermen.
- Zoek in de webconsole van AWS naar WAF en schilden klik op de link die verschijnt.
- Klik op de Web-ACL menu-item.
- Selecteer de regio waaruit uw verkeer afkomstig zal zijn, bijvoorbeeld Europa (Frankfurt).
- Klik op de Web-ACL maken knop.
- Onder Regels en regelgroepen toevoegen, Klik op de Voeg regels toe pijltje naar beneden.
- Selecteren Beheerde regelgroepen toevoegen. U vindt meer beheerde regelgroepen, waaronder Botcontrole, Amazon IP-reputatielijst, SQL-databases, Etc.
- Selecteren SQL-database door de wisselknop in te schakelen Toevoegen aan web-ACL.
- Scroll naar beneden en klik op de Voeg de regel knop.
- Binnen Standaardactie voor regels die niet overeenkomen, laat de optie zoals Allow.
- Klik op de Volgende knop.
- Binnen Prioriteit van regel instellen sectie, gebruik deze sectie om prioriteit aan een regel toe te voegen en klik vervolgens op de knop, Volgende.
- Binnen Metrieken configureren sectie, er is niets te veranderen, dus klik op de knop, Volgende.
- Binnen Web-ACL beoordelen en maken sectie, klik op de Web-ACL maken knop.
- Nadat u met succes een web-ACL hebt gemaakt, klikt u op de ACL die u zojuist hebt gemaakt.
- Klik op het tabblad met Gekoppelde AWS-bronnen.
- Voeg de applicatie-loadbalancer toe die u wilt beveiligen. Nadat u de resources hebt toegevoegd, wordt uw regel zo ingesteld dat elke injectie in de SQL-database wordt geblokkeerd.
RELIANOID configuraties #
Om SQL-injectiebeveiliging in te schakelen, moet u eerst een WAF-regelset aanmaken.
- Ga naar IPDS in het zijmenu en klik erop om het uit te vouwen.
- Klik op de WAF mogelijkheid om het uit te breiden.
- Klik op de regelsets optie.
- Klik op de WAF-regelset maken knop.
- een toewijzen Naam die deze regelset gemakkelijk identificeert.
- Verlaat de Regelset kopiëren veld als –Geen regels–.
- Klik op de Toepassen Knop om de wijzigingen op te slaan.
- Binnen algemene instellingen, schakel de Controleer de aanvraagtekst optie.
- Wijzig de standaardactie naar Weigeren: knip het verzoek af en voer de resterende regels niet uit
- Klik op de Toepassen Knop om de wijzigingen op te slaan.
Regels instellen #
- Klik op de Regels tabblad om nieuwe regels toe te voegen.
- Klik op de Nieuwe regel knop.
- Selecteer het regeltype als Actie.
- Selecteer het Fase as Verzoekinstantie ontvangen.
- Selecteer het Resolutie as Weigeren: knip het verzoek af en voer de resterende regels niet uit.
- Voeg een beschrijving toe aan de regel om gemakkelijk te kunnen identificeren waar de regel over gaat
- Klik op de Toepassen Knop om de wijzigingen op te slaan.
Voorwaarden toevoegen #
- Klik op de nieuw aangemaakte regel om voorwaarden toe te voegen. Begin door te klikken op de Voorwaarde creëren knop.
- Binnen Variabelen veld, selecteer AANVRAAG_BODY En klik op de knop Variabele toevoegen knop.
- Binnen Transformatie veld, selecteer de optie, geen.
- Binnen Operator sectie, selecteer detectSQLi
- Klik op de Toepassen knop om de nieuwe voorwaarde te creëren.
Regels inschakelen voor een farm #
- Klik op de Boerderijen tabblad om deze regel toe te voegen aan een virtuele doelserver (farm) op de load balancer.
- Binnen Boerderijinstellingen, sleep en zet de geselecteerde boerderij neer van Beschikbare boerderijen naar Ingeschakelde boerderijen.
- In de rechterbovenhoek staan ActiesKlik op de groene afspeelknop om de regel te starten. Op dit moment blokkeert de WAF-regel elke SQL-injectie die in de aanvraagtekst is ingesloten, meestal via zoek- of inlogformulieren.
Voor meer informatie over de WAF kunt u de volgende artikelen raadplegen:
Aanvullende bronnen #
Het Let's encrypt-programma gebruiken om automatisch een SSL-certificaat te genereren.
Datalink/Uplink-loadbalancing Met RELIANOID ADC.
DNS-loadbalancing met RELIANOID ADC.
Bescherming tegen DDoS-aanvallen.
Applicatie-, status- en netwerkmonitoring in RELIANOID ADC.



