Hoe te Gebruiken AWS VPN afsluiten van de Toegang tot Uw Servers

0
169
Elaine333/Shutterstock

Als u wilt om een server te draaien in een eigen subnet, moet u gebruik maken van een VPN-verbinding te maken. AWS VPN is een beheerde OpenVPN service die overweg kan dit voor u, en kunt u het vergrendelen van de openbare toegang tot uw beveiligde exemplaren.

VPN-Client versus Site-to-Site VPN

AWS heeft twee verschillende soorten VPN beschikbaar voor u om te gebruiken. De eerste en eenvoudigste is de VPN-Client. Dit is een volledig beheerde elastische VPN-dienst is gebaseerd op OpenVPN. In combinatie met een OpenVPN clients apparaat, dit stelt gebruikers in staat om toegang te krijgen tot uw AWS infrastructuur van overal, als waren zij in het netwerk zelf.

Dit geeft uw medewerkers de mogelijkheid om rechtstreeks te verbinden met servers in de privé subnetten, zoals database-servers die u liever niet vertrekken internet-facing. U kunt ook kiezen voor het blokkeren van SSH op publieke servers van overal die niet op het lokale subnet bevindt, die alleen de administratie van gebruikers aangesloten op het VPN-netwerk.

Dit is vrij groot, en het werkt heel goed voor grote zakelijke workloads, maar als u alleen maar een paar mensen nodig om verbinding te maken, als het kan heel duur zijn. VPN-Client heeft twee kosten—kosten van een vaste vergoeding voor elke VPN-geassocieerd met een subnet, en een vergoeding per uur voor elke client is aangesloten. De vaste vergoeding is € 75 per maand, en de kosten per gebruiker van $0,05 per uur. Met een matige gebruik van een paar mensen, je kon gemakkelijk rack up meer dan $100 in de totale kosten voor VPN-Client. En, natuurlijk, zal u maakt alle standaard kosten voor gegevensoverdracht in rekening voor het verplaatsen van gegevens rond AWS en om het internet.

Alle VPN-Client is echt een geslaagd OpenVPN server, die is open source. Als je een beetje van de tijd, kunt u uw eigen OpenVPN server op een EC2 instance, waarvan de kosten aanzienlijk minder. Het is vrij licht, dus als de $75 per maand vergoeding lijkt veel voor u, kunt u waarschijnlijk draaien op een t2.micro aanleg voor een fractie van de prijs van de VPN-Client.

De tweede VPN dat AWS biedt een Site-to-Site VPN. Plaats van het aansluiten van meerdere externe klanten, de Site-to-Site VPN-verbinding uw AWS VPC direct naar uw lokale netwerk via een beveiligde tunnel.

Dit stelt u in staat om te bewegen op het terrein applicaties naar de cloud en sluit ze rechtstreeks aan op uw bestaande netwerk, met behulp van dezelfde corporate firewall heb je in de plaats, en zonder het veranderen van de manier waarop uw gebruikers toegang tot uw applicaties. Op een manier, Site-to-Site VPN op een veilige breidt uw lokale netwerk in de cloud, zodat u toegang EC2 exemplaren in de gekozen VPC alsof ze op uw netwerk.

Site-to-Site VPN is zeer elastisch, en biedt zelfs ondersteuning voor failover redundante verbindingen als de primaire verbinding verliest voor welke reden dan ook. Het is ook de prijs een beetje anders—u bent slechts een toeslag van $36, – per maand, per aansluiting, maar betaalt u $0,09 per GB gegevens die is overgebracht uit, op de top van de norm AWS data kosten.

Het opzetten van een VPN-Client

We zullen zien hoe het opzetten van een VPN-Client hier, want het is de meest veelzijdige en nuttig voor mensen zonder on-premise hardware.

Voordat u begint, moet u het maken van certificaten voor de server en elke client te gebruiken. Je zou kunnen genereren van de ACM, maar het vereist het opzetten van een eigen certificate authority, die kost $400 per maand. Als u niet het gevoel dat het betalen van die kosten, kunt u het genereren van hen het gebruik van easy-rsa van OpenVPN. Download en initialiseren van een nieuwe CA:

git clone https://github.com/OpenVPN/easy-rsa.git
cd easy-rsa/easyrsa3
./easyrsa init-pki
./easyrsa bouwen-ca nopass
./easyrsa bouwen-server-volledige server nopass

Nu, het genereren van een certificaat, het vervangen van “client1.domein.tld” met de naam van de klant en

./easyrsa bouwen-client-volledige client1.domein.tld nopass

Nu, we moeten het uploaden van de certificaten aan de ACM dus ze zijn bruikbaar met VPN-Client. Ze zijn allemaal gelegen in de pki-map, zodat de cd daar:

cd pki

en het uploaden van de server cert behulp van deze nogal onhandig opdracht ervoor te zorgen dat uw CLI regio ligt in dezelfde regio u bent het maken van de VPN-Client in:

aws acm import-certificaat
–certificaat file://uitgegeven/server.crt –
–private key file://private/server.sleutel
–certificaat-ketting file://ca.crt

U kunt ook gebruik maken van het “Certificaat Importeren” – knop in de ACM, die zal u en plakt u de inhoud van elk bestand, maar het is makkelijker om te kopiëren en plakken. Het importeren van de client certificaat op dezelfde manier:

aws acm import-certificaat
–certificaat file://uitgegeven/client1.domein.tld.crt –
–private key file://private/client1.domein.tld.sleutel
–certificaat-ketting file://ca.crt

Nu, u kunt het opzetten van VPN-Client. Van de VPC Management Console, klik op “VPN-Client Eindpunten” onder “Network (VPN) -” sectie in de zijbalk, en maak een nieuw eindpunt.

Ten eerste, je nodig hebt om de VPN-een CIDR block die niet wordt gebruikt door uw huidige VPC. U kunt uw VPC ‘s block onder ‘Uw VPCs” tabblad. Bijvoorbeeld, als u het standaard blokkeren van 172.31.0.0/16, kunt u de VPN-Client te 172.16.0.0/16, die niet overlappen.

Plak vervolgens in de ARN voor uw primaire server certificaat (u kunt deze vinden in de ACM Console), vink “Gebruik Wederzijdse Verificatie,” en plak in de ARN voor de client certificaten. Je kunt gebruik maken van deze cliënt cert voor meerdere gebruikers, maar als je graag een betere manier voor het beheren van toegang, kunt u in plaats daarvan gebruik maken van Active Directory-verificatie met AWS Directory Service.

Dat is alles wat nodig is, dus ga je gang en klik op maken. U zal in rekening worden gebracht zodra het is gemaakt.

U zult associëren deze VPN met een bepaalde VPC en subnet. Van de “Verenigingen” tab, klik op “Associate” en selecteer vervolgens de VPC en subnet u wilt gebruiken.

Als u de standaardinstellingen, je hebt een VPC beschikbaar en meerdere subnetten voor elk beschikbaarheid zone. Selecteer de beschikbaarheid zone subnet u momenteel gebruikt.

Onder “Autorisatie” je wilt toevoegen binnendringen van een regel die toegang tot het subnet verbonden met de VPN-met. Dit kan een meer specifieke CIDR-block of de hele subnet. Als u AD, u kunt ook de toegang beperken tot een bepaalde groep.

Van de VPC-console, klik op “Download Client Configuratie.” Dit zal het downloaden van een .ovpn-bestand dat u kunt gebruiken in een OpenVPN client om verbinding te maken met de VPN. Echter, alleen dit bestand komt van AWS met de server CA-certificaat, dus je zult moeten om het te openen en te plakken in de /uitgegeven/client1.domein.tld.crt-cert in een <cert /> blok, en de /private/client1.domein.tld.toets keyfile in een <key /> blokkeren. Uw .ovpn-bestand ziet er ongeveer als volgt uit:

opdrachtgever
dev tun
proto udp
afstand asdfa.cvpn-endpoint-0dbc42be17e0f2c68.prod.clientvpn.us-east-1.amazonaws.com 443
remote-random-hostnaam
resolv-oneindige probeer het opnieuw
nobind
aanhouden-toets
aanhouden-tun
remote-cert-tls-server
cipher AES-256-GCM
werkwoord 3
<ca>
—–BEGINNEN CERTIFICAAT—–

CA-TOETS

—–END CERTIFICATE—–

</ca>

<cert>
—–BEGINNEN CERTIFICAAT—–

OPDRACHTGEVER CRT-BESTAND

—–END CERTIFICATE—–
</cert>
<key>
—–BEGIN EEN EIGEN TOETS—–

CLIENT KEY-BESTAND

—–END PRIVATE KEY—–
</key>

reneg-sec 0

U zult ook willen aan toevoegen dat een willekeurige tekenreeks met de ‘remote cvpn-endpoint-xxxxxx” – regel:

externe asdfa.cvpn-endpoint-xxxxxx….