Wie aktiviert man 2FA in OPNsense mit Google Authenticator?
Die Zwei-Faktor-Authentifizierung, oft als 2FA oder 2-Schritt-Verifizierung bekannt, ist eine Authentifizierungstechnik, die zwei Komponenten umfasst: eine PIN/Passwort und ein Token. 2FA bietet eine zusätzliche Sicherheitsebene für eine Anwendung oder einen Dienst. Außerdem kann es normalerweise einfach implementiert werden und erfordert nur wenig Aufwand bei der Nutzung. Mit Google Authenticator bietet OPNsense vollständige Unterstützung für die Zwei-Faktor-Authentifizierung (2FA) im gesamten System. Die folgenden OPNsense-Dienste unterstützen 2FA:
-
Virtuelles Privates Netzwerk (OpenVPN & IPsec)
-
Caching-Proxy
-
OPNsense grafische Benutzeroberfläche
-
Captive Portal
Zusätzlich zu seiner 2FA-Unterstützung bietet OPNsense auch Next-Generation-Firewall-Funktionen wie Webkontrolle und Anwendungssteuerung. Dies wird durch ein externes Tool namens Zenarmor bereitgestellt.
Das Zenarmor NGFW-Plugin für OPNsense ist eines der beliebtesten OPNsense-Plugins und ermöglicht es Ihnen, Ihre Firewall in Sekundenschnelle auf eine Next-Generation-Firewall aufzurüsten. NG Firewalls ermöglichen es Ihnen, modernen Cyberangriffen entgegenzuwirken, die jeden Tag raffinierter werden.
Einige der Funktionen sind Layer-7-Anwendungs-/Benutzer-bewusstes Blockieren, granulare Filterrichtlinien, kommerzielles Webfiltering mit cloud-basierter KI-gestützter Bedrohungsintelligenz, Kindersicherung und die besten Netzwerk-Analysen und -Berichte der Branche.
Zenarmor Free Edition ist für alle OPNsense-Nutzer kostenlos verfügbar.
In diesem Tutorial erklären wir, wie man 2FA mit Google Authenticator oder FreeOTP für den GUI- und Captive-Portal-Zugriff in einer OPNsense-Firewall aktiviert.
Um diesem Tutorial folgen zu können, müssen Sie über die folgenden Geräte und Root-Rechte verfügen.
-
OPNsense 21.7.7 Firewall.
-
Android- oder iOS-Gerät mit installierter Authenticator-Anwendung, wie Google Authenticator oder FreeOTP.
Die 2FA-Konfiguration in der OPNsense-Firewall ist unkompliziert. Sie können 2FA mit Google Authenticator/FreeOTP in Ihrem OPNsense einrichten, indem Sie einfach die sechs unten aufgeführten Schritte befolgen:
-
Fügen Sie den TOTP-Zugangsserver hinzu
-
Installieren Sie die Google Authenticator-Anwendung
-
Fügen Sie einen lokalen Benutzer hinzu
-
Aktivieren Sie den Authenticator
-
Testen Sie das Token
-
Authentifizierungsserver aktivieren
1. TOTP-Zugangsserver hinzufügen
Um einen TOTP-Server in Ihrem OPNsense-System hinzuzufügen, können Sie die folgenden Anweisungen befolgen:
-
Navigieren Sie zu
System
>Access
>Server
in Ihrer OPNsense-Weboberfläche.Abbildung 1. Zugangsserver in OPNsense
-
Klicken Sie auf die Schaltfläche "Hinzufügen" mit dem
+
-Symbol in der oberen rechten Ecke des Formulars, um einen neuen zu erstellen. -
Füllen Sie das Feld Descriptive name für den Server aus, z.B.
TOTP Access Server
. -
Setzen Sie den Type auf
Local + Timebased One time Password
. -
Lassen Sie die anderen Optionen auf Standard, wenn Sie
Google Authenticator
wie in unserem Tutorial verwenden. Für andere Tokens müssen Sie möglicherweise die OptionToken Length
ändern. -
Die Time window-Option wird für den Zeitraum verwendet, in dem das Token gültig ist, standardmäßig
30 seconds
. Sie können nach Belieben erhöhen oder verringern. -
Die Grace period-Option wird für die Zeit in Sekunden verwendet, in der dieser Server und das Token abweichen dürfen, der Standardwert beträgt
10 seconds
. Sie können einen höheren Wert einstellen, um eine weniger sichere, einfachere Übereinstimmung zu erzielen. -
Die Option Reverse token order wird verwendet, um die Reihenfolge von Token und Passwort zu ändern. Durch Aktivieren dieser Option wird der Token nach dem Passwort verlangt. Standardmäßig wird der Token vor dem Passwort benötigt.
-
Klicken Sie auf
Save
, um den TOTP-Server hinzuzufügen.Abbildung 2. Hinzufügen eines TOTP-Zugangsservers in OPNsense
2. Installieren Sie die Google Authenticator- oder FreeOTP-Anwendung
Sie können die Google Authenticator- oder FreeOTP-Apps ganz einfach auf Ihrem Android-Gerät über den Google Play Store oder auf Ihrem iOS-Gerät über den Apple Store installieren.
Abbildung 3. Google Authenticator auf Android
Abbildung 4. Installation von FreeOTP Authenticator auf Android
3. Lokalen Benutzer hinzufügen
OPNsense bietet die folgenden Optionen zur Benutzerauthentifizierung an:
-
Lokaler Benutzerzugang: Sie können Benutzer mit dem OPNsense lokalen Benutzermanager verwalten.
-
LDAP: Sie können den Benutzerzugang durch die Integration von Windows Active Directory Services oder G Suite LDAP mit OPNsense verwalten.
-
RADIUS: Sie können Benutzer auf einem externen RADIUS Authentifizierungsserver verwalten.
In diesem Tutorial werden wir Local User Access
verwenden und nur ein Benutzerkonto erstellen. Aber das Verfahren gilt für so viele Benutzer, wie Sie möchten. Sie können die unten aufgeführten Schritte befolgen, um einen lokalen Benutzer zu Ihrer OPNsense-Firewall hinzuzufügen:
-
Navigieren Sie zu
System
→Access
→Users
in Ihrer OPNsense-Firewall. -
Geben Sie einen eindeutigen Username für das lokale Benutzerkonto ein, wie zum Beispiel
fwadmin
. -
Geben Sie ein starkes Password für den Benutzer ein.
-
Füllen Sie das Feld Full Name aus.
-
Sie können eine E-Mail eingeben.
Abbildung 5. Erstellen eines Admin-Benutzerkontos in OPNsense-1
-
Aktivieren Sie die Login-Shell, indem Sie eine der verfügbaren Shells wie
/us/local/bin/bash
auswählen, da wir in diesem Tutorial den Benutzer für die Firewall-Verwaltung erstellen werden. Wenn Sie die Login-Shell als/sbin/nologin
belassen, verhindert diese Option, dass der Benutzer sich in die OPNsense-Weboberfläche einloggen kann. -
Sie können ein Expiration date eingeben oder leer lassen, wenn das Konto nicht ablaufen soll.
-
Setzen Sie die Group Membership auf
admins
, indem Sie nach der Auswahl deradmins
-Gruppe auf den rechten Pfeil klicken. -
Aktivieren Sie
Generate new secret
für die OTP seed-Option, um 2FA für Ihren Benutzer zu aktivieren. -
Sie können die anderen Einstellungen als Standard belassen.
-
Klicken Sie auf die Schaltfläche
Save
, um die Einstellungen anzuwenden. Dies wird Sie zur Zertifikatsseite weiterleiten, um das VPN-Benutzerzertifikat zu erstellen. Die Erstellung des Zertifikats für das VPN Benutzerkonto wird im nächsten Abschnitt erklärt.Abbildung 6. Erstellen eines Admin-Benutzerkontos in OPNsense-2
4. Authenticator aktivieren
Um Ihren neuen OTP-Samen in Ihrer Authentifizierungsanwendung, wie Google Authenticator oder FreeOTP, zu aktivieren, können Sie die folgenden Schritte befolgen:
-
Navigieren Sie zu
System
→Access
→Users
in Ihrer OPNsense-Firewall. -
Bearbeiten Sie den Benutzer, den Sie gerade erstellt haben,
fwadmin
, indem Sie auf das Stiftsymbol klicken. -
Klicken Sie auf die Schaltfläche
Click to unhide
im Feld OTP QR Code. Dies zeigt den QR-Code für den Benutzer an.Abbildung 7. OTP-QR-Code für den Benutzer in OPNsense
-
Starten Sie die Authenticator-Anwendung, wie Google Authenticator oder FreeOTP, auf Ihrem Mobilgerät.
-
Fügen Sie die OTP-Konfiguration für den neuen Benutzer in Ihrer Authenticator-Anwendung hinzu, entweder indem Sie den in Schritt 3 angezeigten OTP-QR-Code scannen oder den Benutzernamen und den Seed-Schlüssel eingeben, in unserem Beispiel ist es
NJCMM5NARKIUESJOM6OTCRR32AMNING
. Dies bringt Sie zum Startbildschirm der Anwendung und generiert einToken
für 30 Sekunden.
5. Testen Sie das Token
Die OPNsense-Firewall bietet einen einfachen Tester, um die Benutzerauthentifizierung zu überprüfen. Sie sollten die 2FA-Authentifizierung für Ihren Benutzer testen, indem Sie die folgenden Schritte ausführen:
-
Navigieren Sie zu
System
>Access
>Tester
in Ihrer OPNsense-Weboberfläche. -
Stellen Sie den Authentication Server auf den Authentifizierungsserver ein, den Sie konfiguriert haben, wie z.B.
TOTP Access Server
. -
Geben Sie den Username ein, wie zum Beispiel
fwadmin
. -
Starten Sie die Authenticator-Anwendung auf Ihrem mobilen Gerät.
-
Holen Sie sich das Token für Ihr Konto, wie zum Beispiel
fwadmin
. -
Geben Sie das Passwort ein, indem Sie sowohl das Token als auch das von Ihnen definierte OPNsense-Lokalbenutzer-Passwort verwenden.
infoDenken Sie daran, dass Sie das Token vor oder nach Ihrem Passwort eingeben müssen. (depending on your configuration). Zum Beispiel, wenn der Google Authenticator-Token
000123
ist und Ihr lokales PasswortMyPassword
, dann sollten Sie000123MyPassword
in das Passwortfeld eingeben. -
Klicken Sie auf die Schaltfläche
Test
, um Ihre Benutzeranmeldung zu überprüfen. Wenn alles nach Plan läuft, sollten Sie sehen, dass Ihr Benutzer erfolgreich authentifiziert wurde.