AA_PO-20959.jpg

© Sean Gladwell, de.fotolia.com

Tunnelbauer

OpenVPN-Grundlagen

21.09.2010
VPNs stehen seit jeher im Ruf, kompliziert und umständlich in der Konfiguration zu sein. OpenVPN zeigt, dass es auch anders geht: Mit einem Fünfzeiler bauen Sie einen sicheren Tunnel über das Internet auf.

Nach wie vor scheuen sich viele Anwender, zum externen Zugriff auf das heimische Netz ein VPN einzusetzen, obwohl dessen Nutzwert außer Frage steht. Das Argument: Ein virtuelles privates Netz sei zu umständlich und zu kompliziert einzurichten. Das mag für viel Implementationen auf IPsec-Basis durchaus zutreffen, gilt jedoch nur bedingt für OpenVPN [1].

Zugegeben: Wegen des erheblichen Funktionsumfangs und der damit verbundenen Fülle an möglichen Fehlerquellen sorgt die Software vor allem bei Einsteigern oft für Verwirrung. Tatsächlich aber lässt sich mithilfe von OpenVPN mit nur wenigen Schritten ein funktionierendes VPN aufbauen, wie dieser Artikel im Folgenden zeigt. Da es die Software nicht nur für Linux gibt, sondern auch für Mac und Windows, eignet sich OpenVPN obendrein hervorragend zum Verbinden heterogener Netze oder Hosts.

Generelles

VPN steht für für Virtual Private Network, was den Zweck recht gut erklärt. Funktional handelt es sich dabei um einen verschlüsselten Tunnel durchs Internet, innerhalb dessen die Kommunikation stattfindet. Dafür erstellt die Software beim Start ein eigenes Device (unter Linux heißt es tunX) das es zur Kommunikation verwendet. Innerhalb des Tunnels gelten die Regeln und Gesetzmäßigkeiten eines normalen LAN, auch was den Einsatz von IP-Adressen aus privaten Adressbereichen betrifft. Zur Verschlüsselung verwendet OpenVPN das als sicher eingestufte OpenSSL [2] mit frei wählbaren Algorithmen, das selbst militärischen Sicherheitsstandards genügt.

Neben der sicheren Verbindung bringt der Einsatz von VPN einen weiteren Vorteil: Er erschließt die komplette Infrastruktur des angeschlossenen Netzes und stellt sie dem per Tunnel angeschlossenen Client so dar, als ob dieser vor Ort damit verbunden wäre. Entsprechend gestattet das VPN den Zugriff auf alle m lokalen Netz laufenden Dienste wie Mailserver, Fileserver oder Proxy. Dank der verschlüsselten Verbindung besteht auch keine Notwendigkeit, die Kommunikation noch einmal extra abzusichern. Eine korrekte Konfiguration vorausgesetzt, stellt das VPN also ein enormes Sicherheitsplus für jeden übers Internet erreichbaren Server dar: Sie können die von außen erreichbaren Dienste auf ein Minimum reduzieren.

OpenVPN installieren

OpenVPN findet sich in den Repositories aller gängigen Distributionen, sodass Sie es mit dem Paketmanager Ihres Systems einrichten. Bei den hier vorgestellten Anwendungsszenarien spielt die konkrete Version keine Rolle. Hilfestellung erhalten Sie, wie bei den meisten Unix-Programmen üblich, mit openvpn --help oder man openvpn.

Eine globale Konfigurationsdatei, wie sie andere Services nutzen, fehlt bei OpenVPN. Vielmehr legen Sie für jede der Verbindungen eine eigene Konfiguration an, die alle relevanten Informationen enthält. Das gilt sowohl für die Client- als auch die Serverseite. Das Setup befindet sich unter Linux im Verzeichnis /etc/openvpn/, unter Windows in C:\Programme\OpenVPN\config\

Server-Konfiguration

OpenVPN bietet für beinahe jeden erdenklichen Anwendungsfall die richtige Lösung, die sich in der Konfiguration zwar oft nur marginal unterscheidet, in ihrer Wirkung dafür sehr. Ein häufig anzutreffendes Szenario stellt der so genannte Road Warrior dar: Es geht davon aus, dass Sie sich über das Internet mit einem mobilen Gerät an einen Host oder ein Netz anschließen, um beispielsweise Daten zu transferieren oder Mails abzuholen. Das serverseitige Minimal-Setup dazu zeigt Listing 1.

Listing 1

# /etc/openvpn/config.conf (Server)
port 5000
proto tcp-server
dev tun
secret /etc/openvpn/preshared_key.txt
ifconfig 192.168.10.1 192.168.10.2

Zeile 2 legt den Port fest, auf dem OpenVPN lauscht, Zeile 3 das Protokoll und die Rolle (Server), mit dem es arbeitet. Zeile 4 nennt das Device, das OpenVPN beim Start generiert und zur Datenübertragung nutzt. Zeile 5 legt als Authentifizierungsmethode einen Preshared Key fest. Diesen generieren Sie mittels der Eingabe

$ sudo openvpn --genkey --secret preshared_key.txt

im Terminal. Anders als beim TLS-Authentifizierungsverfahren nutzen Sender und Empfänger bei dieser Methode den selben Schlüssel. Kopieren Sie ihn nach dem Erstellen ins Standard-Konfigurationsverzeichnis von OpenVPN und setzten Sie die Benutzerrechte auf 400. Verteilen Sie den Schlüssel danach an alle Clients, die via VPN auf den Server zugreifen dürfen. Als Speicherort dient dort das Verzeichnis, in dem sich auch die Konfigurationsdatei befindet.

Die Anweisung ifconfig in Zeile 6 des Listings gibt an, welche IP-Adresse OpenVPN zur Kommunikation im Tunnel verwendet. Das "linke" Netz (im Beispiel 192.168.10.1) ist dabei immer das eigene, das "rechte" (192.168.10.2) das des Verbindungspartners.

Für einen ersten Testlauf des Servers tippen Sie nach dem Speichern der Konfiguration in der Konsole das Kommando:

$ sudo openvpn --verb 3 --config /etc/openvpn/config.conf<c>

Der Start via Terminal ist zunächst deswegen sinnvoll, weil das Programm Fehler direkt anzeigt, was beim Laden via Init-Skript nicht der Fall wäre. Der Schalter --verb aktiviert das Logging (Abbildung 1), in unentbehrliches Mittel zur Fehleranalyse. Je höher die dahinter angegebene Zahl, desto präziser erfolgt die Ausgabe.

Abbildung 1: Der Schalter --verb bewirkt beim Start, dass OpenVPN je nach Log-Level mehr oder weniger präzise Zustandsmeldungen anzeigt.

Erscheint nach dem Start des Servers die Meldung Listening for incoming TCP connection on [undef]:5000, dann ist die Konfiguration zumindest soweit in Ordnung, dass die Software den Start nicht abbricht. Der Befehl sudo ifconfig zeigt jetzt das zusätzliche Device tun0. Nach erfolgreichem Testlauf beenden Sie den Server mit [Strg]+[C] und starten ihn zukünftig via

# /etc/init.d/openvpn start

Ersetzen Sie im obigen Kommando die Anweisung start durch status, zeigt OpenVPN seinen aktuellen Betriebszustand. Ein stop beendet den Tunnel.

Steht der VPN-Server hinter einem Router, gilt es, auf diesem ein Portforwarding einzurichten, damit sich der Server von Außen erreichen lässt. Anders als bei IPsec benötigt der Router jedoch kein VPN-Passthrough.

Schwächen von Preshared Key

Diese hier beschriebene Authentifizierung per Preshared Key ist zwar simpel, gilt jedoch aus mehreren Gründen als Notlösung. Da alle mit dem Server verbundenen Clients den selben Schlüssel als einzige Authentifizierungsmethode verwenden, müssen Sie beim Abhandenkommen eines Geräts (etwa durch Diebstahl) den Schlüssel auf allen Clients erneuern, um dem Dieb nicht Zugriff auf den VPN-Server zu gewähren. Außerdem ermöglicht diese Authentifizierungsmethode jeweils nur eine Verbindung gleichzeitig. Beides spielt jedoch im kleineren Umfeld mit nur wenigen Clients eine eher untergeordnete Rolle. Schwerer wiegt der Umstand, dass unter anderem die User/Pass-Authentifizierung ausschließlich zertifikatsbasiert arbeitet. Weiterhin funktionieren einige OpenVPN-Features, beispielsweise das Verteilen von Routeninformationen via push an die Clients, nur mit der TLS-Authentifizierung.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Durchgetunnelt
    Der Einsatz eines virtuellen privaten Netzwerks erlaubt die sichere Kommunikation über unsichere Netzwerke. Mit OpenVPN steht dafür ein einfach zu konfigurierendes, mächtiges Werkzeug bereit.
  • Verschlüsselte Tunnel mit OpenVPN einrichten
    Viele WLAN-Geräte verschlüsseln die Verbindungen nur unzureichend. Mit OpenVPN und wenigen Befehlen richten Sie ihr eigenes verschlüsseltes Netzwerk ein und können sich sogar aus dem Internet zu Hause einloggen.
  • Geschützter Netzzugriff von unterwegs mit OpenVPN
    Mit OpenVPN bleiben Sie zumindest virtuell immer zu Hause: Sie kommunizieren auch von unterwegs abhörsicher und angriffsgeschützt mit den Rechnern im heimischen LAN, als wären Sie dort.
  • Tag der offenen Tür
    Fast jede öffentliche Einrichtung und jedes Hotel bieten heute ein kostenpflichtiges WLAN an. Kreative Zeitgenossen finden jedoch meist schnell eine Möglichkeit, ein solches Netz unautorisiert zu nutzen.
  • VPN-Verbindungen mit OpenVPN einrichten
    OpenVPN hilft dabei, von unterwegs sicher auf die Daten auf dem eigenen Computer zurückzugreifen. Dabei ist die Software leicht einzurichten und gehört bei den großen Distributionen zu den Standardpaketen.
Kommentare

Infos zur Publikation

LU 12/2014: ANONYM & SICHER

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Ubuntu 14.10 und VirtualBox
Ubuntu 14.10 und VirtualBox
Tim Schürmann, 08.11.2014 18:45, 0 Kommentare

Wer Ubuntu 14.10 in einer virtuellen Maschine unter VirtualBox startet, der landet unter Umständen in einem Fenster mit Grafikmüll. Zu einem korrekt ...

Aktuelle Fragen

Nach Ubdates alles weg ...
Maria Hänel, 15.11.2014 17:23, 4 Antworten
Ich brauche dringen eure Hilfe . Ich habe am wochenende ein paar Ubdates durch mein Notebook von...
Brother Drucker MFC-7420
helmut berger, 11.11.2014 12:40, 1 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu 14.04-Nutzer...
Treiber für Drucker brother MFC-7420
helmut berger, 10.11.2014 16:05, 2 Antworten
Hallo, ich habe einen Drucker, brother MFC-7420. Bin erst seit einigen Tagen ubuntu12.14-Nutzer u...
Can't find X includes.
Roland Welcker, 05.11.2014 14:39, 1 Antworten
Diese Meldung erhalte ich beim Versuch, kdar zu installieren. OpenSuse 12.3. Gruß an alle Linuxf...
DVDs über einen geeigneten DLNA-Server schauen
GoaSkin , 03.11.2014 17:19, 0 Antworten
Mein DVD-Player wird fast nie genutzt. Darum möchte ich ihn eigentlich gerne abbauen. Dennoch wür...