maddig
Goto Top

OpenVPN Traffic via SSLH splitten, NGINX

Guten Abend,

ich weiß mal wieder nicht weiter.

Und zwar betreibe ich einen nginx reverse proxy mit diversen Subdomains die alle samt DynDNS Adressen sind.
Auf dem nginx selber läuft z.b. eine Owncloud. Ich nutze ihn aber auch, um über Subdomains zum Beispiel auf das Interface von PRTG zuzugreifen.
Port 80 und 443 werden zu dem Server forwardet.

Als VPN Lösung habe ich bis dato den OpenVPN Server meiner pfSense eingesetzt. Jedoch musste ich dafür UDP 443 benutzen. Das nervt mit der Zeit weil nicht überall UDP offen ist.

Jetzt habe ich einen OpenVPN AccessServer aufgesetzt. Connecten aus dem LAN funktioniert soweit ganz gut. Nur belege ich 443 ja schon für SSL für den Webserver.

Die Überlegung war jetzt mit SSLH den Traffic zu splitten und mit der Option --openvpn OVPNSERVER:443 , den Openvpn Traffic auf den AccessServer weiterzuleiten.

DAEMON_OPTS="--user sslh --listen 10.7.10.11:443 --ssl 127.0.0.1:443 --openvpn 10.7.10.16:443 --pidfile /var/run/sslh/sslh.pid"  

10.7.10.11 ist der Debian Server und 10.7.10.16 der OVPN Server.

Wenn ich jetzt versuche auf meine Domain zu connecten, wirft der Client den Fehler: "TCP_SIZE_ERROR"

Ein Logfile habe ich nach der Anleitung eingerichtet, jedoch erstellt sslh keines...

Habt ihr Erfahrungen, bzw vielleicht eine andere Lösung?

Im Anhang nochmal eine Visio zur Veranschaulichung.

mfg
maddig
openvpn.

Content-Key: 376803

Url: https://administrator.de/contentid/376803

Printed on: April 18, 2024 at 09:04 o'clock

Member: Spirit-of-Eli
Spirit-of-Eli Jun 13, 2018 at 06:23:02 (UTC)
Goto Top
Moin,

wieso 443? Standart Port ist 1194. Der Port ist vollständig variabel. Oder geht es darum, das häufig alles andere geblockt ist?

Der Server kann die Session über TCP und UDP aufbauen.

Also wo ist nun das Problem? Deine Sense möchtest du ja wohl nicht direkt von extern erreichbar machen..

Gruß
Spirit
Member: maddig
maddig Jun 13, 2018 at 06:43:16 (UTC)
Goto Top
Guten Morgen,

das schöne an OpenVPN ist ja, dass jeder Port sowieso TCP oder UDP verwendet werden kann. Sinnigerweise verwendet man dann hierzu 443TCP da dies sogut wie in jedem LAN offen ist. Oder siehst du das anders?

Wie oben schon geschrieben und bildlich dargestellt, belege ich durch den nginx Webserver schon den Port 443 auf TCP.

Damit ich den Port 443 TCP auch für das OpenVPN benutzen kann, will ich den Traffic via SSLH aufsplitten zu SSL und OpenVPN und je nach dem zu einer anderen ZielIP weiterleiten. Ebenfalls oben beschrieben.

mfg
maddig
Member: Spirit-of-Eli
Spirit-of-Eli Jun 13, 2018 at 07:48:32 (UTC)
Goto Top
Zitat von @maddig:

Guten Morgen,

das schöne an OpenVPN ist ja, dass jeder Port sowieso TCP oder UDP verwendet werden kann. Sinnigerweise verwendet man dann hierzu 443TCP da dies sogut wie in jedem LAN offen ist. Oder siehst du das anders?

Wie oben schon geschrieben und bildlich dargestellt, belege ich durch den nginx Webserver schon den Port 443 auf TCP.

Damit ich den Port 443 TCP auch für das OpenVPN benutzen kann, will ich den Traffic via SSLH aufsplitten zu SSL und OpenVPN und je nach dem zu einer anderen ZielIP weiterleiten. Ebenfalls oben beschrieben.

mfg
maddig

Das ist durchaus ein cooler Gedanke, allerdings unterscheidet dieses Tool wohl nur zwischen SSL und SSH. Daher wird es mit OpenVPN wohl nicht gehen.

Ich habe es selbst noch nie gebraucht aber bin gespannt wer sich hier noch meldet.
Member: Spirit-of-Eli
Spirit-of-Eli Jun 13, 2018 at 07:55:56 (UTC)
Goto Top
Mir fällt gerade noch eine Option ein:
Lass OpenVPN über port 80 laufen und deinen Webserver über Https.
Chrome usw. Warnen ja eh bald bei unverschlüsselten Verbindungen.
Member: beidermachtvongreyscull
beidermachtvongreyscull Jun 13, 2018 at 08:04:24 (UTC)
Goto Top
Möchtest Du es mal mit Portsplit probieren?

https://github.com/kheops2713/portsplit

Hier beschreibt jemand einen Aufbau mit OpenVPN und einem anderen Dienst, der Deinem Aufbau ziemlich ähnlich kommt.

https://github.com/equalitie/ceno2-testbed/blob/master/servers.md

Die Idee, die ich hinter PortSplit sehe ist, dass es etwas flexibler scheint, als SSLH.
Der Grundgedanke ist aber der gleiche.

Gruß,
Andreas
Member: maddig
maddig Jun 13, 2018 at 09:22:10 (UTC)
Goto Top
Hallo,

Mit der Option --openvpn ist es möglich mit SSLH OpenVPN Pakete zu filtern nur leider funktioniert das nicht.

Mit Port 80 hast du recht, jedoch brauche ich das auch für den https Redirect.

Portsplit sieht auf den ersten Blick wirklich gut aus. Und das Beispiel dazu noch besser.

Ich werde das heute abend mal testen und wieder berichten.

Danke für eure Hilfe.

mfg
maddig