Das Abhören von digitaler Kommunikation sieht im Hollywood-Kino meist einfach aus, und leider ist es das in der Realität auch. Zum Glück gelingt das Absichern der Kommunikation genauso einfach wie der unerlaubte Zugriff: Mit OpenVPN steht dazu ein komfortables Werkzeug bereit.
VPN in der Theorie
Sowohl Firmen als auch Privatleute hegen den Wunsch, ihre Daten vor fremden Augen und gegen Manipulation geschützt durchs Netz zu bewegen. Nutzt man für den Fernzugriff auf private Daten zudem unsichere Eintrittspunkte wie ein Hotelnetz, den öffentlichen Hotspot, das Internetcafé oder das Handy, gehören Schutzmaßnahmen zum Pflichtprogramm. Aber auch wer seine Kommunikation in einem besser gesicherten Netzwerk, wie einem Campus- oder Kundennetzwerk schützt, begeht damit keinen Fehler.
Am einfachsten sichern Sie Ihre Daten, indem Sie sie durch einen verschlüsselten Kanal – einen so genannten Tunnel – übertragen. Durch solche Tunnel verbundene Rechner bilden virtuelle private Netzwerke oder kurz VPNs (Abbildung 1): virtuell, weil die Netzwerkverbindung nicht direkt auf Hardware basiert, und privat, weil hoffentlich kein Fremder mitlesen kann.
Dabei verbindet der Tunnel mindestens zwei Endpunkte, hinter denen Rechner oder auch ganze Netze stehen dürfen. Die derart gesicherte Verbindung schützt dabei auch potenziell unsichere Aktionen wie das Übertragen von Dateien per SMB oder FTP. Es gibt mehrere VPN-Verfahren, die von kompliziert und mächtig (IPSec) bis hin zu einfach und potenziell unsicher (PPTP) reichen.
Das hier vorgestellte Projekt OpenVPN [1] lässt sich dagegen unter einfach und mächtig einordnen. OpenVPN entstand unter der Federführung eines einzelnen Programmierer namens James Yonan, der früh die Portierung auf Windows und die BSD-Familie (etwa FreeBSD oder Mac OS X) in Angriff genommen hatte. Zahlreiche Entwickler haben mittlerweile auch grafische Frontends dafür erstellt, die den Einsatz der Kommandozeilen-Applikation vereinfachen und deutlich angenehmer gestalten.
Hohe Sicherheit, einfache Usability und viele Tools machen OpenVPN zu einer guten Lösung für den professionellen Einsatz über Betriebssystem- und Arbeitsgruppengrenzen hinweg. Deshalb wundert es nicht, dass OpenVPN seit Jahren einen fester Bestandteil aller großen Distributionen bildet und dass sowohl OpenSuse als auch Ubuntu umfangreiche Konfigurationstools für den Client mitbringen.
Für die Sicherheit kommen dabei grundsätzlich zwei Varianten in Frage: OpenVPN unterstützt sowohl einfache Pre-Shared Keys als auch die komplexere und sichere Technologie der SSL-Zertifikate. Letztere bauen auf asymmetrischer Verschlüsselung [2] auf und lassen sich gut in einer PKI verwalten. Dazu stattet der Administrator sowohl den Server als auch jeden Client mit Schlüsseln aus, die von einer zentralen Instanz, der CA, stammen. Beide Kommunikationspartner haben so die Möglichkeit, zu überprüfen, ob der öffentliche Schlüssel des anderen von dieser Instanz stammt. Der eigene private Schlüssel bleibt stets geheim.
Ein einfacher Tunnel
Für einen ersten, einfachen Tunnel eignen sich aber am besten die Pre-Shared Keys. Damit setzen Sie ein VPN in wenigen Minuten auf. OpenVPN bringt dazu einfache und gut dokumentierte Beispieldateien mit einer adaptierbaren Konfiguration mit. Für einen simples VPN mit einem gemeinsamen Tunnel nehmen Sie nur in einer Zeile in den Dateien Änderungen vor, erzeugen einen Schlüssel und verteilen diesen auf die beiden Systeme.
Die Beispielkonfiguration für den Client finden sie bei OpenSuse unter /usr/share/doc/packages/openvpn/sample-config-files/static-home.conf und für den Server in /usr/share/doc/packages/openvpn/sample-config-files/static-office.conf. Kopieren Sie die entsprechenden Dateien auf Server und Client in das Verzeichnis /etc/openvpn. Erzeugen Sie dann mit dem Kommando openvpn --genkey --secret /etc/openvpn/static.key einen gemeinsamen Schlüssel für die beiden Systeme des Tunnels und hinterlegen sie diesen auf beiden Maschinen im Verzeichnis /etc/openvpn.
Jetzt brauchen Sie nur noch in static-home.conf auf dem Client in der Zeile remote die IP oder den DNS-Namen des Servers einzutragen und OpenVPN als zu Root zu starten: Schon steht der erste Tunnel, und Sie verfügen über ein neues virtuelles Netzwerkinterface, an dessen anderem Ende Sie den VPN-Server erreichen – sofern ihnen keine Firewall einen Strich durch die Rechnung gemacht hat. Überprüfen Sie das mit ifconfig.



