Wie Verwenden von AWS-VPN-Sperren, Zugriff auf Ihre Server

0
178
Elaine333/Shutterstock

Wenn Sie möchten, führen Sie einen server in einem privaten Subnetz, müssen Sie verwenden ein VPN, um eine Verbindung herzustellen. AWS VPN ist ein managed OpenVPN-Dienst, kann dies für Sie, und Sie können zum sperren von öffentlichen Zugriff auf Ihre Instanzen geschützt.

Client-VPN vs. Standort-zu-Standort-VPN

AWS bietet zwei verschiedene Arten von VPN zur Verfügung für Sie zu nutzen. Die erste und einfachste ist die Client-VPN. Dies ist ein vollständig verwalteter elastischen VPN-service basiert auf OpenVPN. Kombiniert mit einem OpenVPN fähigen client-Gerät, das ermöglicht Benutzern Zugriff auf Ihre AWS-Infrastruktur von überall aus, als ob Sie wurden in das Netzwerk selbst.

Dies ermöglicht Ihren Mitarbeitern eine direkte Verbindung zu Servern in privaten Subnetzen, wie Datenbank-Servern, die Sie lieber nicht verlassen, web-facing. Sie können auch wählen, zu blockieren SSH auf public-Servern von überall das ist nicht auf dem lokalen Subnetz erlauben nur die Verwaltung von Benutzern mit dem VPN verbunden.

Das ist ziemlich großartig, und funktioniert sehr gut für große Unternehmens-workloads, aber wenn Sie nur bekommen habe ein paar Leute benötigen, um zu verbinden, wie es kann ziemlich teuer sein. Client-VPN hat zwei Gebühren—eine Pauschale Gebühr für jede VPN-verbunden mit einem Subnetz-und einem Honorar pro Stunde für jeden client angeschlossen. Die flat-Gebühr beträgt $75 pro Monat, und die Kosten pro Benutzer von $0,05 pro Stunde. Mit mäßiger Nutzung von ein paar Menschen, die Sie könnte leicht rack bis mehr als $100 in der Summe der Gebühren für Client-VPN. Und, natürlich, Sie entstehen alle standard-Datenübertragungsgebühren für das verschieben von Daten in AWS und aus dem internet.

Alle Client-VPN wirklich ist, ist ein managed OpenVPN-server, open source. Wenn Sie ein bisschen Zeit, Sie können Ihren eigenen OpenVPN-server auf einer EC2-Instanz, die deutlich weniger Kosten. Es ist ziemlich leicht, so dass, wenn die 75 $pro Monat Gebühr scheint wie eine Menge für Sie ist, können Sie wahrscheinlich führen Sie es auf einem t2.micro-instance für einen Bruchteil der Preis, den der VPN-Client.

Die zweite VPN, die AWS bietet, ist ein Site-to-Site-VPN. Anstatt den Anschluss mehrerer remote-clients, Site-to-Site VPN verbindet Ihre AWS VPC-direkt in das lokale Netz durch einen sicheren tunnel.

Dies ermöglicht es Ihnen, sich zu bewegen on-site-Anwendungen in die cloud und verbinden Sie diese direkt auf Ihrem bereits vorhandenen Netzwerk, unter Verwendung des gleichen Unternehmens-firewall, die Sie haben, und ohne änderung der Art, wie Sie Ihre Benutzer Zugriff auf Ihre Anwendungen. In einer Weise, Site-to-Site-VPN-einfach, sicher reicht Ihrem lokalen Netzwerk in die cloud, so dass Sie Zugriff auf die EC2-Instanzen in der gewählten VPC, als wären Sie auf Ihrem Netzwerk.

Site-to-Site-VPN wird eine hohe Elastizität und unterstützt sogar die redundante failover-verbindungen, wenn der primäre verliert die Verbindung aus irgendeinem Grund. Es ist auch preislich ein bisschen anders—Sie sind nur aufgeladene $36 pro Monat, pro Verbindung, aber zahlen Sie $0,09 pro GB an Daten, die übertragen werden, auf der Oberseite des standard-AWS-Gebühren für die Datenübertragung.

Einrichten eines Client-VPN

Wir zeigen, wie die Einrichtung eines VPN-Client hier, wie es die meisten vielseitig und nützlich, um Menschen ohne hardware vor Ort.

Bevor Sie loslegen, müssen Sie bei der Erstellung von Zertifikaten für den server und jeden client zu verwenden. Man könnte diese erzeugen mit ACM, erfordert aber die Einrichtung einer privaten Zertifizierungsstelle, die Kosten $400 pro Monat. Wenn Sie nicht das Gefühl, wie die Zahlung, die Kosten, die Sie generieren können Sie die Verwendung von easy-rsa von OpenVPN. Herunterladen und initialisieren einer neuen CA:

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

Nun erzeugen Sie ein client-Zertifikat, ersetzen Sie “client1.domain.tld” mit dem client-name und

./easyrsa erstellen-client-full client1.domain.tld nopass

Nun, wir müssen zum hochladen der Zertifikate ACM-Sie sind also nutzbar mit VPN-Client. Sie sind sich alle in der pki-Ordner, also cd-da drüben:

cd pki

und laden Sie die server-cert mit dieser eher klobig-Befehl, so dass Ihr CLI-region ist die gleiche region, die Sie beim erstellen der Client-VPN -, in:

aws import acm-Zertifikat
–Zertifikat-file://vergeben/server.crt
–private-key-file://private/server.key
–certificate chain file://ca.crt

Sie können auch die “Zertifikat Importieren” – Schaltfläche im ACM, die Sie haben werden fügen Sie den Inhalt von jeder Datei, aber es ist einfacher zu kopieren und einzufügen. Importieren Sie das client-Zertifikat in der gleichen Weise:

aws import acm-Zertifikat
–Zertifikat-file://vergeben/client1.domain.tld.crt
–private-key-file://private/client1.domain.tld.key
–certificate chain file://ca.crt

Jetzt können Sie VPN-Client. VPC-Management-Konsole, klicken Sie auf “Client-VPN-Endpunkte” unter “Network” (VPN)” – Abschnitt in der Seitenleiste, und erstellen Sie einen neuen Endpunkt.

Erste, Sie müssen geben die VPN eine CIDR-block, der nicht von der aktuellen VPC. Finden Sie Ihre VPC-block unter “your VPCs” – Registerkarte. Zum Beispiel, wenn Sie die Standard-block von 172.31.0.0/16, können Sie Client-VPN zu 172.16.0.0/16, die nicht überlappen.

Nächste, fügen Sie in den ARN für Ihre primäre server-Zertifikat (Sie finden diese in der ACM-Konsole), überprüfen Sie die “Verwendung der Gegenseitigen Authentifizierung” und fügen Sie in den ARN für die client-Zertifikate. Sie können diese client-cert für mehrere Benutzer, aber wenn Sie möchten einen besseren Weg, um den Zugriff verwalten, können Sie stattdessen verwenden Sie die Active Directory-Authentifizierung mit AWS Directory Service.

Das ist alles, was erforderlich ist, so gehen Sie vor und klicken Sie auf erstellen. Sie werden berechnet, sobald es erstellt wird.

Sie haben zu assoziieren diese VPN mit einer bestimmten VPC-Subnetz. Von der “Vereine” – Registerkarte, klicken Sie auf “Associate”, und wählen Sie dann die VPC-Subnetz, das Sie verwenden möchten.

Wenn Sie mit den Standardeinstellungen, die Sie haben, müssen Sie eine VPC verfügbar und mehrere Subnetze für jede availability zone. Wählen Sie die availability zone Subnetz, die Sie gerade verwenden.

Unter “Zulassung,” die Sie hinzufügen möchten, ein eindringen Regel, die den Zugriff auf das Subnetz, Sie assoziierten die VPN mit. Dies kann eine weitere bestimmte CIDR-block oder das gesamte Subnetz. Wenn Sie ANZEIGE, Sie können auch den Zugriff zu einer bestimmten Gruppe.

Aus der VPC-Konsole, klicken Sie auf “Download-Client-Konfiguration.” Dies wird herunterladen .ovpn-Datei, die Sie verwenden können, in jeder OpenVPN-client mit dem VPN verbinden. Jedoch, diese Datei kommt nur von der AWS mit der server-CA-Zertifikat, so dass Sie brauchen werden, um es zu öffnen, und fügen Sie in die /ausgestellt/client1.domain.tld.crt cert in <cert / > – block, und der /private/client1.domain.tld.key keyfile in ein < – Taste / > – block. Ihre .ovpn-Datei wird wie folgt Aussehen:

client
dev tun
proto udp
remote asdfa.cvpn-endpoint-0dbc42be17e0f2c68.prod.clientvpn.us-east-1.amazonaws.com 443
remote-random-hostname
resolv-retry infinite
nobind
persist-key
persist-tun
remote-cert-tls server
cipher AES-256-GCM
verb 3
<ca>
—–BEGIN CERTIFICATE—–

CA-SCHLÜSSEL

—–END CERTIFICATE—–

</ca>

<cert>
—–BEGIN CERTIFICATE—–

CLIENT-CRT-DATEI

—–END CERTIFICATE—–
</cert>
<key>
—–BEGIN PRIVATE KEY – – – – – –

CLIENT-SCHLÜSSEL-DATEI

—–END PRIVATE KEY – – – – – –
</key>

reneg-sec 0

Sie wollen auch zum Anhängen einer zufälligen Zeichenfolge, um die “remote-cvpn-Endpunkt-xxxxxx” Linie, etwa so:

remote-asdfa.cvpn-Endpunkt-xxxxxx….