LINUXMAKER, OpenSource, Tutorials

Das VPN einfacher betrachtet

Was sind Virtual Private Networks?

Ein VPN (Virtual Private Network) bildet, wie der Name bereits sagt, ein virtuelles Netzwerk auf einem bestehenden physischen Netz. Das kann beispielsweise das Internet oder ein Firmennetzwerk sein. Sie können sich das VPN wie einen Tunnel vorstellen, durch den Ihre Daten transportiert werden. Mit Hilfe von verschiedenen Verschlüsselungsverfahren findet dabei eine Absicherung statt, die diesen Tunnel respektive die darin übertragenen Daten vor Manipulation und Abhörversuchen schützt. VPN-Lösungen stellen deshalb eine zentrale Sicherheitsebene in der IT dar, da alle Kommunikation über ein VPN abgesichert ist, unabhängig davon, ob die Anwendungen selbst eine Verschlüsselung vornehmen oder nicht.

Ein VPN kann auf verschiedene Weisen realisiert werden. So ist es möglich, lediglich eine Software einzusetzen, um ein VPN aufzubauen. Dies bietet sich etwa zur einfachen Einrichtung von Home-Office Arbeitsplätzen an. In bestimmten Szenarien werden jedoch Hardware Lösungen bevorzugt – etwa wenn Firmennetzwerke über ein VPN verbunden werden, da in der Regel bereits eine geeignete Infrastruktur zur Realisierung vorhanden ist. Zudem stellt die gewählte Verschlüsselungsmethode einen wesentlichen Unterschied zwischen verschiedenen VPN Lösungen dar. Zwei der verbreitetsten dieser Methoden sind Internet Protocol Security (IPsec) und SSL. Da sowohl Hardware- als auch Software-VPN sich meist dieser Methoden zur Verschlüsselung bedienen, wollen wir zunächst klären, welche groben Unterschiede es zwischen diesen beiden Varianten gibt.

Eine Unterscheidung zwischen Hardware VPN und Software VPN

Die Unterscheidung zwischen Hardware VPN und Software VPN kann auf mehreren Ebenen getroffen werden. Heutzutage geht es in der Regel um die Frage, ob ein dediziertes Gerät alle VPN-Funktionen erfüllt oder ob es sich um eine Software-Lösung handelt, die beispielsweise einfach zusätzlich auf einem bestehenden Server installiert wird.

Vor allem in der Vergangenheit wurde mit Hardware VPN häufig gemeint, dass ein spezieller Chipsatz die Ver- und Entschlüsselung durchführt, was in höheren Durchsatzraten resultieren kann. Je nach benötigter Bandbreite kann dieser Vorgang nämlich durchaus viel Last verursachen und somit andere Prozesse auf der genutzten Plattform beeinflussen bzw. einschränken. Die Geschwindigkeit des VPN selbst kann dadurch stark limitiert werden. Auch wenn diese Problematik durch moderne Hardware und vor allem Prozessoren beispielsweise mit Crypto Befehlssatzerweiterungen nicht mehr so häufig im Mittelpunkt steht, ist dies – je nach Anwendungsfall – dennoch durchaus relevant. Bei den meisten Routern und sonstigen Appliances, z. B. von Cisco und Juniper, findet man daher immer noch entsprechende Hardware-Module, die je nach Modell eine unterschiedliche Anzahl an VPN-Tunneln und Bandbreite zur Verfügung stellen.

Der Vergleich der beiden Protokolle: IPsec und SSL-VPN/TLS-VPN

Was ist IPsec?

Bei IPsec handelt es sich eigentlich um eine Sammlung von Protokollen, bei denen in zwei Phasen eine komplette Verschlüsselung des darüber stattfindenden Datenverkehrs erreicht wird. In der ersten Phase werden dabei Authentisierungs- und Verschlüsselungsverfahren ausgehandelt und dann ausgetauscht. Die Authentisierung ist dabei mithilfe eines vereinbarten gemeinsamen Schlüssels („Pre Shared Keys“) oder alternativ mit einem Zertifikat möglich. In der zweiten Phase werden dann sogenannte Security Associations erstellt, die zum Schutz der gesamten Kommunikation genutzt werden.

Die Konfiguration von IPsec ist relativ komplex und ist daher oftmals anfällig für Konfigurationsfehler. Besonders herausfordernd ist auch die Nutzung von IPsec hinter NAT oder der Betrieb über aktuelle Internetanbindungen, die für den Einzelkunden keine eigenen öffentlichen IPv4 IP-Adressen mehr vorsehen. Hierbei versorgen die Internetanbieter oftmals viele Kunden mit nur einer IPv4-Adresse (unter Verwendung des sogenannten „Carrier Grade NAT“). Dieser Betrieb im Parallelbetrieb („Dual-Stack“), kann den Einsatz von IPsec komplett unmöglich machen oder zu einem deutlichen Mehraufwand bei der Konfiguration des VPN führen.

Da zur Sicherstellung von Authentizität und Integrität der übertragenen Daten beispielsweise Authentication Header (AH) oder auch Encapsulating Security Payload (ESP) genutzt werden (beides sind Protokolle, die direkt auf IP basieren), ist eine Nutzung hinter NAT nur mit Hilfe von Lösungen wie NAT-Traversal oder IPsec-Passthrough möglich. Um diese zu implementieren, ist eine umfangreichere Konfiguration auf den involvierten Routern nötig.

Was ist ein SSL- respektive TLS-VPN?

Ein SSL-VPN – bzw. heute zunehmend auch mit dem moderneren Begriff „TLS-VPN“ bezeichnet – ermöglicht es, über eine verschlüsselte TLS-Verbindung ein VPN aufzubauen. Ein bekanntes Beispiel für eine solche SSL-VPN-Lösung ist die OpenSource Software OpenVPN. Im Gegensatz zu IPsec handelt es sich dabei um eine freie Software, die zur Verschlüsselung OpenSSL oder mbed TLS nutzt. Je nach Einsatzzweck können dabei TCP oder UDP zum Transport der Daten genutzt und die involvierten Ports frei gewählt werden. Hierdurch ist diese Art des VPNs sehr flexibel und vielseitig einsetzbar.

Wie bei IPsec können Pre Shared Keys und Zertifikate zur Authentisierung eingesetzt werden. OpenVPN bietet neben einem Routing-Modus auf Layer-3-Ebene des OSI-Modells auch einen Bridging-Modus an, über welchen der Versand von Ethernet-Frames realisierbar ist. Die Nutzung in einem Szenario, in welchem der Einsatz von NAT nötig ist, ist bei OpenVPN relativ einfach zu realisieren, da hierzu die nur die entsprechenden Ports des gewählten Protokolls (TCP/UDP) weitergeleitet werden müssen.

Allerdings sollte nicht unerwähnt bleiben, dass die Gegenstelle gerne mit dem Argument aufwartet, dass das Industriestandard sei und wegen der Sicherheit. In der Folge wird aber dann IKEv1 verwendet, ein Preshared Key per Klartextmail verschickt und md5 als Hash genommen. Also im Prinzip alte ranzige Parameter die schon lange nicht mehr den Status "sicher" besitzen.

IPsec oder SSL-VPN – welches ist die bessere Methode?

Beide Lösungen bieten – bei korrekter Konfiguration – eine starke Verschlüsselung und somit auch Sicherheit für die Übertragung Ihrer Daten. Unterschiede zeigen sich vor allem hinsichtlich der Geschwindigkeit, der Komplexität und der Kompatibilität. Durch den erhöhten Aufwand des Protokollstapels ist IPsec im Vergleich zu beispielsweise SSL-VPN wie OpenVPN ein wenig langsamer. Zudem ist die Konfiguration umfangreicher, so dass es erfahrungsgemäß häufiger zu Problemen bei der Einrichtung kommt. IPsec wird dafür auf praktisch allen Client-Systemen unterstützt, zumeist sogar ohne zusätzliche Software. Auch auf mobilen Geräten ist eine Verwendung von IPsec üblicherweise ohne viel Aufwand möglich. SSL-VPN Lösungen benötigen dagegen häufig einen Client, der möglicherweise zu Abhängigkeiten von bestimmten Betriebssystemen führen kann.

Eine generelle Empfehlung für eine der beiden Lösungen kann man im Prinzip nicht geben, da der jeweilige Einsatzzweck, die involvierten Geräte und weitere Parameter in Betracht gezogen werden müssen. Allerdings aus dem Vorhererwähnten lässt sich schlussfolgern, dass IPsec nur dann bevorzugt werden sollte wenn die Gegenstelle nichts anderes kann. Vorher ist stets zu versuchen, besser OpenVPN einzusetzen.

Vor- und Nachteile auf einen Blick

 

IPsec

   

SSL- / TLS-VPN

Kompatibillität mit quasi mit allen Endgeräten

 

Sehr einfache Konfiguration

Benötigt oftmals keine nachinstallierte Software

 

Ist sehr schnell

Kann umfangreich konfiguriert respektive angepasst werden

 

NAT zwischen den Endpunkten ist unproblematischer

Ist komplizierter bei der Konfiguration und evtl. Fehlersuche

 

Ist gegebenenfalls inkompatibel mit spezifischen Endgeräten

Ist etwas langsamer

 

Benötigt häufig eine zusätzliche Anwendung auf Endgeräten

Kann problematisch bei NAT zwischen den Endpunkten sein

   

Nutzt effektiv alte Parameter wie IKEv1, ein Preshared Key per Klartextmail und md5 als Hash