OpenVPN mit MFA über OPNsense in der Hetzner Cloud – Teil 3

Im ersten Teil unserer Artikelserie haben wir erfolgreich die OPNsense auf unserem Hetzner Cloud Server installiert und konfiguriert. Im zweiten Beitrag haben wir uns dann auf die Einrichtung des OpenVPN-Dienstes konzentriert.
In diesem abschließenden Teil möchten wir nun die ersten Benutzer für unseren VPN anlegen und bereitstellen.

Anlegen von Benutzern

Navigieren Sie in der linken Navigationsleiste zu „System -> Access -> Users“. Klicken Sie dort auf das orangene Feld mit dem „+“-Symbol, um einen neuen Benutzer hinzuzufügen.

Es erwartet Sie eine neue Abfragemaske.

  • Tragen Sie einen aussagekräftigen Username ein
  • Ein Passwort welches sich relativ schnell tippen lässt
  • Full name, E-Mail und Comment können Sie mit Informationen zum Benutzer füllen
  • Setzen Sie einen Haken bei „Click to create a user certificate“ sowie „Generate new secret (160bit)“
  • Bestätigen Sie die Angaben mit „Save and go back“

Sie werden nun nach „System -> Trust -> Certificates“ weitergeleitet. Als erstes sollten Sie unter „Method“ auf „Create an internal Certificate“ wechseln. Daraufhin können Sie die Angaben für das Benutzer-Zertifikat anpassen. In unserem Beispiel ändern wir nur die „Key length (bits)“ auf 4096, den „Digest Algorithm“ auf SHA512 und die „Lifetime (days)“ auf 3650, also 10 Jahre.

Sofern Sie keine weiteren Zertifizierungsstellen auf der OPNsense betreiben, sollten alle anderen Angaben bereits passend vorausgefüllt sein.

Bestätigen Sie mit Save.


Sie befinden sich nun wieder auf der Benutzererstellungsseite. Dort wurde das neue Zertifikat für Ihren neu erstellten Benutzer hinterlegt und der „OTP Seed“ für Ihre One-Time-Password-Software wie Google Authenticator, Microsoft Authenticator oder Passwortmanager wie Bitwarden erstellt.

Theoretisch können Sie damit bereits arbeiten. Es bietet sich aber vor allem bei mobilen Geräten an einen QR-Code zu verwenden. Sie können diesen auch im Nachhinein anzeigen lassen.

Export der Benutzerkonfiguration

Der Benutzer ist nun angelegt und braucht nur noch die Konfigurationsdatei für seinen lokalen OpenVPN-Client sowie seine Zugangsdaten. Wechseln Sie dazu auf der linken Seite nach „VPN -> OpenVPN -> Client Export“.

Stellen Sie den „Export type“ auf „File Only“. Nun müssen Sie nur noch den „Hostname“ eintragen (IP oder DNS-Eintrag) und einen Haken bei „Disable password save“ setzen. Da wir nach jedem Login ein neues Passwort mittels Authenticator generieren, sind gespeicherte Passwörter mehr Fluch als Segen. Nun können Sie die fertige Konfiguration mit einem Klick auf die Downloadwolke unten für den Benutzer downloaden.

Importieren Sie nun die fertige .ovpn Datei in Ihren OpenVPN Client. Wir setzen hier auf Securepoint.

Der MFA-Login

Unser VPN ist soweit eingrichtet. Nun gilt es diesen zu testen. In unserem Beispiel verwenden wir für die MFA einen Bitwarden in welchem wir den OTP-Seed mithinterlegt haben. Sie können allerdings auch ganz normal mit einem QR-Code und dem Google bzw. Microsoft Authenticator arbeiten.

Für eine Anmeldung mit dem Beispiel im obrigen Screenshot verwenden wir also:
Benutzer: admin.blogeintrag
Passwort: test123049171

Natürlich ändert sich somit das Passwort alle 30 Sekunden und Sie müssen für jeden neuen Login ein neues Passwort verwenden. Dadurch können Angreifer, trotz vielleicht gestohlenen Passwort und Benutzerzertifikat, nicht einfach auf Ihr Netzwerk zugreifen.

Und die Verbindung ist aufgebaut.

Verwalten und Sperren von Benutzern

Als OPNsense Admin haben Sie weiterhin volle Kontrolle über Ihre VPN-Benutzer. Sie können das Profils eines Benutzers jederzeit bearbeiten, neue Zertifikate, Passwörter oder OTP-seeds hinterlegen, löschen oder deaktivieren.

Deaktivieren von Benutzern

Wechseln Sie zu „System -> Access -> Users“ und klicken Sie neben dem Benutzernamen auf „Edit“ und setzen einen Haken ganz oben bei „Disabled“. Der Benutzer kann sich zukünftig nicht mehr einloggen, bleibt allerdings weiterhin verbunden.

Killswitch

Sollten Sie einen User aus einer aktiven Verbindung kicken wollen, können Sie das unter „VPN -> OpenVPN -> Connection Status“ tun. Klicken Sie einfach rechts auf das X-Symbol rechts in der Zeile des Benutzers. Vergessen Sie nicht den Benutzer zu deaktivieren, ansonsten kann sich dieser wieder neu anmelden.

Fazit

Mit dieser erfolgreichen Einrichtung können wir nun sicher und flexibel auf unser Netzwerk zugreifen und von den Vorteilen einer verschlüsselten und authentifizierten Kommunikation profitieren.

Insgesamt bietet die Kombination von OpenVPN, MFA und OPNsense eine leistungsstarke Lösung für eine sichere Netzwerkkommunikation, die sowohl in privaten als auch in geschäftlichen Umgebungen eingesetzt werden kann. Durch die Integration von MFA wird die Sicherheit erhöht und das Risiko unbefugter Zugriffe minimiert.

Wir hoffen, dass Ihnen diese Artikelreihe dabei geholfen hat, Ihre eigene OpenVPN-Instanz in der Hetzner Cloud erfolgreich einzurichten. Natürlich können Sie die Konfigurationen an Ihre Anforderungen anpassen.

Nicht genug?

Auf unserem Blog finden Sie weitere Tutorials und nützliche Beiträge zu allerlei Themen Rund um Linux, Firewalls, Hosting, Backups, Nextcloud uvm.

Kontaktieren Sie uns wenn Sie Interesse an für Sie maßgeschneiderte IT-Lösungen haben. Wir helfen Ihnen dabei Ihr Unternehmen fit für die IT-Landschaft der Zukunft zu gestalten.