In diesem Blogbeitrag möchten wir Ihnen eine leistungsstarke und flexible Lösung vorstellen: OpenVPN mit MFA über OPNsense in der Hetzner Cloud. OPNsense ist eine Open-Source-Firewall und Router-Plattform, die auf FreeBSD basiert und eine Vielzahl von Funktionen bietet. Die Hetzner Cloud hingegen ist eine beliebte Cloud-Infrastrukturplattform, die hochleistungsfähige virtuelle Maschinen und Cloud-Speicher bereitstellt.
Die Kombination von OpenVPN, MFA und OPNsense in der Hetzner Cloud ermöglicht es Ihnen, ein robustes und sicheres VPN-System aufzubauen, das Ihren spezifischen Anforderungen entspricht. Egal, ob Sie eine Remote-Arbeitsumgebung einrichten, Standorte miteinander verbinden oder Ihren Mitarbeitern sicheren Zugriff auf interne Ressourcen gewähren möchten – diese Lösung bietet Ihnen die notwendigen Werkzeuge.
Dazu werden wir folgende Schritte unternehmen:
- Installation von OPNsense auf Hetzner Cloud Server
- Grundkonfiguration für die Nutzung von OPNsense
- Gewährleistung der IPv4- und IPv6-Verfügbarkeit
- Patchen und Härtung der OPNsense Firewall
Im nächsten Blogeintrag kümmern wir uns um dem eigentlichen OpenVPN Dienst + MFA
- Konfiguration der Certificate Authority (Zertifizierungsstelle)
- Erstellung eines Zertifikats für den OpenVPN-Server
- Einrichtung des TOTP Access Servers für MFA
- Konfiguration des OpenVPN-Servers
- Einstellungen in OPNsense für den Zugang zum OpenVPN
Im letzten Blogeintrag haben wir einen funktionierenden Server. Es wird Zeit sich um die Benutzerverwaltung zu kümmern.
- Benutzerverwaltung: Anlegen von Benutzern
- Export der Benutzerkonfiguration
- Besonderheiten des Logins mit MFA
- Spezifika im Zusammenhang mit IPv6
- Benutzerverwaltung: Verwalten und Sperren von Benutzern
- Einsatz der Kill-Switch-Funktion
Installation von OPNsense auf Hetzner Cloud Server
Zuerst ist es wichtig, einen Server auszuwählen, der mit einem Image unserer Wahl aufgesetzt werden kann. Selbst für kleine Betriebe kann ein kostengünstiger Server ausreichend sein. Es ist jedoch wichtig, einen x86/64 Server auszuwählen und nicht einen mit einer ARM-CPU-Architektur. Für unsere Zwecke können wir einen Linux-Server mit der von uns bevorzugten Distribution buchen.
Sobald der Server erstellt wurde, müssen wir über die Hetzner-Oberfläche ein passendes Image einbinden und den virtuellen Server neu starten.
Nachdem die Maschine neu gestartet wurde, wird das OpnSense ISO die Installation initiieren. Während der Installation wird möglicherweise eine kurze Pause eingelegt, um nach einer Konfigurationsdatei zu fragen. Es ist wichtig, diese Anfrage zu ignorieren, da die Installation automatisch fortgesetzt wird.
Interface zuordnen
Kurz darauf erfolgt eine Abfrage, um die Interfaces manuell festzulegen, diese bestätigen wir mit einem Tastendruck.
Anfragen bezüglich LAGGs (Link Aggregation Groups) und VLANs können vorerst mit „Nein“ (n) beantwortet werden.
Da in diesem Fall vorerst nur ein WAN-Interface benötigt wird, kann das bereits vorhandene Interface als WAN festgelegt werden. Der Name des entsprechenden Interfaces lautet in diesem Fall vtnet0.
Anfragen bezüglich des LANs sowie optionaler Interfaces können einfach mit der Eingabetaste übersprungen werden. Sobald die Konfiguration der Interfaces abgeschlossen ist, sollte nur dem WAN-Interface eine Zuweisung erfolgt sein.
Anschließend kann dies mit „Ja“ (y) bestätigt werden (Bitte beachten Sie: Wenn Sie die Hetzner-Konsole verwenden, wird möglicherweise nach dem deutschen „z“ gefragt).
Installation anstoßen:
Es gibt die Möglichkeit, ein Live-Image oder eine Installation zu starten. Die Installation kann mit einem Login beginnen:
Benutzername: installer
Passwort: opnsense
Als nächstes muss das entsprechende Tastatur-Layout ausgewählt werden. Dies kann mit den Pfeiltasten durchsucht, mit der Leertaste ausgewählt und dann mit Enter auf „>>> Continue with de.kbd keymap“ bestätigt werden
Jetzt beginnt die eigentliche Installation. Sie können die UFS-Option wählen, um fortzufahren.
Wichtig ist die Richtige Installationspartition auszuwählen.
Zusätzliche Abfragen wie die empfohlene Swap-Partition können mit „Ja“ (Yes) beantwortet werden. Jetzt müssen Sie nur noch die Auswahl bestätigen.
Nach nur wenigen Minuten ist die Installation abgeschlossen. An dieser Stelle wird empfohlen, das Root-Passwort neu festzulegen. Es bietet sich an dieser Stelle an das Iso-Image über die Hetzner Oberfläche nun auszuwerfen. Sobald dies erledigt ist, kann die Installation durch Auswahl der Option „Complete Install“ abgeschlossen werden.
Nach der Rückkehr zum Login-Bildschirm fällt auf, dass dem System durch den Hetzner DHCP nur eine IPv4-Adresse zugewiesen wurde. Wenn unser VPN-Server mittels IPv6 kommunizieren soll, müssen wir manuelle Einträge vornehmen. Jetzt müssen Sie sich als Benutzer „Root“ mit dem zuvor festgelegten Passwort einloggen.
Nun müssen Sie die IP mit Auswahl der Option 2 manuell festlegen.
Gewährleistung der IPv4- und IPv6-Verfügbarkeit
Wenn wir nach IPv4 für unser WAN gefragt werden, wählen wir „Ja“. Bei IPv6 müssen wir jedoch manuell arbeiten, da die OPNsense auf IPv6-Ebene nicht korrekt mit dem Hetzner-DHCP kommunizieren kann. In diesem Fall tragen wir eine IP-Adresse aus unserem zugewiesenen /64-Netz ein. In unserem Beispiel verwenden wir die zugewiesene IPv6-Range mit ::1, um deutlich zu machen, dass es sich um eine statische Adresse handelt.
Für das Subnetz geben wir „64“ ein, da dies der Bereich ist, welcher von Hetzner zur Verfügung gestellt wurde.
Als IPv6 Upstream Gateway muss die Adresse fe80::1 eingetragen werden.
Wenn uns nach DNS über das Gateway gefragt wird, wählen wir „Ja“. Nun kann sich die OPNsense über die Hetzner Cloud mit dem Internet verbinden.
Da unsere OPNsense als OpenVPN-Host fungiert, benötigen wir keinen DHCP6-Server auf dem WAN-Interface und können dies mit „Nein“ (n) beantworten. Wir haben die Möglichkeit, von der OPNsense ein selbstsigniertes Web-GUI-Zertifikat erstellen zu lassen und es für die HTTPS-Kommunikation mit der Weboberfläche zu verwenden.
Die Basisinstallation der OpnSense ist somit beendet. Nun können Sie den Rest bequem auf der Weboberfläche durchführen. Dazu können Sie bereits die uns vorgeschlagenen Adressen nehmen oder bei Ihrem DNS Registrar passende A und AAAA Records anlegen.
Patchen und Härtung der OPNsense Firewall
Wir wechseln nun in den Browser unserer Wahl und öffnen den Link zur OPNsense Installation.
Nach der Installation werden wir von einem Setup Wizard in OPNsense begrüßt, den wir direkt starten können. Falls Sie vorhaben, mit einem Domänennamen zu arbeiten, können Sie diesen jetzt angeben. Andernfalls können Sie die Standardeinstellung verwenden. In unserem Beispiel lautet der Name der OPNsense ‚test-vpn‘ in unserer Domain ‚admin-intelligence.de‘. Mit einem Klick auf ‚Next‘ können Sie dies bestätigen
Die Timezone sollte auf Ihre lokale Zeitzone angepasst werden um später Probleme mit dem MFA Code zu vermeiden.
Auf der nächsten Seite werden Sie nach Einstellungen für das WAN-Interface gefragt. Da wir diesen Schritt bereits in der Konsole durchgeführt haben, bestätigen wir einfach mit ‚Weiter‘ (Next). Die Frage nach dem LAN-Interface lassen wir leer.
Als nächstes werden Sie erneut gefragt, ob Sie Ihr Root-Passwort anpassen möchten. Es ist empfehlenswert, ein starkes Passwort mithilfe eines Passwortmanagers festzulegen. Andernfalls können Sie die Felder leer lassen, um Ihr aktuelles Passwort beizubehalten.
Mit einem Click auf Reload wird das System konfiguriert und Sie erhalten eine Bestätigung.
Upgrade auf aktuelle Version
Um mit den ersten Updates zu beginnen, können wir nun zur Weboberfläche wechseln und zum Dashboard im Reiter ‚Lobby‘ navigieren. Dort sehen wir bereits, dass Updates für unser System verfügbar sind.
OPNsense gleicht nun seine Version mit den Repositories ab. Anschließend werden wir automatisch zum Reiter ‚System → Firmware → Updates‘ weitergeleitet, wo wir die Updates am unteren Ende der Seite starten können. Dieser Vorgang kann einige Zeit dauern und die OPNsense wird automatisch neu gestartet. Nutzen Sie diese Zeit für eine kurze Kaffeepause.
Nachdem das erste Update fertig ist müssen Sie sich wieder einloggen.
Es ist zu beachten, dass das Update nur auf die aktuellste Version 22.7.11 durchgeführt wurde. Zum Zeitpunkt des Stands 30.05.2023 ist OPNsense bereits in Version 23.1.8 verfügbar, daher müssen wir erneut Updates starten. Dieses Mal wird das System einen Versionssprung auf Version 23.1 machen.
Genießen Sie einen weiteren Kaffee, denn das Upgrade auf Version 23.1 dauert etwas länger als das vorherige Update. Nach dem Upgrade werden wir erneut nach einem Login gefragt. Auf dem Dashboard sollte nun die Version 23.1.6 angezeigt werden. Damit sind wir bereit für die nächste und vorerst letzte Update-Runde.
Das System ist nun auf dem neuesten Stand und weitere Update-Checks sollten keine neuen Aktualisierungen anzeigen.
ClamAV installieren
Obwohl es nicht zwingend erforderlich ist, empfiehlt es sich, ClamAV auf der OPNsense über das Plugin zu installieren und zu aktivieren. ClamAV überprüft den lesbaren Traffic auf Signaturen bekannter Malware und anderer schädlicher Software.
Um ClamAV zu aktivieren, navigieren Sie zum Reiter ‚Services → ClamAV → Configuration‘. Sollte dieser noch nicht erstellt worden sein, aktualisieren Sie die Seite.
Setzen Sie die Haken für ‚Enable clamd service‘ und ‚Enable freshclam service‘ in der ClamAV-Konfiguration. Klicken Sie dann auf den orangenen Button in der rechten oberen Ecke mit der Aufschrift ‚Download signatures‘. Unter ‚Enable TCP port‘ findet sich die Zeile mit dem Namen ‚Maximum number of threads running‘, hier bietet es sich an die Anzahl der verfügbaren Prozessor Threads einzutragen. Diese sind ihre Server vCPUs oder unter Lobby -> Dashboard bei ‚CPU type‘.
Scrollen Sie anschließend bis ans Ende der Seite und bestätigen Sie die Einstellungen mit ‚Save‘.
Im nächsten Blogeintrag beschäftigen wir uns mit dem Einrichten der OpenVPN sowie der MFA und den dazu notwendigen Firewallregeln.
Wenn Sie Unterstützung bei OPNSense benötigen, so können Sie sich gerne unverbindlich bei uns melden.
- Nextcloud Lizenz: Push-Service wird teuer – eigenen Push Service einrichten - 28. November 2024
- Moodle™ mit ClamAV sichern - 2. Oktober 2024
- Nextcloud mit ClamAV prüfen - 18. September 2024