OpenVPN

Open Source tunnelt direkt

Von Benjamin Fleckenstein, PGK GmbH

Zur Vernetzung von Standorten oder der Anbindung von Außendienstmitarbeitern gibt es Virtual Private Networks (VPN). Die meisten dieser Software-Lösungen setzen auf Internet Protocol Security (IPSec), um die IP-basierten Verbindungen sicher zu machen. Unglücklicherweise bedeutet das jedoch eine vergleichsweise komplexe Administration, die wiederum eine Unmenge von Möglichkeiten zur Fehlkonfiguration gibt. Dagegen setzt OpenVPN auf transparente Funktionen und argumentiert: Sicher ist nur, was einfach ist.

Das trifft speziell für kleine und mittlere Unternehmen zu, wo IT-Lösungen oft auf Werkvertragsbasis implementert und danach nur sporadisch gepflegt werden. OpenVPN punktet hier mit deutlich einfacherer Verwaltung und Pflege – bei gleicher Sicherheit und besserer Integrierbarkeit. Außerdem gilt: Ausprobieren kostet nichts. Die Software ist Open Source und frei verfügbar. Es fallen also keine Lizenzgebühren an und die eigene IT bleibt unabhängig von einem bestimmten Anbieter oder Dienstleister.

Punkt zu Punkt mit Passkontrolle

OpenVPN basiert auf der SSL-Verschlüsselungstechnologie und umgeht somit sämtliche Schwierigkeiten von IPSec. Das Sicherheitskonzept ist bewährt: Secure Sockets Layer (SSL) bzw. dessen Nachfolger Transport Layer Security (TLS) wird seit 1994 zur Absicherung von HTTP-Verbindungen im Web, SMTP-Übertragungen beim E-Mail-Versand und vielen anderen Systemen genutzt. Auch im Homebanking-Bereich wird SSL verwendet.

Softwarepakete zum Download
OpenVPN gibt es für praktische alle Betriebssysteme, für Mac OS X, Linux und Solaris ebenso wie für Windows. Die freie Software mit General Public License (GPL) können Sie von www.openvpn.net herunterladen. Für Windows findet man dort einen Installer, allerdings gibt es bei www.openvpn.se gleich ein Paket mit grafischer Benutzeroberfläche (GUI). Das eignet sich für den normalen Anwender besser, weil man die VPN-Verbindung bequem über ein Tray-Icon starten kann. Die GUI liefert auch gleich das OpenVPN-Paket mit. Für Mac OS X gibt es auf www.tunnelblick.net Entsprechendes. Linux-User können die Software und ein Plugin für den Network-Manager über die Paketverwaltung der jeweiligen Distribution installieren.

Die Softwarepakete enthalten sowohl Client- als auch Serverkomponenten des Systems, denn einzig die Konfigurationsdatei bestimmt, ob eine Verbindung zu einem Netzwerk aufgebaut oder auf eingehende Verbindungen gewartet werden soll. Im Servermodus lauscht die Software – im Gegensatz zu IPSec – auf nur einem einzigen UDP-Port. Auch Clients, deren Adresse sich hinter einer NAT-Maskierung verbirgt, oder dynamische IP-Adressen auf beiden Seiten der Verbindung sind kein Problem. Durch die flexible Konfiguration sind sowohl fixe Standortverbindungen als auch bewegliche Roadwarrior-Szenarien für mobile Mitarbeiter mit Fernzugriff möglich. Da OpenVPN sich nacheinander zu mehreren Systemen verbinden kann, ist die Software auch für Hochverfügbarkeitslösungen geeignet.

Zur Authentifizierung der Verbindungspartner können sowohl Pre-Shared Keys (PSK) als auch Sicherheitszertifikate eingesetzt werden. Für beides liefert OpenVPN die notwendigen Werkzeuge mit. Darüber hinaus ist es machbar, OpenVPN an bestehende Verzeichnisdienste anzubinden, so dass Verbindungen zusätzlich mit Benutzername und Passwort gesichert werden können. Hierfür ist zwar etwas Programmier-Know-how nötig, da OpenVPN lediglich die Schnittstelle, aber keine fertigen Module mitliefert. Die notwendigen Programmteile können jedoch mithilfe von Scripting-Sprachen erstellt werden; auch einfache Batch-Dateien sind theoretisch möglich. Dafür arbeitet das Programm klaglos mit einem bereits laufendem Identitätsmanagement (IdM) zusammen. Überhaupt hängt das, was ein Client dann im Firmennetzwerk machen kann, nicht mehr von OpenVPN ab.

OpenVPN integriert sich nahtlos in bestehende Netzwerkumgebungen. Bei der Installation erstellt die Software einfach eine neue virtuelle Netzwerkkarte und baut darüber die verschlüsselten Verbindungen auf. Diese verhalten sich wie Punkt-zu-Punkt-Verbindungen und können z.B. in Firewall-Regelwerken oder auch in dynamischen Routing-Protokollen berücksichtigt werden. Für Fachleute heißt das: Es ist kein zusätzlicher Aufwand für die Pflege der Encryption Domains bzw. Subnetze oder Netzwerkrouten notwendig. Die Software kann sogar auf Layer 2 des OSI Stacks betrieben werden. So können lokale Netze transparent über die WAN-Leitung nach außen erweitert werden.

Aufsetzen, zertifizieren, loslegen

Wie OpenVPN funktioniert, zeigt ein Beispiel besser als alle technischen Details. Nehmen wir das anspruchsvollste Szenario: den Außendienstmitarbeiter auf Achse. (Es bleibt sich schließlich gleich, denn die Client-Anbindung ist für Standort-PCs im Prinzip dieselbe.)

Als Erstes muss – ein einziges Mal – der Server installiert werden, zu dem sich die Clients später verbinden. Das geht mit der Installationsroutine mehr oder weniger automatisch vor sich. Anschließend erstellt der Administrator die Serverkonfiguration: Er bestimmt, auf welche IP-Adresse und auf welchen Port der Server hört.

Danach werden noch die Serverzertifikate erstellt, sozusagen die Ausweispapiere der VPN-Zentrale. Hierfür liefert OpenVPN entsprechende Shellscripte bzw. Batch-Dateien gleich mit.

Soll für unser Beispiel einem Benutzer von unterwegs aus der Zugriff auf Firmenressourcen gewährt werden, so installiert der Administrator auf dem Laptop des Anwenders zunächst das OpenVPN-Paket (als Client). Dann erstellt er ein Zertifikat für den Benutzer, damit der sich authentifizieren kann. Hierfür passen die gleichen Batch- bzw. Shellscripte, die schon für die Serverzertifikate benutzt wurden.

Anschließend kopiert der Administrator die Konfigurationsdatei sowie die Zertifikatsdateien auf den Client-PC für unterwegs. Die Konfigurationsdatei ist übrigens für alle Clients gleich; sie kann somit auch im firmenweiten Intranet zur Verfügung gestellt werden. Die Zertifkatsdateien sollten allerdings gesichert übertragen werden. Ein Versand per verschlüsselter E-Mail oder über einen Netzwerkshare, auf den nur der jeweilige User Zugriff hat, ist möglich.

Sobald der Mobilrechner sein Zertifikat hat, ist der Rest denkbar simpel: Der Benutzer startet die Verbindung einfach über das Startmenü oder das Tray-Icon von OpenVPN.

Soll einem Benutzer der Zugriff entzogen werden, so kann der Administrator auf dem Server das Zertifikat für den User widerrufen. Somit kann der Teilnehmer keine VPN-Verbindung mehr aufbauen, selbst wenn Username und Passwort noch gültig sind. Eine Änderung auf dem Client, der sich wer weiß wo befindet, ist gar nicht notwendig. Die Zugriffe können also auch sofort und zuverlässig gesperrt werden, wenn das Notebook z.B. gestohlen wurde.

Fazit: Alternative ohne Schikanen

OpenVPN bietet eine stabile und kostengünstige Alternative gegenüber IPSec-basierten Lösungen. Mittelständler, die darüber nachdenken, Standorte zu vernetzen oder Mitarbeitern Remote-Zugriff zu gewähren, sollten sich die Open-Source-Lösung einmal näher ansehen.

Nützliche Links

Wer genau wissen will, woran es bei IPsec sicherheitstechnisch hapert – die kritische Analyse der Verschlüsselungsspezialisten Niels Ferguson und Bruce Schneier: A Cryptographic Evaluation of IPsec gibt es als Voll-PDF auf der Schneier-Site zum Download. Zu Einrichtung und Handhabung von OpenVPN gibt es sogar ein eigenes OpenVPN-Wiki des OpenVPN-Forums.