OpenVPN in der TH-OWL mit Linux

Vorbereitung

Seit 2020 bietet die Technische Hochschule Ostwestfalen-Lippe als Alternative zu dem bishreigen Cisco-Anyconnect einen VPN-zugang über OpenVPN an. Diese Lösung ist als OpenSource nicht an einen bestimmten Händler gebunden und verursacht auch keine Lizenzgebühren. Damit ist eine deutlich flexiblere und vor Allem eine Plattformunabhängige Lösung vorhanden. Die Einrichtung einer solchen Verbindung sei hier am Beispiel einer Ubuntu 18.04 dargestellt, sie lässt sich aber mit wenig Aufwand auf alle anderen Distributionen übertragen.

Für den Aufbau der Verbindung unter Linux wird zunächst das Paket "openvpn" benötigt, das über den Befehl

apt-get install openvpn

nachinstalliert werden kann. Für den weiteren Verbindungsaufbau wird das eigene Personen-Zertifikat benötigt, wie es auch für Prüfungsanmeldung und Eduroam-Zugang benötigt wird. Heruntergeladen werden kann es über die Adresse

https://www.th-owl.de/mobile

Die Schaltfläche "User-/Hochschulzertifikat" startet den Download des Zertifikates, fragt aber eine Anmeldung mit der eigenen Hochschul-Kennung ab. Speichern Sie die Datei mit dem Namen "EduCert.p12" in ein geschütztes Verzeichnis ihrer Wahl.

Verbindungsaufbau über die Shell

Die Schaltfläche "OPENVPN KONFIGURATION" startet den Download der openvpn-Konfig-Datei. Speichern Sie diese Datei mit dem Namen "th-owl.de.ovpn" in dasselbe Verzeichnis in der sich auch die Datei EduCert.p12 befindet. Um nun die Verbindung aufzubauen, wechseln Sie in der Shell in das Verzeichnis, in dem sich beide Dateien Befinden und starten Sie den Befehl

sudo openvpn --config th-owl.ovpn

OpenVPN fragt Sie anschließend nach dem Zertifikatspasswort und baut dann den VPN-Tunnel automatisch auf. Das Programm bleibt dabei im Vordergrund, so dass die Verbindung mit der Tastenkombination CTRL-C abgebrochen werden kann. Bitte schützen Sie das Verzeichnis und dessen Inhalt entsprechend, damit kein anderer Benutzer darauf zugreifen darf.

Verbindungsaufbau über den Desktopmanager (Gnome)

Speichern Sie auch hier die Dateien th-owl.de.ovpn und EduCert.p12 zusammen in ein geschütztes Verzeichnis

Extrahieren Sie die in der PKCS12-Datei enthaltenen Komponenten in einzelne Dateien, Sie können dazu folgende Befehle verwenden:

openssl pkcs12 -in EduCert.p12 -out cert.pem -clcerts -nokeys
openssl pkcs12 -in EduCert.p12 -out key.pem -nocerts -nodes

Sie werden dabei jeweils nach einem Passwort gefragt, geben Sie dazu Ihr Zertifikatspasswort ein. Anschließend befinden sich die Dateien "cert.pem" und "key.pem" zusätzllich in dem ausgewählten Verzeichnis.

Verändern Sie mit einem Editor Ihrer Wahl nun die Konfigurationsdatei th-owl.de.ovpn und tauschen Sie die Zeile "pkcs12 EduCert.p12"  gegen die zwei Zeilen "cert cert.pem" und "key key.pem". Damit sollte der Abschnitt "Betriebssystemanpassung folgendermaßen aussehen:

# 3. Betriebssystemanpassung
# linux
cert cert.pem
key key.pem

 

Öffnen Sie den Konfigurations-Dialog des Desktopmanagers ("Einstellungen") und öffnen Sie den Bereich "Netzwerk". Unter der Rubrik "VPN" klicken Sie auf das "+" um eine neue Konfiguration hinzu zu fügen.

Wählen Sie dann die Option "Gespeicherte VPN-Konfiguration importieren" (oder auch "Aus Datei importieren") und wählen Sie in dem Nachfolgenden Dialog die Datei aus, die Sie soeben verändert haben (th-owl.ovpn).

Falls die Datei nicht importiert werden kann, extrahieren Sie zusätzlich zu den extrahierten Dateien aus Ihrer Educert.p12 die ersten drei Zertifikate aus der th-owl.de.ovpn-Datei und speichern Sie sie in der Datei chain.pem ab. Anschließend extrahieren Sie das letzte Schlüssel-Element (vpn-static-key) und speichern Sie diesen in der Datei static.key.

Fügen Sie dann in den Desktop-Einstellungen einen Neuen VPN-Zugang mit dem "+" hinzu und wählen Sie bei der Erzeugung des VPN-Tunnels die folgenden Eigenschaften:

  • Name: TH-OWL
  • Gateway: vpn.th-owl.de
  • Art: Zertifikate (TLS)
  • Benutzer-Zertifikat: key.pem (Datei muss ausgewählt werden)
  • Geheimer Benutzer-Schlüssel: key.pem (Datei muss ausgewählt werden)
  • Passwort bleibt leer.

Speichern Sie diese Einstellungen, öffnen Sie die Konfiguration erneut und und ergänzen Sie in den "Advanced"-Konfigurationseinstellungen folgende Eigenschaften

  • Bereich Sicherheit:
    • Chiffre: AES-256-CBC
    • HMAC-Legitimierung SHA-256
  • TLS-Legitimierung:
    • Modus: TLS-Legitimierung
    • Schlüsseldatei: static.key (Datei muss ausgewählt werden)
    • Schlüsselrichtung: 1
    • Zusätzliche Zertifikate: chain.pem (Datei muss ausgewählt werden)

Speichern Sie diese Einstellungen. Ab sofort können Sie mittels Mausklick den VPN-Kanal aktivieren!

Danach klicken Sie auf "Hinzufügen", um die Einstellungen zu übernehmen

Sichern Sie die Einstellung mit der Schaltfläche "Hinzufügen". In der Übersicht sollte nun das VPN als auswählbare Option erscheinen, das Sie bei Bedarf ein- oder Ausschalten können.