Einer unserer Kunden, der sensible Kundendaten verarbeitet, benötigte eine sichere Cloud-Infrastruktur für seine Webanwendungen und Datenbanken. Wir implementierten ein NAT-Gateway in einer VPC, um Instanzen in privaten Subnetzen den Zugang zum Internet für Updates und API-Aufrufe zu ermöglichen und gleichzeitig den eingehenden Datenverkehr zu blockieren. Diese Lösung bietet einen Internetzugang für private Instanzen, ohne sie direkt dem öffentlichen Internet auszusetzen, was die Sicherheit erhöht. So haben wir es gemacht:
Dieses Diagramm veranschaulicht eine typische VPC-Einrichtung, die in drei Hauptbereiche unterteilt ist: VPC, öffentliches Teilnetz und privates Teilnetz. Zunächst haben wir den äußeren grünen Kasten, den VPC, der die Ressourcen darin von anderen Netzwerken isoliert. Die Benutzer greifen über das öffentliche Internet mit einer statischen IP-Adresse, die über 1:1-NAT zugewiesen wird, auf den Webserver zu. Der Webserver verarbeitet die Anfragen und kommuniziert, falls erforderlich, mit dem Datenbankserver. Der Webserver kommuniziert mit dem Datenbankserver über den Routerserver. Der Router Server verwendet Custom NAT, um den Datenverkehr zwischen dem öffentlichen und dem privaten Teilnetz sicher zu leiten. Der Datenbankserver, der sich im privaten Subnetz befindet, erhält Anfragen vom Webserver über VLAN. Die Isolierung des privaten Subnetzes stellt sicher, dass der Datenbankserver nicht direkt mit dem Internet verbunden ist, was die Sicherheit erhöht. In diesem Lernprogramm werden wir die Schritte zur Einrichtung dieser Architektur durchgehen, um eine sichere und effiziente Kommunikation zwischen dem privaten und dem öffentlichen Subnetz zu gewährleisten. Wir erstellen eine VPC mit einem öffentlichen und einem privaten Subnetz, konfigurieren das NAT-Gateway und richten die VLAN ein.
Tutorial
In diesem Tutorial werden wir ein NAT-Gateway in einer VPC erstellen, genau wie in dem Diagramm, das wir gerade durchgegangen sind. Wenn Sie bereits ein Linode-Konto haben, können Sie zu Schritt 1 übergehen. Wenn Sie noch keinen Linode-Account haben, verwenden Sie diesen Link, um sich anzumelden und 100 Dollar kostenloses Guthaben zu erhalten, mit dem Sie die folgenden Schritte durchführen können. Im Linode-Dashboard erstellen wir eine VPC mit zwei Subnetzen: ein öffentliches und ein privates Subnetz. Im privaten Subnetz fügen wir eine Datenbank hinzu, und im privaten Subnetz fügen wir 2 Instanzen hinzu: eine, die als Webserver fungiert, und eine, die als Routerserver fungiert (benutzerdefiniertes NAT).
Schritt 1: Erstellen einer VPC
Der erste Schritt zum Aufbau eines NAT-Gateways in einer VPC besteht darin, die VPC zu erstellen, um unsere Ressourcen logisch zu isolieren. Erinnern Sie sich, dass dies der grüne Kasten aus dem Diagramm ist, das wir durchgegangen sind. Die privaten und öffentlichen Subnetze werden sich innerhalb dieser VPC befinden.
Um dies zu tun, klicken Sie im Linode Cloud Manager auf VPC auf der linken Seite und dann auf VPC erstellen.
Schritt 2: Einrichten des öffentlichen Subnetzes
Als Nächstes müssen wir ein öffentliches Subnetz in der VPC hinzufügen, das den Router-Server (benutzerdefiniertes NAT) und den Webserver aufnehmen wird. Sie erinnern sich, dass dies das blaue Quadrat aus dem Diagramm ist, das wir durchgegangen sind.
Fügen Sie am unteren Rand des Bildschirms, wo Subnets steht, ein Label für das öffentliche Subnetz hinzu. Dieses Subnetz wird den Router-Server (Custom NAT) und den Web-Server beherbergen.
Klicken Sie dann auf VPC erstellen, um die VPC bereitzustellen.
Sie sehen das öffentliche Teilnetz, das mit der entsprechenden Teilnetz-ID und dem IP-Bereich erstellt wurde.
Schritt 3: Bereitstellen des Router-Servers und des Webservers
Als nächstes müssen wir 2 Linode-Instanzen im öffentlichen Subnetz einrichten. Eine Linode-Instanz wird als unser Router-Server (benutzerdefiniertes NAT) fungieren, der NAT-Vorgänge zur Verwaltung des Datenverkehrs zwischen dem öffentlichen und dem privaten Subnetz durchführt. Der andere Server wird als Webserver fungieren, um eingehenden Verkehr aus dem Internet zu verarbeiten und notwendige Anfragen an das private Subnetz weiterzuleiten. Zuerst erstellen wir den Router-Server. Klicken Sie im Cloud Manager auf der linken Seite auf Linodes und dann auf Create Linode. Wählen Sie dieselbe Region, die Sie bei der Erstellung des VPCs gewählt haben, und wählen Sie dann die Option Dedicated 8 GB CPU.
Scrollen Sie dann nach unten, weisen Sie die in Schritt 1 erstellte VPC zu und wählen Sie das öffentliche Subnetz aus dem Dropdown-Menü.
Klicken Sie auf Linode erstellen, um die Einrichtung dieser Instanz abzuschließen.
Lassen Sie uns nun den Webserver mit demselben Verfahren wie oben erstellen. Klicken Sie auf Create Linode, wählen Sie die Region aus, die Sie für Ihre VPC gewählt haben, und weisen Sie die VPC dieser Instanz zu. Sie sehen nun sowohl den Webserver als auch den Routerserver in der VPC unter dem öffentlichen Subnetz aufgeführt.
Schritt 4: Erstellen eines privaten Subnetzes
Als Nächstes müssen wir das private Subnetz innerhalb der VPC aufbauen, um den Datenbankserver zu hosten, der keinen direkten Zugang zum öffentlichen Internet haben wird. Wir erstellen nun die lila Box.
Klicken Sie in Ihrer VPC auf Subnetz erstellen, geben Sie ein Label ein und weisen Sie den privaten IP-Bereich zu. In diesem Subnetz ist Ihre Datenbank sicher vor externen Bedrohungen versteckt.
Schritt 5: Einsetzen des Datenbankservers
Lassen Sie uns nun eine Linode-Instanz im privaten Subnetz einrichten, die als unser Datenbankserver dient. Diese Instanz wird nur vom öffentlichen Subnetz über die sichere VLAN zugänglich sein. Klicken Sie in der linken Leiste des Linode Cloud Managers auf Linodes und dann auf Create Linode. Geben Sie database-server als Label ein, wählen Sie vpc-nat-gateway-demo als VPC und wählen Sie private-subnet als Subnetz.
Sobald dieser Server eingerichtet ist, sollten Sie folgendes sehen:
Als Nächstes müssen wir die Konfiguration bearbeiten und das Kästchen zum Zuweisen einer öffentlichen IP-Adresse für diese Linode aktivieren. Der Grund, warum wir dies tun, ist, dass wir Netzwerk-Tools von diesem Server herunterladen müssen.
Schritt 6: Konfigurieren VLAN
Als nächstes müssen wir eine VLAN einrichten, um eine sichere Kommunikation zwischen dem öffentlichen und dem privaten Teilnetz zu ermöglichen. Der Datenbankserver und der Routerserver können über die VLAN miteinander kommunizieren.
Dadurch wird sichergestellt, dass der Datenverkehr zwischen dem Webserver und dem Datenbankserver privat und sicher bleibt. Klicken Sie auf dem Router-Server auf die Registerkarte "Konfigurationen" und dann auf "Bearbeiten". Fügen Sie eine VLAN hinzu, und geben Sie eine Adresse ein (verwenden Sie den Platzhaltertext als Anleitung).
Gehen Sie nun zum Router-Server und fügen Sie die Adresse VLAN zur Konfiguration hinzu.
Schritt 7: Weiterleitung des Datenverkehrs vom Datenbankserver zum Routerserver
Erinnern Sie sich, dass wir eine öffentliche IP zugewiesen haben, damit wir auf das Internet zugreifen können, um einige Netzwerk-Tools herunterzuladen.
Laden wir jetzt herunter ipconfig
mit Hilfe der folgenden Befehle:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Als Nächstes müssen wir zum Datenbankserver zurückkehren und das Kontrollkästchen für öffentliche IP entfernen, damit er keinen Internetzugang hat.
Der Datenbankserver ist nun sicher im privaten Teilnetz isoliert. Er kann nun mit dem Router-Server kommunizieren. Lassen Sie uns die VPC des Routerservers anpingen.
Als nächstes muss der Datenbankserver den Datenverkehr über VLAN leiten. Führen Sie dazu den folgenden Befehl auf dem Datenbankserver aus:
route add default gw {VLAN-IP-FOR-ROUTER}
Dann laufen Sie die Route.
Hier finden Sie die VLAN aufgelistet.
Nun müssen wir den Router-Server so konfigurieren, dass er den Datenverkehr von eth1 (VLAN) an das Internet weiterleitet. In diesem Schritt aktivieren wir NATing auf dem Server und die IP-Weiterleitung.
Führen Sie auf dem Router-Server die folgenden Befehle aus:
$ modprobe iptable_nat
$ echo 1 > /proc/sys/net/ipv4/ip_forward
$ iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
$ iptables -A FORWARD -i eth1 -j ACCEPT
Wir haben erfolgreich ein NAT-Gateway in einer VPC eingerichtet.
Vorteile dieser Architektur
Die Verwendung dieser Architektur bietet einige entscheidende Vorteile. Erstens erhalten Sie verbesserte Sicherheit. Eine VPC ermöglicht die Isolierung von Ressourcen innerhalb verschiedener Subnetze (öffentlich und privat). Ein NAT-Gateway stellt sicher, dass Instanzen in privaten Subnetzen auf das Internet zugreifen können, ohne sie direkt den Bedrohungen des öffentlichen Internets auszusetzen. Durch den Einsatz eines NAT-Gateways in einer VPC wird nur ausgehender Datenverkehr von privaten Instanzen ins Internet zugelassen, wodurch unerwünschte eingehende Verbindungen, die Sicherheitsrisiken darstellen könnten, verhindert werden. Die Datenbank befindet sich innerhalb des privaten Subnetzes, und die sensiblen Daten sind vor dem direkten Zugriff aus dem Internet geschützt, was das Risiko von Datenschutzverletzungen verringert.
Diese Architektur verbessert auch die Skalierbarkeit erheblich. NAT-Gateways sind für die Bewältigung großer Datenmengen ausgelegt und können sich automatisch an steigende Anforderungen anpassen, sodass ein manuelles Eingreifen nicht erforderlich ist. Mit zunehmender Verkehrslast skaliert das NAT-Gateway seine Ressourcen, um eine optimale Leistung und kontinuierliche Verfügbarkeit zu gewährleisten. Diese automatische Skalierbarkeit ist besonders für E-Commerce-Plattformen von Vorteil, die aufgrund von saisonalen Verkäufen, Werbeaktionen und wechselndem Kundenverhalten häufig schwankende Verkehrsmuster aufweisen. Durch den Einsatz von NAT-Gateways können Entwickler sicherstellen, dass ihre Anwendungen auch bei hoher Nachfrage reaktionsschnell und zuverlässig bleiben, was letztlich zu einem besseren Benutzererlebnis führt und das Geschäftswachstum unterstützt.
Der Aufbau eines NAT-Gateways in einer VPC mit Linode bietet eine sichere und effiziente Möglichkeit, den Netzwerkverkehr zwischen öffentlichen und privaten Ressourcen zu verwalten. Es stellt sicher, dass Ihre privaten Instanzen auf die notwendigen externen Ressourcen zugreifen können, während sie vor direkter Internet-Exposition geschützt sind, was letztendlich die Sicherheit, Skalierbarkeit und Effizienz Ihrer Cloud-Infrastruktur verbessert.
Wenn Sie die oben beschriebenen Schritte befolgen und das bereitgestellte Diagramm als Referenz verwenden, können Sie nicht nur die sensiblen Daten Ihrer Kunden schützen, sondern auch Ihre Netzwerkleistung optimieren. Wenn Sie ein Entwickler sind, der seine Cloud-Sicherheit optimieren und mehr Ressourcen in der Cloud aufbauen möchte, verwenden Sie diesen Link, um bis zu 5.000 $ Linode-Guthaben zu beantragen.
Kommentare (4)
how can i create a linode account
i tried to register and got rejected
Hello Linh – If you’re having trouble creating an account, we suggest completing the form below and choosing the option that says, “I received a Signup Cancellation email when creating an account”:
https://www.linode.com/support/contact/
This post from the Linode Community Questions site titled “My signup was flagged as “fraudulent behavior” has more information. Keep in mind, you’ll only hear back from us if we decide to overturn our initial decision.
Hi, thank you for the write up, but I think there is an issue with this article. In step 6 when you are configuring the VLAN you label both the configuration of the Database and Router Server as the Router Sever. “From the router server, click on the Configurations tab…” and then later on in the same step you say, “Now, let’s go to the router server and add that VLAN to the configuration.” I assume first is the VLAN configuration for the database (192.0.2.2/24) and the second is for the router (192.0.2.1/24).
Hi Dane – We appreciate you pointing out that redundant statement! In case they were not aware, I have forwarded this feedback to the team responsible for our documentation so they may make the necessary changes.