OPNsense 2FA TOTP mit Google Authenticator

Diese Anleitung zeigt die Bereitstellung von One-time Password (OTP) für 2 Factor-Authentifizierung mit OPNsense und Googles Authenticator. Alle Dienste von OPNsense können mit der 2FA-Lösung genutzt werden.

Schritt 1 – Authentifizierungsserver hinzufügen

Um einen TOTP-Server hinzuzufügen, gehe zu System ‣ Access ‣ Servers und klicke auf das Plus (+) für Add server oben rechts.

Type aus Dropdown-Liste Local+Timebased One Time Password wählen.

Schritt 2 – Benutzer hinzufügen oder ändern

Für dieses Beispiel erstellen wir einen neuen Benutzer, dafür gehe zu System ‣ Access ‣ Users und klicke auf das Plus (+) in der rechten Ecke.

Gib einen Benutzernamen und ein Passwort ein und fülle die weiteren Felder aus, so wie für jeden anderen Benutzer. Aktiviere dann unter OTP-Seed das Kästchen bei Generate new secret (160bit).

Dann klicke auf die Schaltfläche Save.

Schritt 3 – Aktiviere den Authenticator für OTP-Seed

Um den neuen OTP-Seed auf dem Google Authenticator zu aktivieren, öffne zunächst den gerade erstellten Benutzer erneut, dazu auf das Stiftsymbol klicken, dann auf die Schaltfläche Click to unhide.

VORSICHT mit dem Seed- oder QR-Code, da dies das einzige ist, was zur Berechnung des Tokens benötigt wird. SEED und QR-CODE an einem sicheren Ort aufbewahren!

Schritt 4 – Authenticationserver aktivieren

Nun noch den Authenticationserver aktivieren und Lokal Database deaktivieren, unter System ‣ Settings ‣ Administration bei Authentication: Server klicke auf TOTP Server.

Die Auswahl Local Database diese nicht aktivieren und Save klicken.

Schritt 5 – Google Authenticator Installation

Öffne auf deinem iOS oder Android Gerät den App Store und suche nach Google Authenticator. Installiere die App wie gewohnt auf deinem Gerät.

Schritt 6 – QR-Code scannen

Öffne nun die Google Authenticator App auf dem Smartphone oder Tablett-PC und wähle die Option (Plus +) zum QR-Code scannen, alternativ kann der Seed direkt eingegeben werden.

Zum Testen der Benutzerauthentifizierung bietet OPNsense einen einfachen Tester an, unter System ‣ Zugriff ‣ Tester.

Wähle den zuvor konfigurierte Authentifizierungsserver aus und gib den Benutzername ein. Die Eingabe muss in der Form aus Token + Passwort zusammen im Passwortfeld erfolgen.

Das Passwortfeld wird verwendet, um sowohl den Token als auch das Passwort einzugeben, Beispiel Passwort: 123456PASSWORD, bei verwendung der Standardkonfiguration. Der OTP-Authentifizierungs-server kann auch so konfiguriert werden, dass er in umgekehrter Reihenfolge wie PASSWORD123456 verwendet wird.

Zugriff auf OPNsense Web GUI via WAN nach Installation

Nach der Initialisierung einer OPNsense als virtuelle Maschine wird der Zugriff via WAN verweigert. Bei einer neu bereitgestellten OPNsense virtual Machine auf einem Hypervisor, wie beispielsweise auf einem VMware ESXi Host, ist das Web GUI aus dem Internet noch nicht direkt zu erreichen.

Damit der Zugriff zur OPNsense via WAN möglich wird, muss man wie bei jeder neuen Installation, den Wizard mit der Option 1) Assign interfaces und 2) Set interface IP address aufrufen und befolgen. Dies um die Basis für die OPNsense zu legen, mit den Schnittstellen und der IP-Konfiguration für das WAN- und LAN-Interface.

Danach muss die Firewall vorübergehend deaktiviert werden, das in der vSphere Konsole der virtuellen Maschine erfolgt.

Mit der Option 8) Shell das Kommando pfctl -d ausführen:

root@OPNsense:~ # pfctl -d
pf disabled

Nun kann das Web GUI über die WAN IP im Browser erreicht werden.

Um jetzt den Zugriff zur OPNsense via WAN dauerhaft zu ermöglichen, muss unter Firewall – Rules – WAN eine neue Regel erstellt werden, für eingehend passieren für diese Firewall.

OPNsense – Firewall – Rules – WAN. Klick für Zoom.

WICHITG! Explizit kein Gateway wählen, der Gateway muss default sein. Der zuvor in der Console durch Set interface IP address erstellte Gateway wird nur für das WAN interface benötigt.

Nachdem der default Gateway gewählt wurde, muss die OPNsense neu gestartet werden, mit dem Befehl reboot, oder mit der Option 6 aus dem OPNsense Konsolen Menü.

Hinweis! Nach jedem Neustart wird die Paket-Filter Firewall (pf) aktiviert, der Befehl pfctl -e um die pf-Firewall zu aktivieren ist nicht erforderlich. Zu Beginn sollte beim Einrichten der OPNsense kein zweiter Gateway hinzugefügt werden.

  Es soll hier nicht unerwähnt bleiben, die OPNsense adäquat vor Missbrauch und Brute-Force-Angriff zu schützen. Es empfiehlt sich die WAN Regel für den Zugriff zum Web-GUI nur von bekannten Quellen zu erlauben, dazu kann unter System – Settings – Administration bei TCP Port eine benutzerdefinierte Portnummer für das Web-GUI definiert werden, um die Standardeinstellung (80 für HTTP, 443 für HTTPS) zu überschreiben. Ebenfalls wird die 2FA TOTP Authentifizierung mit Google Authenticator ermöglicht, in der Anleitung hier.

Die mobile Version verlassen