Zuverlässiges und skalierbares sicheres VPN-Tunneling

GESCHRIEBEN VON Zevenet | 18. März 2020

Übersicht

Wenn Sie über einen Internetanbieter eine Verbindung zum Internet herstellen, zweifeln Sie nicht daran, dass dieser Anbieter alles berücksichtigt, um sicherzustellen, dass Ihre Verbindung sicher ist. Was ist jedoch, wenn Sie eine Verbindung zu einem privaten Dienst herstellen möchten? Wie kann sichergestellt werden, dass der Datenverkehr von Client zu Server in der öffentlichen Infrastruktur sicher ist? Es ist hier, wenn VPN Dienstleistungen oder Virtual Private Network Technologien sind erforderlich. Zwischen beiden Knoten wird eine sichere Verbindung hergestellt, um sicherzustellen, dass kein externer Agent den Datenverkehr abfängt und sinnvolle Informationen erhält.

VPN Dienste bieten verschiedene Fähigkeiten wie:

Vertraulichkeit: Verhindern, dass jemand Ihre Daten liest. Dies wird mit Verschlüsselung implementiert.
Beglaubigung: Überprüfen, ob Mitglieder, die den Punkt-zu-Punkt erstellen, legitime Geräte sind.
Integrität: Überprüfen, ob das VPN-Paket während der Übertragung nicht geändert wurde.
Anti-Replay: Verhindern, dass jemand Datenverkehr erfasst und erneut sendet, und versuchen, als legitimes Gerät / Benutzer zu erscheinen.

Es gibt verschiedene Arten der Implementierung auf dem Markt in privaten und offenen Standards. Wir werden diesen Artikel auf die offenen Lösungen konzentrieren, siehe unten die relevantesten.

IPSEC: Es ist de facto zum Standard für VPN-Installationen im Internet geworden, implementiert eine große Anzahl kryptografischer Algorithmen und es sind keine größeren Sicherheitslücken bekannt.
OpenVPN: Sehr beliebt, aber nicht standardbasiert, verwendet benutzerdefinierte Sicherheitsprotokolle, unterstützt TLS / SSL mit Openssl und eine große Anzahl kryptografischer Algorithmen.
L2TP: Es ist eine Erweiterung von PPTP und kann IPSec als Sicherheitsschicht verwenden, die in der Vergangenheit hauptsächlich von ISPs verwendet wurde. Derzeit gibt es bessere Optionen mit besserer Leistung.
Wireguard: Es ist ein extrem schnelles VPN und extrem einfach zu installieren. Es verwendet die bereits im Linux-Kernel enthaltenen kryptografischen Algorithmen, verwendet UDP und kann an jedem Port konfiguriert werden.

Skalierbare VPN-Umgebung

In diesem Artikel wird beschrieben, wie Sie einen Lastausgleichsdienst mit Hochverfügbarkeits-Setup für erstellen VPN Dienstleistungen mit ZEVENET-Load-Balancer. Wir konzentrieren diesen Artikel in Wireguard, die Port verwendet 51820 UDP, kann aber mit anderen Protokollen und Ports auf andere ähnliche Lösungen erweitert werden.

In diesem Artikel wird die Konfiguration des VPN Server wird weggelassen, aber die folgenden Punkte müssen bei der Skalierung berücksichtigt werden VPN in hoher Verfügbarkeit erfolgreich:

Das VPN-Serverkonfigurationsdateien müssen repliziert werden in allen VPN Server, die ausgeglichen werden.
VPN-Clients Verkehr muss NATed sein im VPN-Server, nur um sicherzustellen, dass alle eingehenden und ausgehenden Verbindungen von einem APN-Client denselben VPN-Server im Pool durchlaufen.

Das folgende Diagramm beschreibt die zu erreichende skalierbare Architektur.

VPN Wireguard-Architektur

1. Zwei Wireguard Server mit derselben Konfiguration.
2. Jeder Wireguard Server erstellt das gleiche private Netzwerk 192.168.2.0 / 24.
3. Jeder VPN Der Client wird mit der IP des VPN Server, auf dem es verbunden ist.
4. Die Clients stellen eine Verbindung zu einer öffentlichen IP her vpn.company.com 51820 UDPwird diese Verbindung an weitergeleitet ZEVENET (192.168.100.10).
5. ZEVENET Lastenausgleich der Client-Verbindungen zu den verfügbaren VPN Server und schließlich wird der Tunnel gegen einen der Server erstellt.

In diesem Artikel werden zwei verschiedene Möglichkeiten zum Konfigurieren dieses skalierbaren VPN-Dienstes beschrieben ZEVENET: eine über Web-GUI und noch eine via Befehlszeilenschnittstelle.

Konfiguration des virtuellen VPN-Dienstes mit ZEVENET

In diesem Abschnitt wird erläutert, wie Sie mit der Befehlszeilenschnittstelle die richtige Konfiguration erreichen.

Berücksichtigen Sie das VPN-Protokolle erfordern Persistenzsitzung Fähigkeiten, um sicherzustellen, dass derselbe Client mit demselben verbunden ist Backend während eines bestimmten Zeitraums, auch wenn dieser Client keinen Datenverkehr generiert.

Um das zu erstellen Virtueller VPN-Dienst, eine neue Farm namens VPNLB mit l4xnat Profil zuhören 51820 UDP gebunden an die Virtuelle VPN-IP 192.168.100.10 sNAT Modus, in dem die Firewall NAT-Verbindungen von Clients mit dem folgenden Befehl herstellt:

zcli farm create -farmname VPNLB -vip 192.168.100.10 -vport 51820 -profile l4xnat

oder über die Web-GUI:

ändern Sie die Globale Parameter der Farm zu nutzen UDP Protokoll, dann konfigurieren Persistenzsitzung by Quell-IP und eine einfache Lastausgleichsalgorithmus by Gewicht.

zcli farm set VPNLB -protocol udp -nattype nat -persistence srcip -ttl 1800 -algorithm weight

oder über die Web-GUI:

Fügen Sie zwei hinzu Backend-Server 192.168.100.11 192.168.100.12 zu der bereits erstellten Farm für die VPN Lastausgleichsservice. Hafen muss nicht als konfiguriert werden L4xnat wird das gleiche wie in der verwenden Virtueller Port konfiguriert.

zcli farm-service-backend add VPNLB default_service -ip 192.168.100.11
zcli farm-service-backend add VPNLB default_service -ip 192.168.100.12

oder über die Web-GUI:

Um nur fehlerfreie Backends auszuwählen, konfigurieren wir eine einfache Integritätsprüfung für die Backends, die den Port sicherstellt 51820 UDP ist im Backend verfügbar. Erstellen Sie eine Kopie einer aktuellen generischen und vorinstallierten Integritätsprüfung mit dem Namen check_udp und bearbeiten Sie es. Wir empfehlen die zu ändern Intervall Feld zu 21 weil jeder Gesundheitscheck a verwendet Timeout of 10 Sekunden, damit 10 Sekunden * 2 Backends + 1 Sekunde = 21 Sekunden.

zcli farmguardian create -copy_from check_udp -name check_udp_vpn
zcli farmguardian set check_udp_vpn -description "VPN check for UDP 51820" -interval 21

oder über die Web-GUI:

Fügen Sie abschließend die bereits erstellte Integritätsprüfung mit dem Namen hinzu check_udp_vpn zur aktuellen Farm VPNLB.

zcli farm-service-farmguardian add VPNLB default_service -name check_udp_vpn

Abwehr von DDoS-Angriffen mit IPDS-Modul

VPN-Dienste sind normalerweise Ziele von Angriffen und Cybersicherheitsbedrohungen, um die Remotekonnektivität für den Zugriff auf die Unternehmensnetzwerke zu nutzen.

Aus diesem Grund ist es empfehlenswert, unsere Skalierbarkeit zu vervollständigen VPN Service mit einem Sicherheitssystem zum Schutz unserer Organisation vor externen Angriffen. Im aktuellen Abschnitt wird die Verwendung von erläutert ZEVENET IPDS-Modul und mildern DDoS-Angriffe für öffentliche VPN-Dienste sehr leicht.

In diesem Abschnitt werden zwei verschiedene Schutzmaßnahmen beschrieben, die mit dieser Art von Dienst bessere Ergebnisse erzielen: IP-Schutz über Whitelists Verbindungsgrenzen.

Ermöglichen des Zugriffs auf den öffentlichen VPN-Dienst über eine bestimmte Whitelist

Die Verwendung von schwarze Liste/Whitelist kann in Diensten verwendet werden, bei denen wir sicherstellen können, dass die Kundenliste bekannt ist, z. B. eine Öffentlichkeit VPN-Service Telearbeit in einer Organisation eines bestimmten Landes zu ermöglichen.

Um eine Whitelist für zu konfigurieren Deutschland und lehne Verkehr von anderen ab IP-Adressen Länderbereiche, bitte wenden Sie Folgendes an:

1. Gehen Sie zu IPDS> Blacklist und finde dort die schwarze Liste geo_ES_Deutschland. Dann Bearbeiten diese Blacklist-Regel und ändern Sie das Richtlinienfeld in erlauben als Whitelist verwendet werden.
2. Gehen Sie in derselben Liste zur Registerkarte Farms und bewege die Farm VPNLB aus der Spalte Verfügbare Farmen zu Farmen aktivieren.
3. Drücken Sie auf Spielen Symbol enthalten in Aktionen um die Whitelist zu aktivieren.
4. Gehe auf IPDS> Blacklist und finde dort die schwarze Liste AlleGehen Sie zur Registerkarte Farms und bewege die Farm VPNLB von Spalte Verfügbare Farmen zu Farmen aktivieren.
5. Drücken Sie auf Spielen Symbol von Aktionen um die Blacklist zu aktivieren.

Bei dieser Konfiguration wurde eine Whitelist benannt geo_ES_Deutschland bereits vorinstalliert in ZEVENET Mit allen IP-Bereichen in diesem Land wird es der Farm hinzugefügt VPNLB und zusätzliche Blacklist benannt Alle Die restlichen IP-Adressen werden der Farm hinzugefügt. Wenn also die Client-IP in keinem Bereich Deutschlands übereinstimmt, wird sie gelöscht.

Ermöglichen des Zugriffs auf den öffentlichen VPN-Dienst mit Verbindungsbeschränkungen

Um diese Art von anzuwenden DDoS Schutz Es wird dringend empfohlen zu wissen, wie unser öffentlicher Dienst funktioniert, zum Beispiel: Wireguard verwendet nur eine UDP-Verbindung pro Client. Wenn wir also mehrere gleichzeitige Verbindungen von derselben Quell-IP erhalten, können wir davon ausgehen, dass sich mehr als ein Telearbeiter hinter einem NAT verbindet, das den Datenverkehr maskiert, oder es könnte mit einem verbunden sein UDP-Flutangriff. In jedem Fall können wir verstehen, dass mehr als 10 Verbindungen pro Quell-IP kein legitimierter Datenverkehr sind.

Um ein Limit für gleichzeitige Verbindungen pro Quell-IP für unsere zu konfigurieren Virtueller VPN-Dienst Bitte machen Sie folgendes:

1. Gehe auf IPDS> DoS> DoS-Regel erstellenErstellen Sie eine neue Regel mit Namen limit_per_source_IP und wählen Sie die Regeltyp Gesamtverbindungslimit pro Quell-IP und drücken Sie Erstellen.
2. Geben Sie im Formular für die Regelausgabe das gewünschte Limit für gleichzeitige Verbindungen in das Feld ein Gesamtanzahl der Verbindungen pro Quell-IP, in unserem Fall 10 und drücken Sie Absenden.
3. Gehen Sie zur Registerkarte Farms und bewege die Farm VPNLB von Spalte Verfügbare Farmen zu Farmen aktivieren.

Mit dieser Konfiguration haben wir die Anzahl der gleichzeitigen Verbindungen pro Quell-IP auf 10 begrenzt. Wir vertrauen keiner Client-IP, die versucht, mehr als 10 VPN-Verbindungen herzustellen. Wenn Sie sicherstellen können, dass mehr als ein Client niemals Verbindungen über ein öffentliches NAT herstellen wird, dann ist das limit_per_source_IP könnte auf nur 1 konfiguriert werden.

Genießen Sie Ihren skalierbaren, hochverfügbaren und sicheren VPN-Dienst mit ZEVENET!

Teilen:

Dokumentation unter den Bedingungen der GNU Free Documentation License.

War dieser Artikel hilfreich?

Verwandte Artikel