Warum ich IKEv2 mehr liebe als andere VPNs



Jetzt richtet jeder ein VPN für Remote-Mitarbeiter ein. Es schmerzt mich zu beobachten, wie Leute monströse Buggy-Programme installieren, Zertifikate konfigurieren, TUN / TAP-Treiber installieren und viele komplexe Operationen ausführen, während die beste Lösung bereits in das Betriebssystem integriert ist.

IKEv2 ist ein modernes VPN-Protokoll, das von Microsoft und Cisco entwickelt wurde. Es wird standardmäßig für neue VPN-Verbindungen unter Windows, MacOS und iOS verwendet. Es ist schneller und sicherer als die meisten VPN-Protokolle und kann auf der Clientseite mit zwei Klicks ohne Verwendung von Programmen von Drittanbietern einfach konfiguriert werden.

Ich glaube, dass IPSec IKEv2 nicht nur für die Verbindung von Servern, sondern auch für reguläre VPN-Endbenutzerverbindungen hervorragend geeignet ist. In diesem Beitrag werde ich versuchen, Sie davon zu überzeugen, IPSec IKEv2 für reguläre Heimanwender anstelle von OpenVPN zu verwenden.

IKEv2 schneller


Wenn alle Dinge gleich sind, ist IKEv2 immer schneller als OpenVPN. Dies macht sich insbesondere bei Systemen mit geringem Stromverbrauch und langsamem Speicher bemerkbar, z. B. bei Routern oder Einplatinencomputern.

Tatsache ist, dass IPsec im Kontext des Kernels des Betriebssystems und OpenVPN im Kontext des Benutzers (Userspace) funktioniert und die Verarbeitung jedes Pakets den Kontext zwischen den Kernelprozessen und den Benutzerprozessen wechselt. Dies wirkt sich sowohl auf den Durchsatz als auch auf die Latenz aus.


Vergleich der Verzögerungen für verschiedene VPN-Protokolle.

Der Screenshot oben zeigt den Unterschied in der Verzögerung um die Hälfte zwischen IPsec und OpenVPN. Natürlich ist der Unterschied von 1 ms mit dem Auge nicht zu erkennen, aber bei Belastung des Systems können diese Werte erheblich variieren. Darüber hinaus hängen die realen Indikatoren stark von den Eigenschaften eines bestimmten Systems ab, sodass ich keine absoluten Zahlen für den Vergleich der beiden Protokolle angeben werde. Verzögerungen sind sehr wichtig, wenn Sie Sprache und Video über VPN verwenden.

Nach meinen subjektiven Gefühlen reagiert IKEv2 unter Windows 10 deutlich schneller als OpenVPN. Schließlich unterscheidet sich die tatsächliche Verwendung eines Desktop-Computers stark von synthetischen Tests von VPN-Protokollen. Die Belastung des Prozessors und des Speichers ist nicht konstant. Der Benutzer kann anspruchsvolle Programme ausführen. Dies wirkt sich auf die Leistung aus.

IKEv2 einfacher zu konfigurieren


Alle modernen Betriebssysteme (außer Android) unterstützen IPsec IKEv2 sofort. Es müssen keine Programme , virtuellen TUN / TAP-Treiber usw. installiert werden . Die gesamte VPN-Verwaltung erfolgt über das Systemmenü.

Gleichzeitig kann die Konfiguration auf dem Client auf drei Zeilen vereinfacht werden:

  • Domäne - Für IPsec ist eine Domäne erforderlich, da für diese ein SSL-Zertifikat ausgestellt wird
  • Anmeldung
  • Passwort

Sie müssen keine Dateien mit Zertifikaten und Schlüsseln mehr an den Client übertragen, sondern müssen Stammzertifikate in den Systemspeicher importieren. Ein Benutzername und ein Kennwort reichen aus, und die Verbindung ist bei Verwendung von Zertifikaten genauso sicher wie in OpenVPN, da für die Verbindung dasselbe x.509-Zertifikat wie für Websites mit HTTPS verwendet wird.

Setup unter Windows 10


Der VPN-Setup-Assistent wird über das WLAN-Verbindungsmenü aufgerufen. Ein Benutzer jeder Qualifikation kann die Einrichtung eines Fensters übernehmen. Die erstellte Verbindung wird über das Menü mit einer Liste von WiFi-Netzwerken aktiviert.


Schnittstelle zum Konfigurieren einer neuen IKEv2-Verbindung in Windows 10

MacOS-Setup
macOS IKEv2 10.11 (El Capitan). .

image

. .

image

, . «Server Address» IP- , «Remote ID», DNS-, .

image

/etc/ipsec.secrets

image

IOS-Setup
iOS , mobileconfig.

macOS:

-> VPN -> VPN

IKEv2 ist sicher


Im vorherigen Schritt haben wir festgestellt, dass ein Login und ein Passwort ausreichen, um die Verbindung zu konfigurieren. Aber wie kann der Client überprüfen, ob die Verbindung nicht abgehört wird, die Daten nicht ersetzt werden und der Server wirklich der ist, für den er sich ausgibt? Hierzu werden gewöhnliche SSL-Zertifikate verwendet, die wir für Websites und HTTPS gewohnt sind.



Der Client installiert einen sicheren SSL-Tunnel mit dem Server, in dem bereits ein Anmeldekennwort übertragen wurde. Standardmäßig wird unter Windows und MacOS der mschapv2-Algorithmus zum Übertragen des Kennworts verwendet. Mit Hilfe eines SSL-Zertifikats überprüft der Client die Authentizität des Servers, und mithilfe des Anmeldekennworts überprüft der Server die Authentizität des Clients.

Ein IKEv2-Server kann dasselbe Zertifikat mit einem Webserver verwenden, beispielsweise aus dem beliebten Let's Encrypt. Dies vereinfacht die Zertifikatsverwaltung erheblich.

In OpenVPN wird dasselbe Modell verwendet. Falls gewünscht, können Sie ein Zertifikat von Lets Encrypt verwenden. In jedem Fall muss der Administrator die Datei jedoch an den Benutzer übertragen, um das VPN zu konfigurieren.

Konfigurieren Sie den IKEv2-Server


Sie können Ihren IKEv2-Server in wenigen Minuten mithilfe automatisierter Installationsskripts oder vorgefertigter Container bereitstellen. Die Verwendung von Docker wird nicht empfohlen, da das Netzwerksubsystem die Leistung von IPsec bei günstigen VPS-Raten verringert. Sie können den IKEv2-Server auch manuell konfigurieren. Auf dem Habré finden Sie Artikel mit Beispielen für die Strongswan-Servereinstellungen .

Wir werden eines der erfolgreichsten Skripte für die automatische Konfiguration verwenden. Github.com/jawj/IKEv2-setup
Dieses Skript ist gut, da es Zertifikate von Lets Encrypt verwendet und automatisch ein gültiges Zertifikat generiert.

Schritt 1: Serverauswahl


Zum Starten des VPN-Servers benötigen wir VDS. Die einfachste Konfiguration mit einem einzelnen Prozessorkern reicht aus. Das Skript aus unserem Beispiel wird am besten unter Ubuntu 18.04 getestet. Wählen Sie daher beim Erstellen des Servers dieses Betriebssystem-Image aus.



Wir warten darauf, dass die Installation des Servers abgeschlossen ist, und kopieren die Details für die Verbindung. Das Root-Passwort wird an die Mail gesendet oder kann manuell über die Weboberfläche festgelegt werden. Als nächstes geben wir alle Befehle ein



Schritt 2: Installieren Sie Strongswan


Wir sind über den SSH-Client verbunden und führen das Installationsskript aus:

#     IKEv2 
wget https://raw.githubusercontent.com/jawj/IKEv2-setup/master/setup.sh
chmod u+x setup.sh
./setup.sh
....
#      IP- 
#   sslip.io     
Hostname for VPN: 123-45-67-89.sslip.io
#   VPN
VPN username: coolguy
#  
VPN password (no quotes, please):
....
#     SSH-,    .

Schritt 3: Client-Setup


Die eingegebenen VPN-Benutzerdaten müssen jetzt für die Konfiguration auf dem Client verwendet werden. Es ist wichtig, genau den Domänennamen zu verwenden, den Sie unter Hostname für VPN eingegeben haben .

Schritt 4: Neue Benutzer hinzufügen


Bearbeiten Sie die Datei /etc/ipsec.sectes , um einem bereits erstellten Server einen neuen Benutzer hinzuzufügen.

# nano /etc/ipsec.secrets
123-45-67-89.sslip.io : RSA "privkey.pem"
coolguy : EAP "C00lPassword"
badguy : EAP "bAdP$$word"

Führen Sie nach dem Hinzufügen des Benutzers den Befehl ipsec secret aus, damit Strongswan die Konfiguration erneut liest.

Fazit


Wir haben die Benutzererfahrung von IKEv2 überprüft. Die Verwaltung eines solchen Servers ist nicht komplizierter und manchmal sogar einfacher als OpenVPN. Wenn Sie nur den Fernzugriff für Ihre Mitarbeiter organisieren möchten, achten Sie auf IKEv2. Zwingen Sie Ihre Benutzer nicht, unnötige Programme zu installieren, wenn sich alles, was Sie benötigen, bereits auf ihrem Computer befindet. Es ist bequemer, sicherer und viel fortgeschrittener.


All Articles