OPNsense OpenVPN für Road Warrior einrichten

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

Die Open Source Firewall OPNsense ermöglicht in wenigen Schritten die Einrichtung von VPN (Virtual Private Network) Verbindungen. In diesem Beispiel zeigen wir, wie Sie einen Client Rechner (z.B. einen Windows 10 PC, Ubuntu 18.04 PC, oder ein Smartphone mit Android oder iOS) von einem Home-Office Arbeitsplatz aus über das Internet mittels OpenVPN mit einem Firmennetzwerk verbinden. Das Firmennetzwerk ist dabei mit einer OPNsense Firewall mit dem Internet verbunden.

Hinweis: Diese Anleitung wurde mit einer älteren Version von OPNsense erstellt, es kann sein dass manche Menüs und Einstellungen nun anders vorgenommen werden.

OpenVPN Road Warrior einrichten

Zum Einrichten von OpenVPN Client-Verbindungen (Road Warrior Konfiguration) sind folgende Schritte erforderlich:

  1. Certificate Authority erstellen
  2. Server Zertifikat erstellen
  3. VPN Benutzer mit Client Zertifikat erstellen
  4. OpenVPN Server erstellen
  5. Firewall Regeln für OpenVPN erstellen
  6. Client Konfiguration exportieren
  7. Client (z.B. Windows 10 Client) konfigurieren

Certificate Authority erstellen

Certificate Authority erstellen
  1. Wählen Sie im Menü System -> Trust -> Authorities und klicken Sie auf Add or import CA.
  2. Wählen Sie dort die folgenden Einstellungen:
    • Descriptive name: OpenVPN CA
    • Method: Create an internal Certificate Authority
    • Key length: 4096
    • Digest Algorithm: SHA512
    • Common Name: internal-sslvpn-ca
  3. Klicken Sie auf Save.

Server Zertifikat erstellen

Server Zertifikat erstellen
  1. Wählen Sie im Menü System -> Trust -> Certificates und klicken Sie auf Add or import Certificate.
  2. Wählen Sie dort die folgenden Einstellungen:
    • Method: Create an internal Certificate
    • Certificate authority: OpenVPN CA
    • Type: Server Certificate
    • Key length: 4096
    • Digest Algorithm: SHA512
    • Common Name: OpenVPN Server Zertifikat
  3. Klicken Sie auf Save.

VPN Benutzer mit Client Zertifikat erstellen

VPN Benutzer mit Client Zertifikat erstellen
  1. Wählen Sie im Menü System -> Access -> Users und klicken Sie rechts unten auf das Plus-Symbol.
  2. Wählen Sie dort die folgenden Einstellungen:
    • Username: (hier geben Sie den gewünschten Benutzernamen ein)
    • Password: (hier geben Sie das gewünschte Passwort des Benutzers ein)
    • Certificate: aktivieren Sie die Checkbox, damit Sie im folgenden Schritt direkt ein Zertifikat für den Benutzer erstellen können.
  3. Klicken Sie auf Save. Sie gelangen zum Formular zur Erstellung des Client Zertifikates.
  4. Wählen Sie dort die folgenden Einstellungen:
    • Method: Create an internal Certificate
    • Certificate authority: OpenVPN CA
    • Type: Client Certificate
    • Key length: 4096
    • Digest Algorithm: SHA512
  5. Klicken Sie auf Save.

OpenVPN Server erstellen

OpenVPN Server mit SSL/TLS und User Auth erstellen
  1. Wählen Sie im Menü VPN -> OpenVPN -> Servers und klicken Sie auf Add Server.
  2. Wählen Sie dort die folgenden Einstellungen:
    • Server Mode: Remote Access (SSL/TLS + User Auth) (Wir verwenden diesen Modus im Beispiel, um die höchste Sicherheit zu erlangen. Informationen zu den anderen Optionen finden Sie im Abschnitt OpenVPN Server Modes.)
    • Protocol: UDP
    • Device Mode: tun
    • Interface: WAN
    • Local port: 1194
    • Server Certificate: OpenVPN Server Certificate
    • DH Parameters Length: 4096
    • Encryption algorithm: AES-256-CBC (256-bit)
    • Auth Digest Algorithm: SHA512 (512-bit)
    • IPv4 Tunnel Network: z.B. 10.10.0.0/24
    • IPv4 Local Network: 192.168.1.0/24
    • Compression: Disabled - No Compression
    • Disable IPv6: (aktivieren)

Firewall Regeln für OpenVPN erstellen

Erstellen Sie im Bereich WAN sowie im Bereich OpenVPN die folgenden Firewall Regeln.

WAN

Wählen Sie im Menü Firewall -> Rules -> WAN und erlauben Sie eingehenden OpenVPN Verkehr, damit der OpenVPN Dienst von extern erreichbar ist:

OpenVPN

Wählen Sie im Menü Firewall -> Rules -> OpenVPN und erlauben Sie den Zugriff vom OpenVPN Netz auf das lokale Netzwerk:

Client Konfiguration exportieren

Exportieren der Konfigurationsdateien als Archiv

Die erforderlichen Konfigurationsschritte an der OPNsense Firewall sind nun erledigt. Jetzt müssen noch die Konfigurationen für die Clientgeräte exportiert werden. Dieses Menü Client Export ist als Untermenü zu OpenVPN im linken Menübaum zu finden.

  • Falls Sie mehrere VPNs konfiguriert haben: Prüfen Sie ob Sie das richtige VPN ausgewählt haben, damit die Konfigurationsdateien des gewünschten VPNs exportiert werden.
  • Bereich Client Export Option:
    • Aktivieren Sie die Checkbox bei Use a password to protect the pkcs12 file contents or key in Viscosity bundle.
    • Vergeben Sie ein sicheres Passwort für den Export der PKCS12 Zertifikatsdatei.
    • Dies erhöht die Sicherheit beim Austausch der Zertifikatsdatei.
  • Bereich Client Install Packages:
    • Wählen Sie in der Zeile des gewünschten Benutzers rechts im Dropdownmenü aus einer Vielzahl an Konfigurationspaketen.
    • Die Auswahl von Archive bietet sich für Desktop-Betriebssysteme an. Klicken Sie den passenden Eintrag in der Liste an, der Download der Konfiguration wird automatisch gestartet.
    • Die Einträge im Bereich Inline Configuration sind für mobile Endgeräte gedacht. Dadurch wird ein einziges *.ovpn File, mit allen erforderlichen Informationen und Zertifikaten, erstellt.

Client konfigurieren

Informationen zur Konfiguration der jeweiligen VPN Clients finden Sie in den folgenden Artikeln:

OpenVPN Server Modes

  • Remote Access (SSL/TLS):
    • Verwendet ausschließlich Zertifikate.
    • Jeder Benutzer hat eine individuelle Client-Konfiguration mit seinem persönlichen Zertifikat und Schlüssel.
    • Sinnvoll, wenn Benutzer nicht nach einem Benutzernamen/Passwort gefragt werden soll.
    • Beschränkte Sicherheit, da der Besitz von Zertifikat und Schlüssel ohne weitere Zugangsdaten ausreichend ist.
  • Remote Access (User Auth):
    • Verwendet ausschließlich Authentisierung (ohne Zertifikate).
    • Sinnvoll wenn Benutzer keine individuellen Zertifikate haben sollen.
    • Häufig bei externer Authentisierung (RADIUS, LDAP) im Einsatz.
    • Alle Benutzer können die selbe Client-Konfiguration verwenden.
    • Beschränkte Sicherheit durch Verwendung eines pre-shared TLS Keys und Benutzernamen/Passwort.
  • Remote Access (SSL/TLS + User Auth) (dieser Modus wird im Beispiel oben verwendet):
    • Erfordert sowohl Zertifikate und Benutzernamen/Passwort.
    • Jeder Benutzer hat eine individuelle Client-Konfiguration mit seinem persönlichen Zertifikat und Schlüssel.
    • Höhere Sicherheit.

Weitere Informationen


Foto Thomas Niedermeier.jpg

Autor: Thomas Niedermeier

Thomas Niedermeier arbeitet im Product Management Team von Thomas-Krenn. Er absolvierte an der Hochschule Deggendorf sein Studium zum Bachelor Wirtschaftsinformatik. Seit 2013 ist Thomas bei Thomas-Krenn beschäftigt und kümmert sich unter anderem um OPNsense Firewalls, das Thomas-Krenn-Wiki und Firmware Sicherheitsupdates.

Icon-Twitter.png 

Foto Werner Fischer.jpg

Autor: Werner Fischer

Werner Fischer arbeitet im Product Management Team von Thomas-Krenn. Er evaluiert dabei neueste Technologien und teilt sein Wissen in Fachartikeln, bei Konferenzen und im Thomas-Krenn Wiki. Bereits 2005 - ein Jahr nach seinem Abschluss des Studiums zu Computer- und Mediensicherheit an der FH Hagenberg - heuerte er beim bayerischen Server-Hersteller an. Als Öffi-Fan nutzt er gerne Bus & Bahn und genießt seinen morgendlichen Spaziergang ins Büro.


Das könnte Sie auch interessieren

Cannot open TUN/TAP dev /dev/tun1: Device busy (errno=16)
OPNsense von Rechner im Layer 2 WAN Netzwerk ansprechen
Windows 10 als OpenVPN Client konfigurieren