Diese Anleitung zeigt die Bereitstellung von One-time Password (OTP) für 2 Factor-Authentifizierung (2FA) mit OPNsense und Google 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 für die OPNsense mit dem 2FA Google Authenticator, 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 vervollständige für den Benutzer die weiteren Felder. 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.