Mehr Sicherheit unterwegs: OpenVPN

Neulich wurde ich darum gebeten ein wenig über die VPN-Einrichtung zu schreiben, die es dem Nutzer ermöglicht auch in offenen WLANs wie z.B. auf Konferenzen, in einigen Hotels oder auch bei anderen Veranstaltungen sicher zu sein, dass seine Daten sicher übertragen werden. Das möchte ich heute machen. Allerdings werde ich nicht weit auf die konkrete Einrichtung eingehen, da diese schon oft genug beschrieben wurde sondern das Thema mehr allgemein beleuchten.

Wozu brauchen wir also ein VPN wenn wir schon Virenscanner, Firewalls und sichere Passwörter für unsere Logins haben? Relativ einfach: Der Virenscanner schützt unser System vor Viren und Trojanern, die unsere Passwörter direkt auf dem Rechner abfangen und weiterleiten können. Die Firewall sorgt dafür, dass die Hacker dumm in der Gegend stehen und unser System nicht einfach durchwühlen dürfen. Die sicheren Passwörter helfen uns, damit nicht jeder die Zugriffsdaten erraten kann.

Was genau schützt uns jetzt allerdings davor, dass unsere Passwörter im Netzwerk ausgelesen werden? Solange die Verbindung zu einer Webseite via SSL erfolgt sind wir relativ sicher, da dies eine Punkt-zu-Punkt Verschlüsselung zwischen unserem Browser und dem Zielserver ist. Eine mitlesende Stelle würde hier auffallen und uns davon abhalten die Seite weiter zu nutzen. Sobald wir allerdings einen Login ohne SSL haben (jetzt mal ganz ehrlich: Wer von euch loggt sich im Wordpress-Admin mit SSL ein?) werden die Daten wunderschön im Klartext über das Internet übertragen.

Als Administrator des Netzwerks ist es mir jetzt ein einfaches die nicht verschlüsselten Verbindungen, die irgendein Laptop in meinem Netz zu irgendeinem Webserver im Internet aufbaut, aufzuzeichnen und auszuwerten. Schon habe ich die Information, dass man sich im Blog xyz mit dem User "admin" und dem Passwort "passwort123!" einloggen kann. Nicht in eurem Sinn? Gut. Damit haben wir den Sinn des VPN erreicht.

Das VPN (Virtual Private Network) sorgt dafür, dass unsere Daten durch die potentiell unsicheren Netzwerke sicher und ungelesen übertragen werden können und der Administrator des Netzwerks schmollend vor seinem Bildschirm sitzt. Dazu benötigt man einen VPN-Server, der in einem Netzwerk steht, dem man vertraut und einen VPN-Client auf dem Laptop.

Der Server kann z.B. ein vServer oder auch euer Rechner zu Hause sein. Ich persönlich würde zu einer separaten Maschine raten und nicht den normalen Rechner nutzen. Für mich ist mein Zugangspunkt ein vServer, der auf meinem eigenen dedizierten Server läuft. Ich vertraue dem vServer (und seinem Netzwerk) so weit, dass dort keine Daten mitgeschrieben werden.

Vom Ablauf her klappe ich mein Laptop auf der Konferenz auf und betrete das offene WLAN dieser Veranstaltung. Jetzt stellt mein VPN-Client fest, dass eine Netzwerkverbindung besteht und baut eine sichere Verbindung zu meinem vServer auf. Diese Verbindung wird jetzt so eingerichtet, dass aller Netzwerktransfer, den mein Laptop sendet durch sie fließt und so automatisch verschlüsselt wird. Erst auf meinem vServer wird sie wieder entschlüsselt und an das eigentliche Ziel weitergeleitet. Die Antwort des eigentlichen Servers wird auf dem gleichen Wege wieder zurück gesandt und so bin ich mir sicher, dass niemand die Daten mitlesen konnte.

Für den Aufbau eines VPN gibt es verschiedene Möglichkeiten. Genannt seien dabei OpenVPN, OpenSwan, StrongSwan, Cisco-VPN-Router und weitere. Es gibt verschiedene Möglichkeiten, wobei ich für die private Lösung um sich in einem fremden Netz besser zu fühlen zu OpenVPN raten würde. Es ist bei weitem nicht das sicherste aber kostet einen deutlichen Aufwand die Daten zu bekommen. Im Gegensatz dazu ist es schnell und einfach einzurichten.

Für Firmen-VPNs oder Verbindungen, durch die Daten übertragen werden sollen, die einen gewissen Sicherheitsstandard voraussetzen sollten meiner Meinung nach höhere Sicherheitsvorkehrungen getroffen werden.

  • Eine einfache aber vollständige Anleitung zur Einrichtung eines OpenVPN-Servers auf einem Ubuntu-Server und einem Ubuntu-Client gibt es im UbuntuUsers-Wiki.
  • Infos über verschiedene grafische Oberflächen für OpenVPN unter Windows und OSX gibt es hier.
  • Ich persönlich nutze unter OSX die Software Viscosity, die auch die Einrichtung des Clients vereinfacht, da hier keine Text-Dateien bearbeitet werden müssen sondern die Einrichtung grafisch läuft.
Wie sieht es bei euch aus? Konntet Ihr dieser Information etwas für euch mitnehmen? Setzt Ihr eventuell schon ein VPN zur Absicherung des Laptops ein? Werdet Ihr euch in Zukunft dran machen und ein kleines VPN umsetzen?