Installation mit Zertifikaten

In größeren Netzen mit einem höheren Sicherheitsanspruch verwenden Admins aus gutem Grund jedoch keine Pre-Shared Keys, sondern SSL-Zertifikate. Diese vereinfachen das Verwalten und vor allem Rückrufaktionen, falls ein Client-PC kompromittiert wurde. Mit Zertifikaten benötigt der Benutzer neben der IP-Adresse respektive dem Hostnamen des Endpunkts selbst noch einen öffentlichen Schlüssel einer CA und jeweils einen eigenen privaten und öffentlichen Schlüssel.

Diese liegen in der Regeln in Form von Textdateien vor und stammen von der CA. Der Endpunkt im Firmennetz bekommt ebenfalls ein von der CA ausgestelltes Schlüsselpaar und den öffentlichen Schlüssel. So können beide Parteien die Identität der jeweils anderen überprüfen, jede Maschine lässt sich eindeutig identifizieren. Mehr über das Einrichten einer eigenen CA verrät der Kasten "Die eigene CA".

Die eigene CA

Um eine eigene CA aufzusetzen, braucht es nur ein paar Skripte, die OpenVPN gleich mitliefert. Diese kopieren Sie zuerst in den eigenen Benutzerordner. Das erlaubt das Schreiben ohne Root-Rechte. Der zu kopierende Ordner heißt bei Ubuntu /usr/share/doc/openvpn/examples/easy-rsa/2.0, bei OpenSuse /usr/share/openvpn/easy-rsa/2.0. Unter Ubuntu würde das ganze also etwa so im Terminal ablaufen:

$ cp -r /usr/share/doc/openvpn/examples/easy-rsa/2.0 ~/easy-rsa
$ cd ~/easy-rsa

Dann lesen Sie den Inhalt der Datei vars in der aktuellen Konsole mittels source ./vars ein. Haben Sie die CA noch nie verwendet, leeren Sie nun einmalig mittels ./clean-all den Ordner und erzeugen dann mit ./pkitool --initca --pass das CA-Schlüsselpaar. Dabei fragt die Software ein Kennwort ab, mit dem Sie die Schlüssel der CA schützen. Zuletzt legen Sie noch mit ./build-dh die Diffie-Hellman-Verschlüsselungsparameter an, die Sie für die Serverkonfiguration benötigen.

Nun haben Sie die Möglichkeit, beliebige Schlüsselpaare zu erzeugen. Diese generieren Sie für Server-Endpunkte (die sich nie aktiv verbinden) oder für Client-Endpunkte (zu denen sich nie jemand verbindet). Der Befehl ./pkitool --server Hostname legt für den Server namens Hostname ein Schlüsselpaar an. Mit ./pkitool hostname erledigen Sie dasselbe für Client-Endpunkte.

Im Unterordner keys findet sich neben dem öffentlichen CA-Schlüssel ca.crt auch jeweils der öffentliche Hostname.crt und der private Schlüssel Hostname.key. Es ist generell eine gute Idee, mit der Option --pass mitzuteilen, dass die privaten Schlüssel kennwortgeschützt sein sollen.

Integriert

Ein besonderes Schmankerl stellt die Integration von OpenVPN in den Network-Manager an. Das vom Gnome-Projekt entwickelte System hilft bei der Konfiguration von Netzwerkschnittstellen. Es existiert mittlerweile eine Variante für KDE in Form des KNetworkManagers. Unter Ubuntu installieren Sie lediglich das Paket network-manager-openvpn. Bei OpenSuse gibt es analog dazu die Pakete NetworkManager-openvpn-gnome und NetworkManager-openvpn-kde für die beiden Desktops.

Nach der Installation zeigt ein Klick auf das Symbol des Network-Managers im Panel einen neuen Menüpunkt namens VPN-Verbindungen... | VPN konfigurieren. Dort öffnet ein Klick auf Hinzufügen einen mehrstufigen Dialog, der durch die Konfiguration führt. Allerdings finden sich dort nur teilweise deutsche Texte, was jedoch bei den allgegenwärtigen Anglizismen im Netzwerkbereich nicht verwundert.

Der Dialog erfragt neben dem Namen, unter dem das System diesen Tunnel bekannt macht, nur die Dateinamen des CA-Schlüssels und des eigenen Schlüsselpaars ab. In Abbildung 2 sehen Sie die beiden Dialoge. Haben Sie Angaben komplettiert, erscheint die frisch angelegte Verbindung im Network-Manager unter VPN-Verbindungen... im Hauptfenster. Durch Anklicken aktivieren Sie den Tunnel, wobei beim Symbol des Network-Managers im Tray des jeweiligen Desktops ein kleines leuchtendes Schloss erscheint: Es symbolisiert ein aktives VPN.

Abbildung 2: Sowohl OpenSuse (links) als auch Ubuntu (rechts) bieten über den NetworkManager eigene Dialoge zum Einrichten und Konfigurieren eines VPN-Netzes ein.

Welche Ziele im Netzwerk Sie jetzt konkret über den verschlüsselten Tunnel erreichen, hängt letztlich von der Konfiguration des entfernten VPN-Endpunkts ab. So hat es durchaus Sinn, den gesamten Zugang ins Internet zu verschlüsseln, wenn Sie nur über einen öffentlichen WLAN-Hotspot ins Netz gehen. Möchten Sie mit dem VPN stattdessen von einem DSL-Anschluss eine Brücke zum Firmennetzwerk, macht es mehr Sinn, nur die fürs Firmennetz bestimmten Pakete zu tunneln. Andere Datenpakete ins VPN zu schicken, würde nur den Internetzugang des Unternehmens belasten, ohne einen spürbaren Sicherheitsvorteil zu bringen.

Natürlich ist ein solcher Client ohne Server nicht sonderlich spannend. Der Kasten "Heimserver" gibt einen ersten Einblick in den Betrieb eines eigenen Servers. Bei Fragen zu den vielfältigen Profi-Features wie Bridging (gut zum Tunneln von Spielen oder ähnlichem) oder die Konfiguration von Windows-Clients hilft die OpenVPN-Homepage weiter. Die in Kürze erwartete Version 2.1 von OpenVPN bringt direkt einen grafischen Client für Windows mit. Bei Bedarf teilt sich diese Programmversion auch einen TCP-Port mit einem HTTPS-Server. Für fast alle alltäglichen Einsatzgebiete jedoch reicht bereits die Version 2.0.

Heimserver

Für den eigenen OpenVPN-Server braucht es eine angepasste Konfigurationsdatei. Auch dafür bringt OpenVPN Beispieldateien mit: Sie heißen server.conf und client.conf. Die umfangreich dokumentierten Dateien helfen zwar weiter, fallen aber nicht sehr übersichtlich aus. Listing 1 zeigt ein völlig ausreichendes Beispiel ohne Kommentare für eine Server-Konfigurationsdatei.

Nach der Installation startet für jede Datei im Ordner /etc/openvpn, deren Dateinamen auf .conf endet, beim Systemstart automatisch ein OpenVPN-Prozess den entsprechenden Tunnel. (Unter Windows lautet die Dateinamenserweiterung übrigens .ovpn.)

Nun legen Sie noch in /etc/openvpn/linuxuser die Dateien ab, die Sie gemäß den Angaben im Kasten "Die eigene CA" angelegt haben. In diesem Beispiel kommt als Hostname server.example.org zum Einsatz. Besitzen Sie keine eigene echte Domain, klappt es auch mit der IP-Adresse oder mit einem dynamischen Hostnamen, wie Sie ihn etwa von Noip.com erhalten.

Eine ausführlichere Anleitung zu den vielen Variablen der Konfiguration finden Sie bei Freifunk.net [3] oder natürlich auf der OpenVPN-Homepage. Die Manpage von OpenVPN ist die beste Anlaufstelle für Details zu den vielen Optionen und Konfigurationsparametern.

Listing 1
dev tun
persist-tun
persist-key
user nobody
daemon
log /var/log/openvpn.log
verb 4
comp-lzo
server 192.168.33.0 255.255.255.0
client-to-client
ca /etc/openvpn/linuxuser/ca.crt
cert /etc/openvpn/linuxuser/server.example.org.crt
key /etc/openvpn/linuxuser/server.example.org.key
dh /etc/openvpn/linuxuser/dh1024.pem

Glossar

IPSec

Internet Protocol Security (RFC 2401). Sicherheitsprotokoll, das bei der Kommunikation über IP-Netze die Vertraulichkeit, Authentizität und Integrität der Daten gewährleisten soll.

PPTP

Point-to-Point Tunneling Protocol (RFC 2637). Von einem Industriekonsortium unter Beteiligung von Microsoft entwickeltes VPN-Protokoll. Durch die Integration in Microsoft Windows relativ weit verbreitet.

Pre-Shared Keys

Beide Teilnehmer nutzen den gleichen Schlüssel zum Chiffrieren der Kommunikation. Diesen tauschen Sie vorher im Geheimen aus.

PKI

Public Key Infrastructure. Ein System mit einer zentralen Stelle, die alle ausgegebenen Schlüssel signiert und damit deren Echtheit bestätigt.

CA

Certificate Authority. Zentrales Schlüsselpaar, das alle anderen Schlüssel signiert. Der öffentliche Schlüssel der CA ist bekannt. Mit ihm prüfen Sie die Unterschrift der CA auf Echtheit, doch niemand außer der CA selbst kann neue Zertifikate oder Schlüssel signieren.

Diffie-Hellman

Protokoll zum Generieren eines geheimen Schlüssels über einen unsicheren Kanal.

Infos

[1] OpenVPN: http://www.openvpn.net

[2] Wikipedia über asymmetrische Verschlüsselung: http://de.wikipedia.org/wiki/Asymmetrisches_Kryptosystem

[3] Freifunk OpenVPN-Howto: http://freifunk.net/wiki/OpenVPNHowto

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • 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.
  • Sichere WLAN-Vernetzung mit verschlüsseltem OpenVPN-Tunnel
    Drahtlose Netzwerke sind zwar praktisch, aber auch gefährlich: Die eingebaute WEP-Verschlüsselung ist für einen Angreifer kein ernstes Hindernis, er kann Daten abhören, manipulieren und Pakete einschmuggeln. Abhilfe schafft ein verschlüsselter Tunnel: OpenVPN schützt die Daten.
  • 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.
  • 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.
  • OpenVPN-Grundlagen
    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.
Kommentare
Netzwerk Manager Problem
Friedrich Dimmling, Freitag, 09. Januar 2009 21:51:08
Ein/Ausklappen

Ich habe mir zum Gebrauch in öffentlichen WLANs einen VPN Tunnel ins Internet bei Hotsplots eingerichtet. Leider lässt sich diese Verbindung unter Ubuntu 8.04 nicht mit dem NM einrichten, weil ein MTU Wert von 1500 gefordert und in der hotsplots.conf eingetragen ist, der NM aber einen kleineren Wert (1412) vorgibt. Die Verbindung muss also umständlich von Hand gestartet werden. Bei Ubuntu 8.10 klappt das.

Friedrich


Bewertung: 237 Punkte bei 99 Stimmen.
Den Beitrag bewerten: Gut / Schlecht

Infos zur Publikation

LU 11/2017: Server für Daheim

Digitale Ausgabe: Preis € 8,50
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

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

Stellenmarkt

Aktuelle Fragen

Lieber Linux oder Windows- Betriebssystem?
Sina Kaul, 13.10.2017 16:17, 3 Antworten
Hallo, bis jetzt hatte ich immer nur mit
IT-Kurse
Alice Trader, 26.09.2017 11:35, 2 Antworten
Hallo liebe Community, ich brauche Hilfe und bin sehr verzweifelt. Ih bin noch sehr neu in eure...
Backup mit KUP unter Suse 42.3
Horst Schwarz, 24.09.2017 13:16, 3 Antworten
Ich möchte auch wieder unter Suse 42.3 mit Kup meine Backup durchführen. Eine Installationsmöglic...
kein foto, etc. upload möglich, wo liegt mein fehler?
kerstin brums, 17.09.2017 22:08, 5 Antworten
moin, zum erstellen einer einfachen wordpress website kann ich keine fotos uploaden. vom rechne...
Arch Linux Netzwerkkonfigurationen
Franziska Schley, 15.09.2017 18:04, 0 Antworten
Moin liebe Linux community, ich habe momentan Probleme mit der Einstellung des Lan/Wlan in Arc...