Skip to main content Skip to footer Skip to navigation

UniFi OpenVPN Konfiguration optimieren

Leider enthält die Standard OpenVPN Konfiguration, die von den Ubiquiti UniFi Controller erstellt werden, veraltete Einstellungen. Wir zeigen auf, welche Verbesserungen möglich sind und wo einfach die Grenzen bei der OpenVPN Implementierung seitens UniFi sind.

OpenVPN, WireGuard, Teleport oder doch UniFi Endpoint?

UniFi bietet mittlerweile mehrere VPN Möglichkeiten die sich in dem möglichen Einsatzzweck unterscheiden, aber auch überschneiden:

  • L2TP (veraltet und wird von uns nicht mehr eingesetzt)
  • OpenVPN
  • WireGuard
  • Teleport (basiert auf WireGuard)
  • UniFi Endpoint (basiert auf WireGuard)

OpenVPN ist dabei der alt bewährte Klassiker und seit über 20 Jahren ein etabliertes, quelloffenes VPN-Protokoll. Es basiert auf SSL/TLS und ist extrem flexibel.

Vorteile sind die Verfügbarkeit von Clients für fast jedes Betriebssystem und die flexiblen Konfigurationen je nach gewünschtem Einsatzzweck.

Nachteile sind die kompliziertere Konfiguration sowie der höhere CPU und Akku Verbrauch und langsamere Verbindungsaufbau und Durchsatz, je nach Hardware.

WireGuard hingegen ist ein moderner Standard und bietet ein extrem schnelles Open-Source VPN-Protokoll der nächsten Generation.

Vorteile sind die höhere Geschwindigkeit auch auf langsamerer Hardware, die einfache Einrichtung und Konfiguration und der schnelle Verbindungsaufbau.

Nachteil ist der mäßige Windows Client, der entweder voraussetzt das der Benutzer Administrator ist oder man muss manuell Änderungen vornehmen. Daher ist der Einsatz des WireGuard Clients in Unternehmen immer noch nicht so beliebt.

Teleport und UniFi Endpoint basieren beide auf WireGuard und bieten dem Nutzer eine schnelle und unkomplizierte Einrichtung. Jedoch funktionieren beide Lösungen nur im UniFi-Kosmos.

UniFi OpenVPN Implementierung

OpenVPN ist zwar in den UniFi Gateways implentiert, aber man merkt das OpenVPN für UniFi keine große Rolle spielt. So sind in der Konfiguration die der Controller erstellt, einige ältere Voreinstellungen enthalten.

  • proto tcp (lässt sich nicht auf UDP umstellen)
  • persist-key (Diese Option ist veraltet und wird von neueren Versionen mittlerweile ignoriert)
  • cipher AES-256-CBC (bietet gegenüber AES-256-GCM keine Parallelisierung)
  • comp-lzo (ist eine veraltete Option in OpenVPN zur Aktivierung der mittlerweile unsicheren Komprimierung)
  • reneg-sec 0 (Bei dem Wert 0 bleibt der ausgehandelte Schlüssel dauerhaft gültig, wodurch lästige Verbindungsabbrüche bei der Nutzung von 2FA verhindert werden. Aus Sicherheitsgründen ist es jdoch nicht empfehlenswert, insbesondere bietet UniFi keine 2FA Möglichkeit).

Wir zeigen hier die Standard UniFi Konfiguration und die von uns angepasste Konfiguration, die soweit Möglich die Sicherheit erhöht.

UniFi Konfiguration angepasste Konfiguration (Windows) angepasste Konfiguration Linux
client
dev tun
proto tcp
remote xxxxxxxxxx 1234
resolv-retry infinite
nobind
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup
persist-key
persist-tun
auth-user-pass
remote-cert-tls server
cipher AES-256-CBC
comp-lzo
verb 3
auth SHA1
key-direction 1
reneg-sec 0
redirect-gateway def1
client
dev tun
proto tcp
remote xxxxxxxxxx 1234
resolv-retry infinite
nobind
topology subnet
persist-tun
auth-user-pass
remote-cert-tls server
cipher AES-256-GCM
comp-lzo no
verb 3
auth SHA1
key-direction 1
auth-nocache
route-nopull
route xxx.xxx.xxx.xxx 255.255.255.0
client
dev tun
proto tcp
remote xxxxxxxxxx 1234
resolv-retry infinite
nobind
# Downgrade privileges after initialization (non-Windows only)
user nobody
group nogroup
topology subnet
persist-tun
auth-user-pass
remote-cert-tls server
cipher AES-256-GCM
comp-lzo no
verb 3
auth SHA1
key-direction 1
auth-nocache
reneg-sec 0
route-nopull
route xxx.xxx.xxx.xxx 255.255.255.0

Durch die Angabe route-nopull können wir die Subnetze die wir erreichen möchten, selbst angeben. Das erfolgt im Format xxx.xxx.xxx.xxx 255.255.255.0. Alternativ kann man diese letzten beiden Zeilen auch weglassen, dann werden von UniFi alle Verfügbaren Subnetze zum Client gepushed.

Somit haben wir einen Splitt-Tunnel. Möchten wir hingegen den Full-Tunnel, bleibt es bei der Einstellung redirect-gateway def1 ohne route-nopull und route.

Die Optionen user nobody und group nogroup funktionieren nur unter Linux/MacOS und stellen einen Sicherheitsgewinn dar, da OpenVPN zum starten root Rechte benötigt. Ist der Tunnel erstmal aufgebaut, kann mit diesen beiden Optionen OpenVPN die root Rechte zurück geben. Da es aber bei einer Neuaushandlung der Verschlüsselungs-Keys zu einem Problem käme, müssen diese beiden Optionen zusammen mit reneg-sec 0 verwendet werden.

Leider wird von UniFi nur der veraltete auth SHA1 Unterstützt. Daher können wir den veralteten Algorithmus nicht gegen einen neueren in unserer Konfiguration ändern. Auch fehlt uns hier zur weiteren Absicherung die Möglichkeit 2FA zu aktivieren, wie es z.B. mit einer OPNsense Firewall ganz einfach möglich ist.


Gerne beraten wir Sie zum Einsatz, Installation und Betrieb von UniFi und OpenVPN. Nutzen Sie gerne unser Kontaktformular für eine unverbindliche Anfrage.



Zum Thema passende Artikel

© TECH-SUPPORT.KOELN