ADMIN

2022

07

2022-06-29T12:00:00

Mobiles Arbeiten

SCHWERPUNKT

076

Home Office

Virtual Private Network

OpenVPN

VPN mit SoftEther

Mehr Speed im Tunnel

von Dr. Holger Reibold

Veröffentlicht in Ausgabe 07/2022 - SCHWERPUNKT

Im Zeitalter von Home Office und verteilten Standorten benötigen Unternehmen leistungsfähige Werkzeuge, die die Kommunikation zwischen mobilen Clients und Standorten absichern. Ein Weg dahin sind VPNs. Lange galt OpenVPN als Stand der Dinge, doch die Ökonomisierung des Geschäftsmodells geht zu Lasten der Community-Edition. Mit SoftEther steht eine schlanke VPN-Software zur Verfügung, die technologisch und in Sachen Performance den Platzhirsch überholt.

Unternehmen wünschen sich Sicherheitslösungen, die sich einfach in bestehende Infrastrukturen integrieren und darüber hinaus einen echten Mehrwert bieten. Unter den VPNs galt Open-VPN lang als das Maß aller Dinge, doch es unterliegt verschiedenen Restriktionen. So unterstützt der Klassiker lediglich sein eigenes VPN-Protokoll und bietet keine Unterstützung von nativ integrierten VPN-Clients von Android, iOS, macOS und Windows.
SoftEther als schnelle Alternative
Dem hat SoftEther [1], dessen Bezeichnung eine Komposition aus Software und Ethernet ist, einiges entgegenzusetzen: Das Open-Source-VPN unterstützt VPN-Protokolle wie SSL VPN, L2TP/IPsec, OpenVPN und Microsoft Secure Socket Tunneling Protocol (SSTP). SoftEther unterstützt NAT-Traversal, wodurch Sie den VPN-Server auf einem Rechner ausführen können, der sich hinter Heim-Gateways, Facility-Routern und Firewalls befindet. Firewalls, die Deep Packet Inspection durchführen, erkennen die VPN-Transportpakete von SoftEther nicht als VPN-Tunnel, da HTTPS zur Tarnung der Verbindung dient. Zu den weiteren Highlights zählen folgende Features:
- Site-to-Site- und Remote-Access-VPN-Verbindungen.
Unternehmen wünschen sich Sicherheitslösungen, die sich einfach in bestehende Infrastrukturen integrieren und darüber hinaus einen echten Mehrwert bieten. Unter den VPNs galt Open-VPN lang als das Maß aller Dinge, doch es unterliegt verschiedenen Restriktionen. So unterstützt der Klassiker lediglich sein eigenes VPN-Protokoll und bietet keine Unterstützung von nativ integrierten VPN-Clients von Android, iOS, macOS und Windows.
SoftEther als schnelle Alternative
Dem hat SoftEther [1], dessen Bezeichnung eine Komposition aus Software und Ethernet ist, einiges entgegenzusetzen: Das Open-Source-VPN unterstützt VPN-Protokolle wie SSL VPN, L2TP/IPsec, OpenVPN und Microsoft Secure Socket Tunneling Protocol (SSTP). SoftEther unterstützt NAT-Traversal, wodurch Sie den VPN-Server auf einem Rechner ausführen können, der sich hinter Heim-Gateways, Facility-Routern und Firewalls befindet. Firewalls, die Deep Packet Inspection durchführen, erkennen die VPN-Transportpakete von SoftEther nicht als VPN-Tunnel, da HTTPS zur Tarnung der Verbindung dient. Zu den weiteren Highlights zählen folgende Features:
- Site-to-Site- und Remote-Access-VPN-Verbindungen.
- Zugang zu beschränkten öffentlichen WLAN-Netzwerken über VPN over ICMP und VPN over DNS.
- Ethernet-Bridging und Layer-3 über VPN.
 - Logging und Firewall im VPN-Tunnel.
- Unterstützung relevanter Betriebssysteme (Windows, Linux, macOS, Android, iOS).
- Klonen von OpenVPN-Verbindungen.
- RADIUS/NT-Domain-Authentifizierung der Benutzer.
Den direkten Vergleich der beiden VPN-Anwendungen zeigt die Tabelle am Ende des Beitrags.
Neben rein technologischen Aspekten ist der größte Pluspunkt in der hohen Geschwindigkeit zu sehen. Verschiedene Untersuchungen zeigen anhand von Performance-Protokollen, dass sich OpenVPN mit einem Datendurchsatz von weniger als 100 MBit/s vielfach als Flaschenhals entpuppt [2]. Laut Angaben der Entwickler sorgt SoftEther für Geschwindigkeiten von mehr als 900 MBit/s. Erreicht wird die Performance durch die volle Ethernet-Frame-Auslastung, außerdem reduziert die Software Speicherkopiervorgänge, parallele Übertragung und Clustering. Durch die Summe der Maßnahmen reduziert sich die Latenz deutlich und der Durchsatz steigt signifikant.
Eine weitere Besonderheit von SoftEther ist, dass das Basissystem dank seiner modularen Architektur um Zusatzfunktionen erweiterbar ist, beispielsweise um VPN Gate. Zudem ist dank der breiten Protokollunterstützung eine Installation des SoftEther-Clients meist nicht zwingend. Machen Sie intensiven Gebrauch von der VPN-Umgebung, sollten Sie allerdings schon aus Gründen der Performance zum Client greifen.
SoftEther in Betrieb nehmen
Bereits an der Bezeichnung von SoftEther lässt sich ablesen, dass die Architektur der VPN-Software auf einer virtuellen Nachbildung eines Ethernet-Adapters und eines Switches basiert. Die Virtualisierung stellt einen virtuellen Ethernet-Adapter bereit. Außerdem wird ein Switch generiert, der einen herkömmlichen Ethernet-Switch emuliert – in der SoftEther-Terminologie ist von einem virtuellen Hub die Rede. Die eigentliche VPN-Verbindung kommt durch die Zusammenarbeit beider Komponenten über ein virtuelles Ethernet-Kabel zustande.
SoftEther ist aktuell in Version 4.39 verfügbar. Über das SoftEther-Download-Center [3] stehen die Installationspakete für die unterstützten Betriebssysteme zur Verfügung. Das Herzstück der Umgebung ist der SoftEther-Server. Dessen Installation gestaltet sich besonders unter Win-dows einfach und der Setup-Wizard führt Sie durch die verschiedenen Schritte. Während der Installation haben Sie die Wahl zwischen dem eigentlichen Server und der VPN-Brigde. Der Server-Manager wird automatisch mitinstalliert und erlaubt die zentrale Verwaltung verschiedener SoftEther-Installationen. Zur Konfiguration der lokalen SoftEther-Infrastruktur stellen Sie mit einem Klick die Verbindung zu dem VPN-Server her. Dazu müssen Sie ein serverspezifisches Passwort angeben.
Wie einfach sich der Umgang mit SoftEther gestaltet, zeigt sich spätestens hier: Die Umgebung präsentiert Ihnen den Dialog "SoftEther VPN Server / Bridge Easy Setup". Dieser bietet Ihnen die beiden gängigsten Installationsvarianten "Remote Access VPN Server" und "Site-to-Site VPN Server to VPN Bridge". Wollen Sie erweiterte Konfigurationen wie beispielsweise Clustering nutzen, müssen Sie dies manuell vornehmen.
Der Setupdialog unterstützt Sie bei der Entscheidung dahingehend, dass er mit einer Visualisierung und Kurzbeschreibung des jeweiligen Szenarios mit den entscheidungsrelevanten Informationen aufwartet. In unserem Workshop verwenden wir das Remote-Access-Szenario, bei dem die VPN-Clients eine gesicherte Verbindung zum VPN-Server herstellen, der den Zugriff auf das dahinter befindliche Netzwerk erlaubt. Mit "Next" öffnet der Einrichtungsassistent den Hinweisdialog, dass der Server initialisiert wird, was Sie lediglich bestätigen müssen. Anschließend weisen Sie der Serverkonfiguration eine Bezeichnung zu.
Der Setupassistent präsentiert Ihnen nun eine weitere Besonderheit: Der VPN-Server verfügt über eine integrierte Dynamic-DNS-Funktion, die dem Server einen permanenten DNS-Namen zuweist und ihn damit global zugänglich macht. Mit einem Klick auf "Exit" schließen Sie die Basiskonfiguration ab und gelangen zum nächsten Schritt. Sie können den lokalen VPN-Server in den "Azure Cloud Service" (nicht zu verwechseln mit Microsofts Cloudservice) integrieren. Bei der VPN-Azure-Cloud handelt es sich um einen kostenlosen Cloud-VPN-Dienst des Soft-Ether-Projekts. Ob eine Nutzung durch europäische Nutzer sinnvoll ist, können wir im Rahmen dieses Workshops nicht abschließend beurteilen. Daher empfiehlt es sich, die zugehörige Funktion mit "Disable VPN Azure" zu deaktivieren. Mit "OK" schließen Sie diesen Dialog.
Der nächste Schritt dient der Einrichtung des ersten SoftEther-Benutzers. Dazu klicken Sie auf "Create Users", weisen einen Benutzernamen, den Realname, das Passwort und die Authentifizierungsmethode zu. Wenn Sie einen RADIUS-Server oder ein Active Directory betreiben, geben Sie den zugehörigen Benutzernamen an. Auch die Verwendung von bestehenden Zertifikaten ist möglich. Damit ist Soft-Ether einsatzbereit.
Bild 1: Der benutzerfreundliche Einrichtungsassistent des SoftEther-Servers gibt Hinweise zu typischen Einsatzszenarien.
Den Client installieren
Grundsätzlich erlaubt SoftEther die Verwendung von nativen VPN-Clients gängiger Betriebssysteme, gleichwohl empfiehlt sich bei regelmäßiger Nutzung der VPN-Umgebung der SoftEther-Client. Dessen Installationspakete stehen ebenfalls über das Download-Center zur Verfügung. Seine Installation richtet clientseitig einen virtuellen Netzwerkadapter und einen Hintergrunddienst ein. Wie beim SoftEther-Server stellt auch der Client einen VPN-Client-Manager zur Verfügung, mit dem Sie verschiedene VPN-Verbindungen und verbindungsspezifische Einstellungen verwalten.
Um eine Verbindung zu dem SoftEther-Server herzustellen, klicken Sie im Client-Manager doppelt auf "Add VPN Connection" und weisen in dem zugehörigen Dialog "New VPN Connection Setting Properties" der Verbindung eine Bezeichnung, die Serverdaten, den zu verwendenden virtuellen Netzwerkadapter und die Zugangsdaten zu. Bei Bedarf ist die Verwendung eines Proxy-Servers möglich.
Ein Highlight des Clients sind die erweiterten Verbindungseinstellungen, die sich hinter der Schaltfläche "Advanced Settings" verbergen. Sie können die Performance deutlich verbessern, indem Sie unter "Number of TCP Connections" die Zahl der Verbindungen hochsetzen. Bei Breitbandverbindungen kann der Wert bis zu "8" parallele Verbindungen verkraften, bei Einwahlverbindungen sollten Sie den Standardwert "1" beibehalten.
Stehen auf Client- und Serverseite ausreichend leistungsfähige Systeme zur Verfügung, kann die Aktivierung der Datenkompression mit "Use Data Compression" einen deutlichen Performanceschub bringen. Das SoftEther-VPN-Protokoll ist in der Lage, alle gesendeten und empfangenen Ethernet-Frames intern zu komprimieren und zu übertragen. Dabei kommt der von Jean-loup Gailly und Mark Adler entwickelte Deflate-Algorithmus zum Einsatz. Durch die Datenkomprimierung reduziert sich das Kommunikationsvolumen um bis zu 80 Prozent, allerdings führen die Komprimierung und Dekomprimierung zu einem signifikanten Anstieg der Rechenlast. Doch die Kompression hat ihre Grenzen: Übersteigt die Leitungsgeschwindigkeit den Wert von 10 Mbit/s, verbessert das Nichtkomprimieren von Daten die Kommunikationsgeschwindigkeit nicht mehr. Mit einem abschließenden "OK" übernehmen Sie die Verbindungseinstellungen und können aus dem Client-Manager heraus ein VPN zum SoftEther-Server aufbauen – dazu genügt ein Doppelklick.
Der Client-Manager hat eine Fülle weiterer praktischer Funktionen zu bieten. So können Sie beispielsweise Verbindungseinstellungen ex- und importieren, um diese auf Drittsystemen zu verwenden. Außerdem ist es möglich, weitere virtuelle Adapter- und Smart-Card-Konfigurationen anzulegen. Bestehende VPN-Verbindungen kennzeichnet der Client-Manager in der Spalte "Status" mit "Connected". Die Verbindungsdetails rufen Sie mit einem Rechtsklick auf die Verbindungseinstellungen und dem Befehl "View Status" ab.
Bild 2: Der SoftEther-Server-Manager ist die zentrale Schnittstelle zu den VPN-Server-Instanzen.
SoftEther-Umgebungen verwalten
Die administrativen Vorgänge beim SoftEther-Server unterteilen sich in zwei Typen: Die Server-Verwaltung und die Administration von virtuellen Hubs innerhalb einer VPN-Serverkonfiguration. Dabei kommt Ihnen zugute, dass die Entwickler bei der Konzeption der Umgebungen großen Wert darauf gelegt haben, den VPN-Serverprozess weitgehend von Konfigurationsanpassungen abzukoppeln. Damit ist sichergestellt, dass die VPN-Funktionalität ohne Unterbrechungen verfügbar ist.
Ein Neustart von SoftEther ist nur dann notwendig, wenn das Betriebssystem einen solchen erforderlich macht, das VPN-Serverprogramm aktualisiert wird, der Serverprozess aufgrund eines Hard- oder Softwarefehlers neu gestartet werden muss oder Sie manuelle Eingriffe in der VPN-Server-Konfigurationsdatei vornehmen. Lediglich bei Änderungen an der Clustering-Konfiguration ist das Anhalten des VPN-Dienstes notwendig.
Für alle administrativen Aufgaben greifen Sie zum Server Manager oder zum Konsolenwerkzeug "vpncmd". SoftEther kennt zwei Formen von administrativen Berechtigungen: Verwaltungsautorität für den gesamten VPN-Server und für virtuelle Hubs. Der Administrator für den Server sollte identisch mit dem des Serverrechners sein. Der Admin ist insbesondere für die Verwaltung der Zertifikate und Ports zuständig. Weiterhin hat er vollen Zugriff auf die SoftEther-Konfigurationsdatei "vpn_server.config". Darin findet sich neben der Serverkonfiguration auch das verschlüsselte Admin-Passwort und der private Schlüssel des Verbindungseinstellungszertifikats. Daher bedarf diese Datei besonderen Schutz. Bei der Windows-Installation besitzen lediglich Mitglieder der Gruppe "Administrator" und "SYSTEM" Lese- und Schreibrechte, unter Unix-basierten Systemen gilt Entsprechendes.
Administrative Aufgaben bewältigen
Der VPN-Server-Manager ist die zentrale Schnittstelle für typische administrative Aufgaben. Mit einem Klick auf die Schaltfläche "About this VPN Server" präsentiert Ihnen SoftEther eine tabellarische Übersicht der Serverinformationen. Dazu gehören insbesondere der Servertyp (meist "Standalone"), das verwendete Betriebssystem, eine Fülle von allgemeinen Serverdaten sowie unterstützte Dienste und Funktionen.
Um sich einen Überblick über den aktuellen Zustand des Servers zu verschaffen, klicken Sie auf die Schaltfläche "View Server Status"; alternativ verwenden Sie auf der Konsolenebene den Befehl ServerStatusGet. Der Übersicht können Sie die Anzahl der aktiven Sockets, virtual Hubs und Sessions entnehmen. Weiterhin verrät Ihnen die Statusübersicht, wie viele User und Gruppen aktiv waren und welche Datenmengen geflossen sind. Um die Liste der aktuellen Verbindungen einzusehen, klicken Sie im Server-Manager auf die Schaltfläche "Show List of TCP/IP Connections". Hier erfahren Sie, welche Clients eine VPN-Verbindung zum SoftEther-Server aufgebaut haben und wann diese initialisiert wurde.
In der Praxis ist es immer wieder sinnvoll, dass Sie einen Blick in die aktuelle Konfigurationsdatei werfen können, um beispielsweise zu verifizieren, ob vorgenommene Konfigurationsanpassungen in der zentralen Systemkonfiguration umgesetzt wurden. Um die Config-Datei einzusehen, klicken Sie auf "Edit Config". Der zugehörige Dialog präsentiert Ihnen die Textdatei, lässt aber keine unmittelbaren Eingriffe zu. Gleichwohl können Sie die Werkseinstellungen wiederherstellen, die Konfigurationsdatei sichern oder eine alternative Datei laden und aktivieren.
Für Unternehmen, die noch mit Open-VPN arbeiten, aber nach der Evaluierung von SoftEther migrieren wollen, steht die OpenVPN-Clone-Server-Funktion zur Verfügung. Mit dieser verbinden Sie alle OpenVPN-Clients, einschließlich iPhone- und Android-Clients, mit minimalem Aufwand mit dem SoftEther-VPN-Server. Die zugehörigen Einstellungen verbergen sich hinter der Schaltfläche "OpenVPN / MS-SSTP Setting". Die Handhabung ist kinderleicht: Sie aktivieren die Klonfunktion und geben die UDP-Ports an, die OpenVPN verwendet. Um alles Weitere kümmert sich SoftEther. Den OpenVPN-Server können Sie anschließend vom Netz nehmen – allerdings sollten Sie zuvor mit Stichproben sicherstellen, dass das Klonen zuverlässig funktioniert.
 
OpenVPN
SoftEther
Lizenz
GNU GPL
Apache License 2.0
Unterstützte VPN-Protokolle
Lediglich OpenVPN
OpenVPN, L2TP/IPsec, L2TPv3/IPsec, EtherIP. Microsoft SSTP. VPN over HTTPS, VPN over DNS, VPN over ICMP
Unterstützung nativer VPN-Clients der Betriebssysteme
Nein
Windows (L2TP, SSTP), macOS (L2TP), iOS (L2TP), Android (L2TP)
Datendurchsatz
Weniger als 100 MBit/s
Bis zu 900 MBit/s
NAT Traversal
Nein
Ja
Dynamic DNS
Nein
Ja
VPN via HTTP-Proxy
Ja
Ja
IPv6
Ja
Ja
Packet Filtering
Nein
Ja
Multi-Tenant-Unterstützung
Nein
Ja
Killswitch
Nein
Nein
Simulationsfunktion
Nein
Ja
Virtual-DHCP- und NAT-Funktion
Nein
Ja
Hört auf mehrere TCP/UDP-Ports
Nein
Ja
Security-Layer
OpenSSL
OpenSSL
Smartcards, USB-Token
Nein
Ja (über VPN-Server-Manager)
CUI-Management
Beschränkt
Ja
RPC-over-HTTPS-Management
Nein
Ja
Mehrsprachige UI
Nur Englisch
English, Japanisch, Chinesisch
Plattformen
Windows, Linux, FreeBSD, Solaris, macOS, iOS, Android, NetBSD, QNX
Windows, Linux, FreeBSD,Solaris, macOS, iOS, Android
SoftEther als LAN-Tester
SoftEther kann auch dem Testen und Simulieren von Netzwerkkonfigurationen dienen. So ist in SoftEther beispielsweise ein Verzögerungs-, Jitter- und Paketverlustgenerator implementiert, mit dem Sie ein Netzwerk oder ein Netzwerksegment im schlechten Zustand simulieren können. Dazu definieren Sie zwei lokale Bridges von einem virtuellen Hub zu zwei physischen Ethernet-Netzwerkadaptern. Die beiden Ethernet-Netzwerksegmente werden durch den virtuellen Hub überbrückt, der Verzögerung, Jitter und Paketverlust einfügt, während er die Ethernet-Frames weiterleitet. Der Generator eignet sich insbesondere zum Testen von VoIP-Geräten.
Um eine solche Ethernet-basierte Netzwerktopologie auf Herz und Nieren zu prüfen, verwenden Sie den VPN-Server, einen Client und eine Bridge. Im SoftEther-Server erzeugen Sie mehrere separate Ethernet-Segmente, wobei der VPN-Server auf eine virtuelle Layer-3-Switch-Funktion zurüchgreift, die IP-basiertes Layer-3-Routing zwischen L2-Segmenten bereitstellt. Für die Virtual-Hub-Konfiguration steht eine ACL-Funktion für die Paketfilterung zur Verfügung. Diese L2- und L3-Funktionen können Sie verwenden, um das Netzwerkdesign zu testen.
Die SoftEther-Software verfügt über eine Vielzahl weiterer Funktionen, die für den Unternehmenseinsatz von Interesse sind. Sie können die Umgebung beispielsweise dazu nutzen, ein virtuelles Netzwerk mit Anbindung an bekannte Clouddienste zu implementieren. Auch der Aufbau einer eigenen VPN-gesicherten Cloud ist möglich.
Fazit
Mit SoftEther steht eine vorzügliche VPN-Software zur Verfügung, die manch etabliertes Werkzeug alt aussehen lässt. Insbesondere die breite Unterstützung von VPN-Protokollen, die überdurchschnittliche Performance und der hohe Benutzerkomfort machen SoftEther zu einer attraktiven VPN-Alternative.
Doch ungeachtet aller Begeisterung gibt es auch gewisse Einschränkungen: So kann SoftEther im Unterschied zu Open-VPN nicht als SaaS arbeiten und es ist eher für kleinere bis mittelgroße Umgebungen konzipiert. Zudem mangelt es an einer Killswitch-Funktion und einem Policy-Management. Ein weiteres Manko: Die Entwickler bieten bislang keinen kommerziellen Support. Dennoch wäre es wünschenswert, dass SoftEther aus dem Schatten von OpenVPN & Co. heraustreten kann und unter Admins viele Freunde findet.
(jp)
Link-Codes
[3] SoftEther-Download-Center: https://www.softether-download.com/