Zum Hauptinhalt springen

Wie aktiviert man 2FA in OPNsense mit Google Authenticator?

Veröffentlicht am:
.
7 Minuten Lesezeit
.
Für die Englische Version

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

Best Practice

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:

  1. Fügen Sie den TOTP-Zugangsserver hinzu

  2. Installieren Sie die Google Authenticator-Anwendung

  3. Fügen Sie einen lokalen Benutzer hinzu

  4. Aktivieren Sie den Authenticator

  5. Testen Sie das Token

  6. Authentifizierungsserver aktivieren

Starten Sie noch heute kostenlos mit Zenarmor

1. TOTP-Zugangsserver hinzufügen

Um einen TOTP-Server in Ihrem OPNsense-System hinzuzufügen, können Sie die folgenden Anweisungen befolgen:

  1. Navigieren Sie zu System>Access>Server in Ihrer OPNsense-Weboberfläche.

    Zugriffsserver in OPNsense

    Abbildung 1. Zugangsserver in OPNsense

  2. Klicken Sie auf die Schaltfläche "Hinzufügen" mit dem +-Symbol in der oberen rechten Ecke des Formulars, um einen neuen zu erstellen.

  3. Füllen Sie das Feld Descriptive name für den Server aus, z.B. TOTP Access Server.

  4. Setzen Sie den Type auf Local + Timebased One time Password.

  5. 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 Option Token Length ändern.

  6. 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.

  7. 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.

  8. 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.

  9. Klicken Sie auf Save, um den TOTP-Server hinzuzufügen.

    Hinzufügen des TOTP-Zugangsservers in OPNsense

    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.

Google Authenticator auf Android

Abbildung 3. Google Authenticator auf Android

Installation von FreeOTP 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:

  1. Navigieren Sie zu SystemAccessUsers in Ihrer OPNsense-Firewall.

  2. Geben Sie einen eindeutigen Username für das lokale Benutzerkonto ein, wie zum Beispiel fwadmin.

  3. Geben Sie ein starkes Password für den Benutzer ein.

  4. Füllen Sie das Feld Full Name aus.

  5. Sie können eine E-Mail eingeben.

    Erstellen eines Admin-Benutzerkontos in OPNsense-1

    Abbildung 5. Erstellen eines Admin-Benutzerkontos in OPNsense-1

  6. 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.

  7. Sie können ein Expiration date eingeben oder leer lassen, wenn das Konto nicht ablaufen soll.

  8. Setzen Sie die Group Membership auf admins, indem Sie nach der Auswahl der admins-Gruppe auf den rechten Pfeil klicken.

  9. Aktivieren Sie Generate new secret für die OTP seed-Option, um 2FA für Ihren Benutzer zu aktivieren.

  10. Sie können die anderen Einstellungen als Standard belassen.

  11. 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.

    Erstellen eines Admin-Benutzerkontos in OPNsense-1

    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:

  1. Navigieren Sie zu SystemAccessUsers in Ihrer OPNsense-Firewall.

  2. Bearbeiten Sie den Benutzer, den Sie gerade erstellt haben, fwadmin, indem Sie auf das Stiftsymbol klicken.

  3. Klicken Sie auf die Schaltfläche Click to unhide im Feld OTP QR Code. Dies zeigt den QR-Code für den Benutzer an.

    OTP-QR-Code für den Benutzer in OPNsense

    Abbildung 7. OTP-QR-Code für den Benutzer in OPNsense

  4. Starten Sie die Authenticator-Anwendung, wie Google Authenticator oder FreeOTP, auf Ihrem Mobilgerät.

  5. 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 ein Token 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:

  1. Navigieren Sie zu System>Access>Tester in Ihrer OPNsense-Weboberfläche.

  2. Stellen Sie den Authentication Server auf den Authentifizierungsserver ein, den Sie konfiguriert haben, wie z.B. TOTP Access Server.

  3. Geben Sie den Username ein, wie zum Beispiel fwadmin.

  4. Starten Sie die Authenticator-Anwendung auf Ihrem mobilen Gerät.

  5. Holen Sie sich das Token für Ihr Konto, wie zum Beispiel fwadmin.

  6. Geben Sie das Passwort ein, indem Sie sowohl das Token als auch das von Ihnen definierte OPNsense-Lokalbenutzer-Passwort verwenden.

    info

    Denken 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 Passwort MyPassword, dann sollten Sie 000123MyPassword in das Passwortfeld eingeben.

  7. 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.

    Testen von 2FA für einen Benutzer in OPNsense

    Abbildung 8. Testen von 2FA für einen Benutzer in OPNsense

6. Authentifizierungsserver aktivieren

Die OPNsense-Firewall validiert standardmäßig die Benutzeranmeldeinformationen gegen die Local Database. um Um sicherzustellen, dass kein lokaler Benutzer ohne 2FA Zugriff erhält, sollten Sie diese Einstellung ändern, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu System>Settings>Administration in Ihrer OPNsense-Weboberfläche.

  2. Scrollen Sie zum Bereich Authentication.

  3. Stellen Sie den Authentifizierungsserver auf Ihren neu hinzugefügten Authentifizierungsserver ein, wie zum Beispiel TOTP Access Server.

    warnung

    Vergessen Sie nicht, den lokalen Datenbankserver zu deaktivieren/abzuwählen, um Anmeldungen ohne 2FA zu verhindern.

  4. Klicken Sie auf Save, um die Einstellungen zu aktivieren.

    Aktivierung des TOTP-Authentifizierungsservers in OPNsense

    Abbildung 9. Aktivierung des TOTP-Authentifizierungsservers in OPNsense

Sie können jetzt auf Ihre OPNsense-Weboberfläche only mit 2FA zugreifen.

info

Da der SSH-Login keine 2FA unterstützt, können Sie optional erzwingen, dass beim Einloggen ein Zertifikat verwendet wird.

Sie können 2FA oder MFA für andere unterstützte Dienste, wie OpenVPN und Captive Portal, in Ihrer OPNsense-Firewall aktivieren, indem Sie das ähnliche Verfahren befolgen, das in diesem Tutorial beschrieben wird. Wir werden im folgenden Abschnitt die Aktivierung von 2FA für ein Captive Portal in OPNsense skizzieren.

So aktivieren Sie 2FA für das Captive Portal

Wir gehen davon aus, dass Sie bereits ein Captive Portal in der OPNsense-Firewall installiert und konfiguriert haben. Sie können 2FA für Ihr Captive Portal aktivieren, indem Sie die folgenden Schritte ausführen:

  1. Fügen Sie Ihren Captive Portal-Benutzer hinzu oder ändern Sie ihn und generieren Sie einen OTP-Seed, indem Sie den oben gegebenen Anweisungen folgen.

  2. Bearbeiten Sie Ihr Captive Portal, indem Sie zu Service > Captive Portal > Administration navigieren.

  3. Wählen Sie Ihren TOTP-Authentifizierungsserver, wie zum Beispiel TOTP Access Server, für die Option Authentifizieren mit.

  4. Klicken Sie auf Save.

  5. Klicken Sie auf Apply, um die neuen Einstellungen zu aktivieren.

    Aktivierung von 2FA für das Captive Portal in OPNsense

    Abbildung 10. Aktivierung der 2FA für das Captive Portal in OPNsense