Sie sind hier:  /  Netzwerk  /  VPN  /  OpenVPN

Deutsch  /  English

OpenVPN

OpenVPN wurde von James Yonan entwickelt, der als Systemadministrator sicheren Fernzugriff auf einen Firmensever benötigte und sich deshalb auf die Suche nach einer passenden Lösung gemacht hat. Damals stand man vor allem vor der Wahl, das schwer konfigurierbare IPSec oder einfach konfigurierbare, inkompatible Software zu verwenden. James Yonan entwickelte dann die Idee, verschiedene der damals bekannten Konzepte in einer VPN-Software umzusetzen. Dabei achtete er darauf, ein System zu entwickeln, dass sowohl sichere Verbindungen ermöglichte, als auch einfach zu konfigurieren war.

Die erste öffentliche Version, Version 0.90 wurde am 13. Mai 2001 veröffentlicht. Von diesem Zeit Punkt ab wurde OpenVPN kontinuierlich weiterentwickelt und ist zur Zeit in einer stabilen Version 2.0.9 erhältlich. Da diese allerdings schon am 1.10.2006 veröffentlicht wurde und sich seither einiges in der Entwicklung getan hat, werden heutzutage meist Vor-Versionen der Version 2.1 verwendet, die als relativ stabil gelten und einige interessante neue Funktionen mitbringen.

Interessante Features von OpenVPN

Zertifikate und statische Schlüssel

OpenVPN bietet einerseits die Möglichkeit, VPN-Kommunikationspartner mit statischen Schlüsseln, Schlüsseldateien, die ähnlich wie ein Kennwort vorher getauscht werden müssen, zu authentisieren und die Kommunikation mit dem statischen Schlüssel zu verschlüsseln. Statische Schlüssel sind schnell ausgetausch und man hat schnell den ersten VPN-Tunnel erstellt. Allerdings kann ein Angreifer, der Pakete als Man-in-the-Middle abhört und aufzeichnet, die kompletten aufgezeichneten Kommunikation entschlüsseln, sollte er es schaffen, den Schlüssel zu knacken.

Sicherer ist daher der Einsatz von sogenannten Zertifikaten zur Authentisierung der Kommunikationspartner. Dabei stellt eine sogenannte Certificate Authority (kurz: CA; deutsch: Zertifizierungsstelle) jedem Client ein sogenannte Zertifikat aus, welches ihn ausweist und dessen Echtheit durch eine Unterschrift der CA sichergestellt ist. Zu jedem Zertifikat gehört auch ein sogenannte Private Key, ein Schlüssel, der geheim bleiben muss. Das Zertifikat selbst darf auch über unsichere Leitungen ungeschützt übertragen werden. Es enthält sozusagen die Ausweisdaten des Nutzers und einen sogenannten Public Key, ein öffentlicher Schlüssel, der nur dazu genutzt werden kann, Nachrichten an den Client zu verschlüsseln. Dieser kann diese Nachricht auch nur mit seinem Private Key entschlüsseln, womit die Sicherheit der Datenübertragung garantiert ist.
Durch dieses Verfahren authentisieren sich die Kommunikationpartner gegenseitig und handeln über das oben beschriebenen Public Key Verfahren einen gemeinsame Verschlüsselungsalgorithmus samt Sitzungsschlüssel aus, über die dann der eigentliche VPN-Verkehr verschlüsselt wird. besteht die Verbindung über eine längere Zeit, handeln die Knoten regelmäßig, meist im Stundentakt, einen neuen Schlüssel aus und verwenden diese dann. Dadurch kann ein Lauscher nach dem Knacken eines Sitzungsschlüssels maximal einen kleinen Teil der Kommunikation entschlüsseln.

Flexibilität des VPN-Netzes

Durch seine Unterstützung von Point-to-Point Verbindungen mit sogenannten TUN-Schnittstellen und Ethernet Verbindungen ist OpenVPN sehr flexibel. Dabei ist es flexibel in der Adressvergabe und kann so nahezu beliebig an die Bedürfnisse angepasst werden.

Ein OpenVPN-Gateway kann abhängig vom angemeldeten Client diesem Konfigurationsoptionen übermitteln und abhängig von den Verbindungen auch im Betriebssystem IP-Routen in das Zielnetz einrichten.

Verschiedene Übertragungsmöglichkeiten zwischen Gateway und Clients

 

Für OpenVPN spricht außerdem, dass es zur Übertragung sowohl TCP als auch UDP auf beliebigen Ports verwenden kann. Dadurch ist es zum Beispiel möglich, eine OpenVPN-Verbindung zu einem Gateway, welches auf Port 443 TCP lauscht, dank der OpenSSL-Verschlüsselung und der dadurch vorhandenen Ähnlichkeit zu HTTPS-Aufrufen über einen Proxy zu leiten. Dabei kann ab Version 2.1 sogar Nicht-OpenVPN-Verkehr an einen Webserver weitergleitet werden und somit bleibt der Port für HTTPS-Verbindungen verfügbar.

Zusätzlich lassen sich die Framegrößen der VPN-Pakete begrenzen und somit an die Netzwerkgegebenheiten anpassen.

 

Diese Auswahl an Funktionen zeigt einen kleinen Teil der Optionen, die OpenVPN bietet und es derart flexibel machen. Diese und viele weitere Optionen sollten Grund genug sein, OpenVPN als flexible und dabei trotzdem vergleichsweise einfach zu konfigurierende Lösung in Betracht zu ziehen, wenn man plant, ein VPN aufzubauen.

Durch seine Portabilität ist es heute auf vielen wichtigen Plattformen wie Linux, Mac OS, Solaris, BSD-Systen und Windows verfügbar. OpenVPN ist auf vielen Linux-Routern verfügbar, unter anderem gibt es Pakete für AVMs Fritz!Box, auf der es sich auch bei mir über lange Zeit bewährt hat.