Zum Hauptinhalt springen

Wie richtet man OpenVPN mit MFA auf OPNsense ein?

Veröffentlicht am:
.
15 min read
.
Für die Englische Version

Road Warriors sind mobile Benutzer, die sicheren Zugang zur Infrastruktur einer Organisation benötigen. OPNsense verwendet OpenVPN für seine SSL VPN Road Warrior-Konfiguration und integriert OTP (One Time Password) mit Standard-Token und Google Authenticator.

OpenVPN ist ein Open-Source-VPN-Protokoll, das sichere Punkt-zu-Punkt- oder Site-to-Site-Verbindungen mithilfe von Virtual Private Network (VPN)-Techniken erstellt. Es wurde 2001 von James Yonan entwickelt und ist heute eines der beliebtesten VPN-Protokolle unter VPN-Nutzern. Es wird unter der GNU General Public License vertrieben. (GPL). An dem Projekt arbeiten OpenVPN Inc. und eine große Anzahl von Open-Source-Entwicklern.

Es unterstützt alle gängigen Betriebssysteme, einschließlich macOS, FreeBSD, Windows, Linux, iOS und Android.

Das OpenVPN-Protokoll hat ein hohes Sicherheitsniveau. Es kommt mit 256-Bit-Verschlüsselung über OpenSSL. OpenVPN kann zwei verschiedene Protokolle für die Datenübertragung verwenden: TCP und UDP. Das am häufigsten verwendete und empfohlene Protokoll ist UDP. Vorgeschlüsselte Schlüssel, zertifikatbasierte Authentifizierung, Benutzername/Passwort-Authentifizierung und MFA werden alle von OpenVPN unterstützt.

Die Faktoren Benutzername/Passwort und ein Token sind für die Zwei-Faktor-Authentifizierung erforderlich. Eine weitere Schicht, nämlich ein Benutzerzertifikat, wird von OPNsense unterstützt. Das bedeutet, dass das Benutzersiegel jeden Benutzer eindeutig identifizieren wird.

In diesem Tutorial erklären wir Ihnen, wie Sie den OpenVPN-Server auf Ihrer OPNsense-Firewall installieren und konfigurieren, damit Ihre Remote-Clients sicher über Ihren VPN-Tunnel auf das Internet zugreifen können. Wir werden auch MFA für die VPN-Benutzerauthentifizierung konfigurieren, indem wir die folgenden Mehrfaktoren verwenden:

  • Benutzerzertifikat

  • Benutzername/Passwort

  • Token (TOTP)

tipp

Es wird dringend empfohlen, dass Sie Zenarmor auf Ihrem OpenVPN-Server installieren, um die Sicherheit Ihres Netzwerks zu erhöhen. Sie können Sicherheitsbedrohungen, die von Ihrer OpenVPN-Tunnel-Schnittstelle ausgehen, blockieren, indem Sie Zenarmor konfigurieren, Webfilterung verwenden und Anwendungskontrolle anwenden.

Die OpenVPN-Konfiguration ist sehr einfach. Sie können das OpenVPN-Tunnel mit MFA in der OPNsense-Firewall einrichten, indem Sie einfach die sieben unten aufgeführten Schritte befolgen.

  1. Erstellen Sie eine Zertifizierungsstelle

  2. Konfigurieren Sie OpenVPN in OPNsense

  3. Erstellen Sie einen VPN-Benutzer

  4. TOTP-Zugriffsserver hinzufügen

  5. Erstellen Sie den SSL-VPN-Dienst

  6. Firewall-Regeln hinzufügen

  7. OpenVPN-Client exportieren

Um dieser OpenVPN-Installation im OPNsense-Firewall-Tutorial folgen zu können, müssen Sie über die folgenden Geräte und Root-Rechte verfügen.

  • OPNsense 21.7.6 Firewall, konfiguriert als OpenVPN VPN-Server.

  • Als OpenVPN-VPN-Client wird ein Windows-PC oder ein Android-Gerät eingerichtet.

  • Google Authenticator-Anwendung installiert.

1. Erstellen einer Zertifizierungsstelle

OpenVPN benötigt Zertifikate, um den VPN-Dienst durch Verschlüsselung und Authentifizierung zu schützen. Der erste Schritt bei der Konfiguration von OPNsense besteht darin, eine Zertifizierungsstelle zu erstellen. Um fortzufahren, müssen alle Optionen auf dieser Seite ausgewählt und alle Formulare korrekt ausgefüllt werden. Wenn Sie bereits einen haben, können Sie diesen Schritt überspringen.

Sie können eine neue Zertifizierungsstelle erstellen, indem Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu SystemTrustAuthorities.

    Verwalten von Zertifizierungsstellen in OPNsense

    Abbildung 1. Verwalten von Zertifizierungsstellen in OPNsense

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

  3. Füllen Sie das Feld Descriptive Name für die Zertifizierungsstelle aus, z. B. OPNsenseOpenVPNCA.

  4. Wählen Sie Create an internal Certificate Authority für die Method-Option.

  5. Wählen Sie RSA für Key Type.

  6. Setzen Sie die Key length (bits) auf 4096. Eine längere Bitlänge erhöht die Sicherheit des Schlüssels, aber sie verlängert auch die Verarbeitungszeit. Es wird nicht empfohlen, dass die Schlüssellänge weniger als 2048 Bit beträgt.

  7. Digest Algorithm auf SHA512.

  8. Setzen Sie Lifetime (days) auf 365, was bedeutet, dass alle von dieser CA signierten Zertifikate nach einem Jahr ungültig werden. Für eine Firewall im Heimnetzwerk können Sie eine längere Lebensdauer einstellen.

  9. Stellen Sie den Country Code ein, z.B. DE.

  10. Setze State, wie Kalifornien.

  11. Setze City, wie Sunnyvale.

  12. Setzen Sie Organisation, wie MyCompany.

  13. Geben Sie die Email Address ein.

  14. Setzen Sie Common Name auf internal-openvpn-ca.

  15. Klicken Sie auf Save.

Erstellte Zertifizierungsstellen auf OPNsense

Abbildung 2. Erstellte Zertifizierungsstellen auf OPNsense

Starten Sie noch heute kostenlos mit Zenarmor

2. Erstellen eines Serverzertifikats

Sie können ein neues Serverzertifikat erstellen, das von den Clients verwendet wird, um die Identität des Servers bei der Verbindung zu überprüfen, indem Sie die folgenden Schritte befolgen.

  1. Navigieren Sie zu SystemTrustCertificates.

    Erstellte Serverzertifikate in OPNsense

    Abbildung 3. Erstellte Serverzertifikate in OPNsenseKontext

    info

    Text zu übersetzen: :::infoEs gibt bereits einige Zertifikate in der Liste, wie Sie vielleicht bemerkt haben. Dieses Zertifikat wird derzeit von der Web-Admin-Seite verwendet, die Sie gerade ansehen. Da HTTPS standardmäßig aktiviert ist, wurde es während der OPNsense-Installation erstellt.Bitte geben Sie den Text ein, den Sie übersetzen möchten.

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

  3. Wählen Sie Erstellen Sie ein internes Zertifikat für die Method-Option.

  4. Füllen Sie das Feld Description für das Serverzertifikat aus, z. B. OpenVPN Serverzertifikat.

  5. Setzen Sie die Certificate Authority auf OPNsenseOpenVPNCA.

  6. Setzen Sie Type auf Serverzertifikat.

  7. Setzen Sie die Key length (bits) auf 4096.

  8. Digest Algorithm auf SHA512.

  9. Setzen Sie Lifetime (days) auf 365.

  10. Stellen Sie den Speicherort des Private key auf Auf dieser Firewall speichern ein,

    Einstellen der Serverzertifikatsoptionen in OPNsense-1

    Abbildung 4. Einstellungen der Serverzertifikat-Optionen in OPNsense-1

  11. Stellen Sie den Country Code ein, z. B. US.

  12. Setze State, wie Kalifornien.

  13. Setze City, wie Sunnyvale.

  14. Setzen Sie Organization, wie MyCompany.

  15. Geben Sie die Email Address ein.

  16. Setzen Sie den Common Name auf OpenVPN Server Certificate.

  17. Lassen Sie die anderen Einstellungen auf den Standardwerten.

    Einstellungen der Serverzertifikat-Optionen in OPNsense-2

    Abbildung 5. Einstellungen der Serverzertifikat-Optionen in OPNsense-2

  18. Klicken Sie auf Save.

Sie können Ihre Serverzertifikate auf der Zertifikate-Seite Ihrer OPNsense-Firewall verwalten. Es ermöglicht Ihnen, Benutzerzertifikate und Benutzerschlüssel anzuzeigen, zu löschen und zu exportieren, indem Sie die Aktionsschaltflächen am Ende der Zertifikatreihe verwenden.

Verwalten von Serverzertifikaten in OPNsense

Abbildung 6. Verwalten von Serverzertifikaten in OPNsense

3. Erstellen eines VPN-Benutzers

OPNsense bietet die folgenden Optionen zur Benutzerauthentifizierung an:

  • Zugriff für lokale Benutzer: Sie können VPN-Benutzer mit dem lokalen Benutzer-Manager von OPNsense verwalten.

  • RADIUS: Sie können Benutzer auf einem externen RADIUS-Authentifizierungsserver verwalten.

  • LDAP: Sie können den Benutzerzugriff verwalten, indem Sie Windows Active Directory-Dienste oder G Suite LDAP-Integration mit OPNsense implementieren.

Für die Authentifizierung in diesem Tutorial verwenden wir Local User Access. Bei der Verwendung von Local User Access können pro Benutzer Zertifikate einfach in der OPNsense-GUI verwendet und verwaltet werden. Dies ist weitaus sicherer, aber je nach Anzahl der Personen, die auf den Dienst zugreifen, kann es weniger bequem sein als die Verwendung eines zentralen Authentifizierungssystems.

Um VPN-Benutzer, Passwörter und Zertifikate in der OPNsense-Firewall zu verwalten, können Sie die folgenden beiden Hauptschritte befolgen:

  1. Lokalen OPNsense-Benutzer hinzufügen

  2. Zertifikat für den VPN-Benutzer erstellen

1. Hinzufügen eines lokalen OPNsense-Benutzers

Wir werden in diesem Tutorial nur ein Benutzerkonto erstellen, aber das Verfahren gilt für so viele Benutzer, wie wir wollen. 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 VPN-Konto ein, wie zum Beispiel vpnuser1.

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

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

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

    Erstellen eines VPN-Benutzerkontos in OPNsense-1

    Abbildung 7. Erstellen eines VPN-Benutzerkontos in OPNsense-1

  6. Sie können die Login shell als /sbin/nologin belassen, wenn das VPN-Konto nur für den VPN-Zugriff verwendet wird. Diese Option verhindert, dass sich der Benutzer 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. Aktivieren Sie Click to create a user certificate für die Certificate-Option. Damit ein Benutzerzertifikat gleichzeitig mit der automatischen Erstellung des Benutzerkontos erstellt werden kann.

  9. Aktivieren Sie Neues Geheimnis generieren für die OTP seed-Option, um MFA für Ihre VPN-Benutzer zu aktivieren.

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

  11. Klicken Sie auf die Save-Schaltfläche, 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 VPN-Benutzerkontos in OPNsense-2

    Abbildung 8. Erstellen eines VPN-Benutzerkontos in OPNsense-2

2. Erstellen eines Zertifikats für den VPN-Benutzer

Wir werden nur ein Zertifikat für den Benutzer erstellen, den wir im vorherigen Abschnitt erstellt haben. Sie können das gleiche Verfahren für alle Benutzer anwenden, die Sie möchten. Befolgen Sie die folgenden Schritte, um ein Zertifikat für den VPN-Benutzer hinzuzufügen, den Sie zuvor in Ihrer OPNsense-Firewall erstellt haben:

  1. Wählen Sie Ein internes Zertifikat erstellen für die Method-Option.

  2. Sie können das Feld Descriptive Namee so belassen, wie es ist, in unserem Beispiel vpnuser1.

  3. Setzen Sie die Certificate auf OPNsenseOpenVPNCA.

  4. Setzen Sie Type auf Client-Zertifikat.

  5. Setzen Sie die Key length (bits) auf 4096.

  6. Stellen Sie den Digest Algorithm auf SHA512 ein.

  7. Setzen Sie Lifetime (days) auf 365.

  8. Setzen Sie den Speicherort des Private key auf Auf dieser Firewall speichern,

    Einstellen der Client-Zertifikatsoptionen in OPNsense-1

    Abbildung 9. Einstellungen der Client-Zertifikatoptionen in OPNsense-1

  9. Lassen Sie die anderen Einstellungen auf den Standardwerten.

    Einstellen der Client-Zertifikat-Optionen in OPNsense-2

    Abbildung 10. Einstellen der Client-Zertifikatsoptionen in OPNsense-2

  10. Klicken Sie auf die Save-Schaltfläche. Dies wird Sie zur Benutzerseite weiterleiten.

  11. Scrollen Sie nach unten zur Option OTP QR code.

  12. Klicken Sie auf die Schaltfläche Click to unhide, um Ihren neu erstellten Seed mit Ihrer Google Authenticator-kompatiblen App zu aktivieren. Ihnen wird ein QR-Code gegeben, den Sie mit Ihrem Handy scannen können.

    Aktivierung des OTP-Samens in OPNsense

    Abbildung 11. Aktivierung des OTP-Samens in OPNsense

  13. Senden Sie den QR-Code auf sichere Weise an den Benutzer.

    OTP-QR-Code in OPNsense erhalten

    Abbildung 12. Erhalt des OTP-QR-Codes in OPNsense

  14. Klicken Sie auf die Save-Schaltfläche, um die Einstellungen zu aktivieren.

  15. Sie können das für den VPN-Benutzer erstellte Zertifikat anzeigen, indem Sie in Ihrer OPNsense-Firewall zu SystemTrustCertificates navigieren.

    Anzeigen des VPN-Client-Zertifikats in OPNsense

    Abbildung 13. Anzeigen des VPN-Client-Zertifikats in OPNsenseKontext:

    warnung

    WarnungVergessen Sie nicht, den neu generierten OTP-QR-Code auf sichere Weise an den VPN-Benutzer, hier vpnuser1, zu senden.

4. TOTP-Zugangsserver hinzufügen

Da wir in diesem Tutorial einen OpenVPN-Dienst mit MFA konfigurieren werden, müssen wir einen TOTP (Time-based One Time Password) Server in der OPNsense-Firewall erstellen.

info

Wenn Sie den OpenVPN-Server installieren, um auf Ihr Heimnetzwerk zuzugreifen, und möglicherweise keine zusätzliche Sicherheitsebene durch die Implementierung von MFA für Ihre VPN-Verbindung benötigen, können Sie diesen Schritt überspringen.

info

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

  1. Navigieren Sie zu SystemAccessServer in Ihrer OPNsense-Weboberfläche.

    Zugriff auf Server in OPNsense

    Abbildung 14. Zugriff-Server in OPNsense

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

  3. Füllen Sie das Feld Descriptive name für den Server aus, zum Beispiel TOTP VPN Access Server.

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

  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. Klicken Sie auf Save, um den TOTP-Server hinzuzufügen.

    Erstellen eines TOTP-Zugriffservers in OPNsense

    Abbildung 15. Hinzufügen eines TOTP-Zugriffservers in OPNsense

5. OpenVPN-Server hinzufügen

Nachdem Sie die VPN-Benutzer und Zertifikate erstellt haben, können Sie mit der Einrichtung des OpenVPN-Servers in Ihrer OPNsense-Firewall beginnen. Das Hinzufügen eines neuen OpenVPN-Servers ist ein einfacher Prozess. In diesem Tutorial fügen wir einen hinzu, der die Multi-Faktor-Authentifizierung nutzt. Diese Konfiguration bietet angemessenen Schutz und ist einfach auf den Clients zu implementieren, da jeder die gleiche Konfiguration verwenden kann.

Es gibt fünf Abschnitte in der OpenVPN-Serverkonfiguration in OPNsense:

  1. Allgemeine Informationen

  2. Kryptografische Einstellungen

  3. Tunnel-Einstellungen

  4. Kundeneinstellungen

  5. Erweiterte Konfiguration

Um einen OpenVPN-Server in Ihrer OPNsense-Firewall einzurichten, können Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu VPNOpenVPNServer in Ihrer OPNsense-Weboberfläche.

    OpenVPN-Server in OPNsense

    Abbildung 16. OpenVPN-Server in OPNsense

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

    tipp

    Es gibt ein Zauberer-Symbol neben dem +-Symbol auf der OpenVPN-Server-Seite. Durch Klicken auf das Wizard-Symbol können Sie den Setup-Assistenten verwenden, um einen OpenVPN-Server zu konfigurieren. Es könnte für einige Benutzer bequemer sein.

  1. Füllen Sie das Feld Descriptive name für den Server aus, z.B. Mein OpenVPN-Server.

  2. Wählen Sie Remote Access (SSL/TLS + User Auth) für den Server Mode, da wir MFA verwenden werden.

  3. Wählen Sie TOTP VPN Access Server für Backend for authentication.

    tipp

    Wenn Sie den OpenVPN-Server installieren, um auf Ihr Heimnetzwerk zuzugreifen und keine zusätzliche Sicherheitsebene durch die Implementierung von MFA für Ihre VPN-Verbindung benötigen, können Sie Local Database als Backend für die Authentifizierung auswählen. Dann werden Ihre VPN-Clients mit 2FA authentifiziert, indem lokale Benutzernamen, Passwörter und Zertifikate verwendet werden, die für ein Heimnetzwerk sicher genug sind.

  4. Stellen Sie das Protocol auf UDP ein.

  5. Wählen Sie tun für den Device Mode.

  6. Setzen Sie die Interface auf WAN. Wenn Sie mehrere WAN-Schnittstellen haben, können Sie any auswählen.

  7. Sie können den Local Port auf dem Standardwert 1194 belassen. Oder, Sie können es aus Sicherheitsgründen nach Belieben ändern.

    Einstellung der allgemeinen Informationsoptionen für einen OpenVPN-Server mit 2FA in OPNsense

    Abbildung 17. Einstellung der allgemeinen Informationsoptionen für einen OpenVPN-Server mit MFA in OPNsense

  8. Stellen Sie TLS Authentication auf Aktiviert-Authentifizierung & Verschlüsselung ein.

  9. Aktivieren Sie Automatisch einen gemeinsamen TLS-Authentifizierungsschlüssel generieren für die TLS Shared Key-Option.

  10. Setzen Sie die Peer Certificate Authority auf OPNsenseOpenVPNCA.

  11. Setzen Sie Server Certificate auf Open VPN Serverzertifikat

  12. Setzen Sie die DH Parameters Length auf 4096 Bit.

  13. Sie können den Encryption algorithm auf AES-256-GCM (256-Bit-Schlüssel, 128-Bit-Block) einstellen.

  14. Setzen Sie den Auth Digest Algorithm auf SHA512.

  15. Stellen Sie die Certificate Depth auf Eins (Client+Server) ein.

  16. Sie können die Option Strikte Benutzer/CN-Übereinstimmung aktivieren, um eine Übereinstimmung zwischen dem Common Name des Client-Zertifikats und dem Benutzernamen, der beim Login angegeben wird, für mehr Sicherheit durchzusetzen.

    Kryptografische Einstellungen für einen OpenVPN-Server mit 2FA in OPNsense

    Abbildung 18. Kryptografische Einstellungen für einen OpenVPN-Server mit MFA in OPNsense

  17. Geben Sie den IP-Adressbereich im CIDR-Format für das IPv4 Tunnel-Network ein. Dies ist der IP-Adressbereich, der von Ihren VPN-Clients verwendet wird. Wählen Sie als Ihr Tunnel-Netzwerk einen IP-Bereich, der derzeit nicht in Ihrem Netzwerk verwendet wird. In diesem Tutorial wählen wir 192.168.10.0/24 als das Tunnelnetzwerk.

  18. Wählen Sie die Option Redirect Gateway, um Clients zu zwingen, über Ihre Firewall auf das Internet zuzugreifen. Wenn Sie diese Option nicht aktivieren möchten, können Sie Ihre LAN-Adresse für das IPv4 Local Network eingeben. Damit Ihre VPN-Clients von Ihrem lokalen Netzwerk, wie z.B. 10.10.10.0/24, aus zugänglich sind.

  19. Sie können das IPv4 Tunnel Network einrichten, indem Sie das/die entfernte(n) LAN(s) eingeben, um ein Site-to-Site-VPN einzurichten. Sie können dies leer lassen, wenn Sie kein Site-to-Site-VPN einrichten müssen.

  20. Sie können einen Wert für die Option Concurrent Connections festlegen. Diese Option legt die maximale Anzahl der Clients fest, die gleichzeitig mit dieser OpenVPN-Serverinstanz verbunden werden können. Dies ist eine globale Einschränkung, die für alle verbundenen Clients gilt, nicht eine pro Benutzer. Der OpenVPN-Server erlaubt standardmäßig eine unbegrenzte Anzahl von Verbindungen zu Ihrem Server. Es wird empfohlen, dies auf einen angemessenen Wert zu setzen, selbst wenn es nur der Vernunft wegen ist.

  21. Wählen Sie legacy LZO algorithm with adaptive compression für Compression. Wenn OpenVPN feststellt, dass die Daten in den Paketen nicht effizient komprimiert werden, wird dieser Modus die Kompression vorübergehend dynamisch deaktivieren.

  22. Sie können die Option Inter-client communicationn aktivieren, um die Kommunikation zwischen VPN-Clients, die mit Ihrem OpenVPN-Server verbunden sind, zu ermöglichen. Meistens müssen Sie diese Option nicht aktivieren.

  23. Sie können die Option Duplicate Connections aktivieren, um mehrere gleichzeitige Verbindungen von VPN-Clients mit demselben Common Name zuzulassen.

    Obwohl diese Option nicht empfohlen wird, müssen Sie sie in einigen Fällen möglicherweise aktivieren.

    Tunnel-Einstellungen für einen OpenVPN-Server mit MFA in OPNsense

    Abbildung 19. Tunnel-Einstellungen für einen OpenVPN-Server mit MFA in OPNsense

  24. Sie können die Dynamic IP-Option aktivieren, die es einem bereits verbundenen Client ermöglicht, seine IP-Adresse zu ändern, ohne sich erneut zu verbinden.

  25. Aktivieren Sie die Option Address Pool, um VPN-Clients eine IP-Adresse für den virtuellen Adapter bereitzustellen.

  26. Aktivieren Sie die Topology-Option, damit VPN-Clients nur eine einzelne IP und nicht ein isoliertes IP-Subnetz erhalten. Zur Kompatibilität mit älteren Windows OpenVPN-Clients ist es standardmäßig deaktiviert.

  27. Wenn Sie eine DNS Default Domain angeben, wird dieser Wert als DNS-Suffix für Ihre VPN-Clients verwendet. Wenn Ihre Kunden Ihre internen Hostnamen ohne Verwendung eines FQDNs nachschlagen möchten, kann dies nützlich sein.

  28. Sie können die DNS Servers überprüfen und dann die IP-Adressen der DNS-Server eingeben, wenn Sie möchten. Wenn Sie einen internen DNS-Server haben, sollten Sie hier seine IP-Adresse eingeben.

  29. Sie können die Option Force DNS cache update aktivieren, um Windows-Clients dazu zu bringen, die gepushten DNS-Server zu erkennen, wenn Sie möchten.

  30. Sie können die Option Prevent DNS leaks aktivieren, um DNS-Server auf anderen Netzwerkadaptern zu blockieren, wenn Sie möchten.

  31. Sie können die NTP Servers überprüfen und dann die IP-Adressen der NTP-Server eingeben, wenn Sie möchten.

  32. Sie können die NetBIOS Options überprüfen, um NetBIOS über TCP/IP zu aktivieren, wenn Sie möchten.

    Client-Einstellungen für einen OpenVPN-Server mit 2FA in OPNsense

    Abbildung 20. Client-Einstellungen für einen OpenVPN-Server mit MFA in OPNsense

  33. Wählen Sie 3 für das Verbosity-Level, um TLS-Verhandlungen & Routeninformationen anzuzeigen.

  34. Setzen Sie Renegotiate time auf 0, um den Neuaushandlungszeitpunkt des Datenkanalschlüssels zu deaktivieren, da wir in unserem Tutorial OTP verwenden werden.

  35. Lassen Sie die anderen Optionen auf den Standardeinstellungen.

    tipp

    Die Option Strict User/CN Matching wird verwendet, um die Verwendung des gleichen Benutzernamens wie den CN des Zertifikats zu erzwingen, wodurch verhindert wird, dass Personen sich mit anderen Anmeldeinformationen als dem angegebenen Zertifikatsnamen anmelden. (Beispielsweise kann sich vpnuser1 nicht als root anmelden.)

    Erweiterte Konfiguration für einen OpenVPN-Server mit 2FA in OPNsense

    Abbildung 21. Erweiterte Konfiguration für einen OpenVPN-Server mit MFA in OPNsense

  36. Klicken Sie unten auf der Seite auf Save, um die Einstellungen zu aktivieren.

Sie können Ihren neuen VPN-Server auf der OpenVPN-Serverseite der OPNsense-Firewall anzeigen und verwalten.

OpenVPN-Server in OPNsense

Abbildung 22. OpenVPN-Server in OPNsense

6. Firewall-Regeln hinzufügen

Standardmäßig ist sämtlicher Verkehr, der sich mit einem OpenVPN-Server verbindet oder durch VPN-Tunnel fließt, verboten. Daher müssen Sie die folgenden Firewall-Regeln in Ihrem OPNsense definieren:

  1. Erlaube Verkehr von Clients zum VPN-Server

  2. Erlauben Sie VPN-Clients den Zugang zum Internet über VPN.

1. Erlaube den Verkehr von Clients zum VPN-Server

Der Zugriff auf den OpenVPN-Serverport, standardmäßig UDP/1194, auf der WAN-Schnittstelle ist erforderlich, um SSL-VPN-Clientverbindungen zu ermöglichen. Sie sollten eine Firewall-Regel definieren, die VPN-Clients den Zugriff auf Ihren OpenVPN-Server ermöglicht.

Zugriffsregel für OpenVPN-Server in OPNsense

Abbildung 23. Zugriffsregel für OpenVPN-Server in OPNsense

2. VPN-Clients den Zugang zum Internet über VPN erlauben

Um VPN-Clients über den VPN-Tunnel ins Internet zuzulassen, können Sie die folgenden Schritte befolgen:

  1. Navigieren Sie zu FirewallRulesOpenVPN in Ihrer OPNsense-Weboberfläche.

    OpenVPN-Schnittstellen-Firewall-Regeln in OPNsense

    Abbildung 24. OpenVPN-Schnittstellen-Firewall-Regeln in OPNsense

  2. Klicken Sie auf die Schaltfläche "Hinzufügen" mit dem +-Symbol oben rechts auf der Seite.

  3. Setzen Sie Action auf Pass.

  4. Stellen Sie Interface auf OpenVPN ein.

  5. Setzen Sie Direction auf in.

  6. Wählen Sie Einzelner Host oder Netzwerk für die Source und setzen Sie den VPN-IP-Adressbereich wie 192.168.10.0/24.

    Definieren von OpenVPN-Firewall-Regeln in OPNsense-1

    Abbildung 25. Definieren von OpenVPN-Firewall-Regeln in OPNsense-1

  7. Wählen Sie any für das Destination.

  8. Sie können VPN-Regeln in das Feld Category eingeben.

  9. Füllen Sie das Description-Feld aus, wie VPN-Clients den Zugriff erlauben.

  10. Sie können die anderen Einstellungen auf den Standardwerten belassen.

    Definieren von OpenVPN-Firewall-Regeln in OPNsense-2

    Abbildung 26. Definieren von OpenVPN-Firewall-Regeln in OPNsense-2

  11. Klicken Sie auf die Schaltfläche Save am unteren Rand der Seite, um die Regel zu speichern.

  12. Klicken Sie auf Apply Changes, um die neue Firewall-Regel zu aktivieren.

    Aktivierung der OpenVPN-Firewall-Regeln in OPNsense

    Abbildung 27. Aktivierung der OpenVPN-Firewall-Regeln in OPNsense

Die Firewall-Konfiguration für die OpenVPN-Tunnelverbindung ist abgeschlossen. Sie müssen nun die Konfigurationsdateien exportieren, damit sie in den OpenVPN-Client eingegeben werden können, den der Benutzer auf seinem Gerät installieren wird.

7. OpenVPN-Client exportieren

Sie können die OpenVPN-Client-Konfigurationsdatei ganz einfach nach Ihren Bedürfnissen exportieren. Um die OpenVPN-Client-Konfiguration herunterzuladen, können Sie die folgenden Schritte ausführen:

  1. Navigieren Sie zu VPNOpenVPNClient Export in Ihrer OPNsense-Weboberfläche.

  2. Wählen Sie den neu erstellten VPN-Server aus der Liste aus, wie zum Beispiel Mein OpenVPN-Server UDP:1194, für den Remote Access Server.

  3. Wählen Sie File Only für den Export Type. Da Sie diese textbasierte Konfigurationsdatei problemlos in OpenVPN-Client-Anwendungen auf verschiedenen Plattformen wie Windows, macOS, Android und iOS importieren können.

    tipp

    Sie können Archie als Exporttyp auswählen, wenn Ihr VPN-Client unter Windows oder macOS läuft. In diesem Fall enthält die Archie-Datei, wie zum Beispiel My_OpenVPN_Server_vpnuser1.zip, ein Verzeichnis, das die Konfigurationsdatei (.ovpn), das Benutzerzertifikat (.p12) und den TLS-Schlüssel (.key) enthält.

  4. Lassen Sie die anderen Einstellungen auf den Standardwerten. In den meisten Fällen muss Hostname die öffentliche IP-Adresse Ihrer OPNsense-Firewall sein und Port muss die Portnummer sein, die Sie für den VPN-Dienst festgelegt haben, standardmäßig 1194.

    Exportieren des OpenVPN-Clients in OPNsense

    Abbildung 28. Exportieren des OpenVPN-Clients in OPNsense

  5. Scrollen Sie bis zum Ende der Seite. Die Liste der konfigurierten Benutzer befindet sich im Bereich Accounts / certificates, und der Download-Button mit einem kleinen Wolkensymbol befindet sich auf der rechten Seite der entsprechenden Zeile.

  6. Klicken Sie auf die Schaltfläche zum Herunterladen neben dem VPN-Client-Benutzer vpnuser1.

    Herunterladen des OpenVPN-Clients in OPNsense

    Abbildung 29. Herunterladen des OpenVPN-Clients in OPNsense

Nachdem Sie die OpenVPN-Client-Konfigurationsdatei, wie z.B. My_OpenVPN_Server_vpnuser1.ovpn, exportiert haben, sollten Sie sie an den Benutzer senden. Damit der Benutzer es in die OpenVPN-Client-App auf seinem Gerät importieren kann, um über das OpenVPN-Tunnel mit dem LAN zu verbinden.

Wie verbinde ich mich mit OPNsense OpenVPN?

In diesem Abschnitt erklären wir, wie man den OPNsense OpenVPN-Server mit MFA unter Verwendung eines Windows-PCs oder eines Android-Geräts verbindet. Wir gehen davon aus, dass Sie die OpenVPN-Client-Konfigurationsdatei bereits heruntergeladen und an den VPN-Benutzer gesendet haben.

Verbindung von einem Windows-PC-Client

Sie können Ihren OPNsense OpenVPN-Server ganz einfach mit MFA von einem entfernten Windows-Client aus verbinden, indem Sie die folgenden Anweisungen befolgen:

  1. Laden Sie die neueste OpenVPN GUI-Installationsdatei von der offiziellen Website openvpn.net herunter.

  2. Installieren Sie den OpenVPN-Installer, lassen Sie alles auf den Standardeinstellungen und stimmen Sie allem mit Yes zu. Die Installation eines TAP-Netzwerktreibers kann erforderlich sein; tun Sie dies, wenn Sie dazu aufgefordert werden.

  3. Nach Abschluss der OpenVPN-Installation auf einem Windows-Client-Computer erscheint ein kleines Monitor-Symbol mit einem Schloss darauf in Ihrer Taskleiste. Klicken Sie mit der rechten Maustaste darauf und wählen Sie Datei importieren, um die Client-Konfigurationsdatei zu importieren.

    Importieren der OpenVPN-Clientkonfiguration unter Windows 10

    Abbildung 30. Importieren der OpenVPN-Clientkonfiguration unter Windows 10

    warnung

    Wenn Sie eine Archie-Datei heruntergeladen haben, wie z.B. My_OpenVPN_Server_vpnuser1.zip im vorherigen Abschnitt, müssen Sie diese in das OpenVPN-Konfigurationsverzeichnis, wie z.B. C:\Users\Administrator\OpenVPN\config, entpacken, um sie zu importieren.

  4. Nachdem Sie die OpenVPN-Client-Konfiguration erfolgreich importiert haben, klicken Sie mit der rechten Maustaste auf das OpenVPN-Symbol in der Taskleiste und wählen Sie die neu importierte Konfigurationsdatei aus.

    Verbindung zum OPNsense OpenVPN-Server vom Windows 10-Client über die OpenVPN-GUI herstellen

    Abbildung 31. Verbindung zum OPNsense OpenVPN-Server vom Windows 10-Client

  5. Klicken Sie auf Connect, um die VPN-Verbindung zu starten.

  6. Geben Sie Ihren VPN Username ein.

  7. Starten Sie die Google Authenticator-Anwendung auf Ihrem Mobilgerät.

  8. Holen Sie sich das Token für Ihr VPN-Konto, wie zum Beispiel vpnuser1.

    Token, das von Google Authenticator für OpenVPN-Client-Benutzer generiert wurde

    Abbildung 32. Token, das von Google Authenticator für den OpenVPN-Client-Benutzer generiert wurde

  9. Kehren Sie zur OpenVPN-GUI auf Ihrem Windows-PC zurück.

  10. Füllen Sie das Feld Password mit dem Token und dem von Ihnen festgelegten OPNsense-Lokalanwenderpasswort aus.

    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 387914 ist und Ihr lokales Passwort MyPassword lautet, dann sollten Sie 387914MyPassword in das Passwortfeld der OpenVPN-GUI-Anwendung eingeben.Bitte geben Sie den Text ein, den Sie übersetzen möchten.

    OpenVPN-Client-Authentifizierung mit MFA unter Windows 10

    Abbildung 33. OpenVPN-Client-Authentifizierung mit MFA auf Windows 10

  11. Klicken Sie auf OK, um sich zu verbinden.

Sie werden unten rechts auf dem Bildschirm benachrichtigt, und das OpenVPN-Symbol in der Taskleiste wird grün, wenn die Verbindung erfolgreich ist.

OpenVPN Windows 10-Client mit MFA verbunden

Abbildung 34. OpenVPN Windows 10-Client mit MFA verbunden

Verbindung von einem Android-Gerät herstellen

Sie können Ihren OPNsense OpenVPN-Server ganz einfach von einem Android-Client aus verbinden, indem Sie die folgenden Anweisungen befolgen:

  1. Installieren Sie die offizielle OpenVPN-Anwendung aus dem Google Play Store auf Ihrem Android-Gerät.

    Installation des OpenVPN Connect-Clients auf einem Android-Gerät

    Abbildung 35. Installation des OpenVPN Connect-Clients auf einem Android-Gerät

  2. Starten Sie die Anwendung und importieren Sie die Konfigurationsdatei, indem Sie die Datei im Menü Import Profile unter dem Tab FILE auswählen.

    Importieren der OpenVPN-Clientkonfiguration auf einem Android-Gerät

    Abbildung 36. Importieren der OpenVPN-Clientkonfiguration auf einem Android-Gerät

  3. Geben Sie den VPN-Benutzernamen ein.

  4. Auswahl der Option Connect after import.

  5. Tippen Sie auf die ADD-Schaltfläche.

    Importieren der OpenVPN-Clientkonfiguration auf einem Android-2

    Abbildung 37. Importieren der OpenVPN-Clientkonfiguration auf einem Android-2

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

  7. Holen Sie sich das Token für Ihr VPN-Konto, wie zum Beispiel vpnuser1.

  8. Kehren Sie zur OpenVPN-Client-App auf Ihrem Mobilgerät zurück.

  9. Geben Sie das VPN-Passwort ein, indem Sie sowohl den Token als auch das OPNsense-Lokalkonto-Passwort verwenden, das Sie definiert haben, um sich mit dem VPN-Server zu verbinden. Dann tippen Sie auf OK.

    info

    Denken Sie daran, dass Sie den Token vor oder nach Ihrem Passwort eingeben müssen. (depending on your configuration). Zum Beispiel, wenn der Google Authenticator-Token 085256 ist und Ihr lokales Passwort MyPassword lautet, dann sollten Sie 085256MyPassword in das Passwortfeld der OpenVPN GUI-Anwendung eingeben.

    Eingabe des VPN-Passworts für die OpenVPN-Verbindung auf einem Android-Gerät

    Abbildung 38. Eingabe des VPN-Passworts für die OpenVPN-Verbindung auf einem Android-Gerät

  10. Jetzt sollten Sie von Ihrem Android-Gerät aus mit einem VPN-Server verbunden sein.

    Verbundenes OpenVPN-Client auf Android

    Abbildung 39. Verbundenes OpenVPN-Client auf Android

  11. Um die Verbindung zum VPN zu trennen, können Sie oben auf den grünen Umschalter tippen.

Überprüfung der VPN-Verbindung

Die Konfiguration des OpenVPN-Servers und der Client-Konfigurationen ist abgeschlossen. Um die Konfigurationen zu testen, können Sie die folgenden Schritte befolgen.

  1. Anzeigen von VPN-Verbindungen auf OPNsense:

    Navigieren Sie zu VPNOpenVPNConnection Status in Ihrer OPNsense-Weboberfläche. Sie sollten in der Lage sein, Informationen über die verbundenen VPN-Clients zu sehen. Die folgenden Details werden angezeigt:

    • VPN-Benutzername,
    • die echte IP-Adresse des verbundenen Clients,
    • die VPN-IP-Adresse des verbundenen Clients,
    • die Zeit seit der letzten Verbindung,
    • die Menge der übertragenen und empfangenen Daten.
    • Status des OpenVPN-ServersAußerdem können Sie die folgende Aufgabe ausführen:
    • Starten oder stoppen Sie den OpenVPN-Dienst, indem Sie die Aktionsschaltflächen in der oberen rechten Ecke der Seite verwenden.
    • Beenden Sie die VPN-Client-Verbindung, indem Sie die X-Taste am Ende der VPN-Client-Verbindung verwenden.

    OpenVPN-Status in OPNsense

    Abbildung 40. OpenVPN-Status in OPNsense

  2. Ping-Test

Sie sollten in der Lage sein, Ihren OpenVPN-Server vom Client aus erfolgreich zu pingen und umgekehrt:

ping 192.168.10.1
  1. IP-Kontrolle

    Auf Ihrem Client-Computer gehen Sie zu dieser Website https://www.whatismyip.com, um Ihre öffentliche IP-Adresse zu überprüfen. Wenn Ihr OpenVPN-Tunnel gut funktioniert, sollten Sie die öffentliche IP-Adresse Ihres VPN-Servers anstelle der öffentlichen IP-Adresse Ihres Client-Computers im Browser sehen.

  2. Traceroute-Test

    Sie sollten die OpenVPN-Server-VPN-IP-Adresse in der Ausgabe des traceroute-Befehls sehen.

  3. Anzeigen von Firewall-Protokollen

    Sie sollten sehen, dass Ihre VPN-Clients mit 192.168.10.X-IP-Adressen über die VPN-Tunnel-Schnittstelle, wie z.B. ovpns, auf das Internet zugreifen, indem Sie im Firewall-Live-View zu FirewallLog FilesLive View navigieren und die Quelle nach VPN-Client-IP, wie z.B. 192.168.10.6, filtern.

    Anzeigen von Firewall-Protokollen für den Internetverkehr des OpenVPN-Clients in OPNsense

    Abbildung 41. Anzeigen von Firewall-Protokollen für den Internetverkehr des OpenVPN-Clients in OPNsense

Starten Sie noch heute kostenlos mit Zenarmor

Was sind die Vorteile von SSL VPN für Road Warriors?

Die Hauptvorteile der Verwendung von SSL VPN für Road Warriors anstelle von IPsec sind wie folgt:

  • Mehrere Server oder client-spezifische Überschreibungen können für eine granulare Zugriffskontrolle verwendet werden.

  • Mit dem Client Configuration Export von OPNsense ist die Konfiguration auf fast allen mobilen Clients einfach.

  • Keine Probleme durch NAT ohne NAT-T