pfSense Gold Subscription

Author Topic: OpenVPN Blockierung aus Hotspots umgehen  (Read 709 times)

0 Members and 1 Guest are viewing this topic.

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
OpenVPN Blockierung aus Hotspots umgehen
« on: October 21, 2017, 05:20:59 am »
Hallo,

ich nutze den OpenVPN Server der pfSense schon lange und bin damit sehr zufrieden, allerdings musste vor kurzem feststellen, dass die VPN Verbindungen über den Standard Port 1194 an einigen Hotspots geblockt werden und suche nach einer Lösung dafür.
Als erstes dachte ich mir, diese über den 443 Port zu überlisten. Einen anderen Port zu nehmen, sehe ich irgendwie keine wirklichen Erfolgschancen, da an solchen Hotspots wohl eher mit Whitelists gearbeitet und höchstwahrscheinlich alles andere als 80 und 443 nach außen hin geblockt wird. Man wäre so „nur“ noch dann aufgeschmissen, wenn ein richtiges DPI im Einsatz ist (was ich aber für sehr sehr selten einschätzen würde), richtig?

Nun würde ich gerne fragen, wie das sicherheitstechnisch aussieht? Kann man problemlos diesen Port freigeben oder stellt das eine bedenkliche Sicherheitslücke dar?
Falls man das so machen kann, muss ich dann für den https Port des WebUI einen anderen Port vergeben?
Kann man sich evtl. noch mehr absichern und gleichzeitig die Umstellung des https Ports des WebUI sparen, wenn man dafür Reverse Proxy einsetzen würde, falls das überhaupt geht?

Würde mich über eure Ratschläge freuen!

Offline viragomann

  • Hero Member
  • *****
  • Posts: 2556
  • Karma: +269/-1
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #1 on: October 21, 2017, 07:58:42 am »
Hallo,

von der Sicherheit her ist es völlig egal, auf welchen Port der VPN Server läuft. Du kannst getrost 443 oder 80 verwenden, sichere Passwörter oder besser auch Client-Zertifikate vorausgesetzt.
Allerdings ist es auch wahrscheinlich, dass bei einigen Hotspots UDP-Verbindungen geblockt werden. Dann musst du den VPN Server auch auf TCP umstellen, was eine Verschlechterung der Datenrate und der Latenz bedingt.

Den Port der Web-GUI musst du natürlich auf einen anderen umstellen. 2 unterschiedliche Dienste können sich nicht einen Port teilen. Aber nachdem dein Web-Configurator (hoffentlich) nicht am WAN erreichbar ist und du ohnehin erst eine VPN aufbauen musst, um ihn zu erreichen, ist der verwendete Port auch egal.
Den Aufwand eines Proxys würde ich dafür nicht treiben.

Grüße

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #2 on: October 21, 2017, 09:10:47 am »
Vielen Dank für deine Antwort, viragomann!

Ok super zu hören, dass es sicherheitstechnisch keine Probleme geben sollte. Ich verwende beides: Client-Zertifikate und sichere Passwörter, dabei auch den Abgleich des Nutzernamens mit dem CN des Zertifikats.
Zur Sicherheit hätte ich noch eine kurze Frage: seit (glaube ich) der 2.4 Version gibt es die Option unter TLS Key Usage Mode neben TLS Authentication auch noch TLS Encryption and Authentication auszuwählen. Ich dachte, dass das die Sicherheit nochmal steigern sollte (obwohl für die normale Nutzung evtl. sogar nicht wirklich notwendig und würde nur mehr CPU Power verbrauchen?) und habe dies ausprobiert. Aber so kam bei mir keine Verbindung zustande, es kam ein Fehler mit dem Inhalt - irgendwie HMAC zu kurz o.ä. Hast du eine Idee, was das Problem sein könnte?

Ja, die Idee war natürlich das TCP Protokoll zu nutzen, weil eben - wie du schon sagtest - auch UDP Verbindungen geblockt werden könnten. Da TCP ggü. UDP tatsächlich schlechtere Performance bietet, so dachte ich mir es folgendermaßen zu realisieren. Ich erstelle 2 OpenVPN Server mit identischen Authentifizierungsmethoden und passe halt die jeweiligen .ovpn Config-Files entsprechend an, sodass man sich mit einer .ovpn Config an beiden Servern anmelden kann. So würde halt standardmäßig immer der UDP1194 Tunnel verwendet werden und bei problematischen Hotspots der automatische Umschwung auf TCP443 erfolgen. Generell funktioniert das wohl gut, habe jetzt schon mal ein wenig herumgetestet, allerdings mit anderen Ports.

Hat jetzt nicht viel mit dem Thema zu tun, aber in dem Zusammenhang mit der Portänderung des WebGUI würde ich gerne noch folgendes wissen, vllt. kann hier jemand an der Stelle weiterhelfen. Wäre es irgendwie möglich die pfSense (z.B. über Unbound) bei bestimmten Domains die festgelegten Ports selbst ergänzen zu lassen? Also man ruft pfsense.example.net auf und wird zu pfsense.example.net:8443 weitergeleitet? Geht mir jetzt nicht um die eine einzige Web-Configurator Weiterleitung, sondern auch um die anderen Geräte/Dienste im Heimnetz, wie bspw. NAS oder AP.
« Last Edit: October 21, 2017, 09:15:00 am by un1que »

Offline viragomann

  • Hero Member
  • *****
  • Posts: 2556
  • Karma: +269/-1
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #3 on: October 21, 2017, 09:37:10 am »
Mit den neuen OpenVPN Optionen der 2.4 habe ich mich noch nicht beschäftigt, ich weiß nicht, was diese Einstellung bewirkt.
Aber möglicherweise musst die die Konfig am Client dementsprechend anpassen bzw. neu exportieren, wenn du das Export Tool installiert hast.

Ich erstelle 2 OpenVPN Server mit identischen Authentifizierungsmethoden und passe halt die jeweiligen .ovpn Config-Files entsprechend an, sodass man sich mit einer .ovpn Config an beiden Servern anmelden kann. So würde halt standardmäßig immer der UDP1194 Tunnel verwendet werden und bei problematischen Hotspots der automatische Umschwung auf TCP443 erfolgen.
Das sollte kein Problem sein. Aber warum die Konfig immer anpassen? Du hast eben 2 Konfigs am Client und wählst bei der Einwahl die entsprechende aus.

Wäre es irgendwie möglich die pfSense (z.B. über Unbound) bei bestimmten Domains die festgelegten Ports selbst ergänzen zu lassen? Also man ruft pfsense.example.net auf und wird zu pfsense.example.net:8443 weitergeleitet? Geht mir jetzt nicht um die eine einzige Web-Configurator Weiterleitung, sondern auch um die anderen Geräte/Dienste im Heimnetz, wie bspw. NAS oder AP.
Das kann nur ein Proxy. Wenn du mehrere Dienst hast, die von außen alle über 443 angesprochen werden sollen, aber nur eine öffentliche IP, ist ein Proxy das Mittel deiner Wahl.
Bei Fragen dazu würde ich dir aber empfehlen, einen eigenen Thread mit entsprechenden Thema zu eröffnen, ich kann dir dabei leider nicht viel weiter helfen.

Grüße

Offline Pippin

  • Full Member
  • ***
  • Posts: 245
  • Karma: +22/-3
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #4 on: October 21, 2017, 10:47:14 am »
Quote
TLS Encryption and Authentication
Bedeutet das das control channel komplett verschlüsselt wird (tls-crypt) anstatt nur das data channel (cipher).

Quote
Ich erstelle 2 OpenVPN Server mit identischen Authentifizierungsmethoden und passe halt die jeweiligen .ovpn Config-Files entsprechend an, sodass man sich mit einer .ovpn Config an beiden Servern anmelden kann.
Sehe <connection> im OpenVPN Manual:
https://community.openvpn.net/openvpn/wiki/Openvpn24ManPage


Eventuell gibt`s auch noch die port-share Option.
Such mal nach "OpenVPN port-share" hier ins Forum, vielleicht geht das im pfSense.

Sehe auch --port-share im OpenVPN Manual.

2.3.2-RELEASE (amd64) - GB N3150N-D3V
"There must be someone with intelligence in the party"
"Well, that rules you out Pippin"

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #5 on: October 21, 2017, 10:48:20 am »
zu TLS Key Usage Mode
Naja, dann wird bei der Config halt der TLS Teil mit angepasst und es wird aus <tls-auth>[...]</tls-auth> => <tls-crypt>[...]</tls-crypt> gemacht. Ich hab's ja die entsprechende Config verwendet, aber irgendwie wollte es trotzdem nicht. Na mal sehen, vllt. muss ich dann noch alles durchchecken.

Das sollte kein Problem sein. Aber warum die Konfig immer anpassen? Du hast eben 2 Konfigs am Client und wählst bei der Einwahl die entsprechende aus.
Ne ne, du hast mich falsch verstanden. Mit "anpassen" meinte ich die einmalige Anpassung. Man kann in der Config mehrere Ziele eintragen und es wird dann (denke ich mal) nach der Reihenfolge abgearbeitet. So würde dann in meiner Config stehen:
[...]
remote wan.example.net 1194 udp
remote wan.example.net 443 tcp
[...]
Wenn der UDP Port 1194 unerreichbar ist, weil geblockt, erfolgt automatisch der Umschwung in die nächste Zeile und es wird der TCP Port 443 probiert. Dauert dann halt ein paar Sekunden, bis die Verbindung steht (ich habe gestern so 10-12 Sekunden gemessen; weiß nicht, ob man die Time-Out Zeiten irgendwie anpassen kann). So muss ich nicht mal die Configs wechseln (zumal das für einige Nutzer fast schon eine Zumutung wäre ;D), sondern das läuft alles automatisch im Hintergrund ab.

Das kann nur ein Proxy. Wenn du mehrere Dienst hast, die von außen alle über 443 angesprochen werden sollen, aber nur eine öffentliche IP, ist ein Proxy das Mittel deiner Wahl.
Bei Fragen dazu würde ich dir aber empfehlen, einen eigenen Thread mit entsprechenden Thema zu eröffnen, ich kann dir dabei leider nicht viel weiter helfen.
Ne, mir geht es nicht um das von außen erreichbar machen, sondern innerhalb des Heimnetzes. Ich dachte da an so etwas wie einen SRV Record bei den Domains. Ist jetzt aber nichts Weltbewegendes, sondern eher Feintunig. Ich werde noch recherchieren, wenn ich Zeit und Lust dafür habe, ansonsten frage ich hier nochmal nach.

@Pippin: danke auch! Ich schaue mich mal um. Habe mittlerweile schon zufällig folgendes gefunden: https://forum.pfsense.org/index.php?topic=138110.0
Scheinbar muss dann tatsächlich noch port-share localhost 443 in die advanced box rein beim 443-er VPN.
« Last Edit: October 21, 2017, 10:59:39 am by un1que »

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #6 on: October 21, 2017, 04:53:10 pm »
Also, nachdem ich kurz alles nötige umgestellt habe, klappt nun alles wie es soll!

Wenn man noch die folgende Zeile in die Config mit reinnimmt, dann kann man die Timeout Dauer bestimmen: server-poll-timeout 5 (also in dem Fall 5 Sekunden). Ich denke mal, auch nur 2-3 Sekunden sollten reichen, da bei mir die Verbindung (was ich jetzt so zu Testzwecken gesehen habe) in weniger als 1 Sekunde aufgebaut wird. So würde dann der Umschwung auf den 443 Port nicht so lange dauern.

Getestet habe ich in meinem Gastnetz und wenn ich dort die UDP1194 gesperrt habe, dann klappte der automatische Verbindungsaufbau über den TCP443 Tunnel.

Soweit bin ich sehr zufrieden, jetzt muss ich nur noch Zeit finden, um das für alle Teilnehmer einzurichten :)


PS. Bzgl. tls-crypt und der möglichen Ursache, warum es bei mir nicht funktionierte: habe mal in einer Rezension zur OpenVPN Connect App gelesen, dass bisher der auth-crypt Support fehlt und tatsächlich finde ich nichts dazu - weder in der Beschreibung, noch irgendwo auf der Webseite. Ich habe es bisher nur auf dem iPhone mit der App probiert, weil der Großteil der Clients eben nur die mobilen Geräte sind.

Offline viragomann

  • Hero Member
  • *****
  • Posts: 2556
  • Karma: +269/-1
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #7 on: October 22, 2017, 11:34:46 am »
Wenn der UDP Port 1194 unerreichbar ist, weil geblockt, erfolgt automatisch der Umschwung in die nächste Zeile und es wird der TCP Port 443 probiert.
Ja, habe ich auch schon mal gelesen, dass das möglich ist, bislang aber noch nicht benötigt. Für mein Heimnetzwerk-Projekt allerdings, das in naher Zukunft ansteht, kann ich das aber ganz gut gebrauchen. Muss ich mir gleich vormerken. Danke dafür!  :)

 
Ne, mir geht es nicht um das von außen erreichbar machen, sondern innerhalb des Heimnetzes. Ich dachte da an so etwas wie einen SRV Record bei den Domains. Ist jetzt aber nichts Weltbewegendes, sondern eher Feintunig. Ich werde noch recherchieren, wenn ich Zeit und Lust dafür habe, ansonsten frage ich hier nochmal nach.
Verstehe ich nicht. Im Heimnetz hast du die Services wohl auf unterschiedlichen IP-Adressen laufen, da reicht ein normales DNS. SRV-Einträge bringen ohnehin nur was, wenn sie vom Client interpretiert werden können.

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #8 on: October 23, 2017, 09:29:15 am »
Nein, SRV war nur ein Beispiel. Mir geht es halt darum, dass ich mir nicht für jede Heimnetz Anwendung die Ports merken und diese jedes mal eingeben möchte. Ich habe z.B. den Unifi Controller auf der pfSense Box laufen, nun ein neuer Port für das WebGUI, außerdem noch nTop... und das nur bei der Sense. Daneben noch 2 Netzwerkfähige Geräte, wo mehrere Dienste laufen.

Ich habe das jetzt aber folgendermaßen gelöst: Virtuelle IP's angelegt und im Outbound diesen IP's bestimmte Hostnamen zugeordnet. Danach NAT Regeln angelegt, sodass der Aufruf der jeweiligen Virtuellen IP (bzw. des zugehörigen Hostnamen) + Port 443 auf den jeweils festgelegten Port des bestimmten Services leiten soll. Funktioniert soweit recht gut.

Kann man so machen oder? Dürften ja keine Nachteile dadurch entstehen?

Offline viragomann

  • Hero Member
  • *****
  • Posts: 2556
  • Karma: +269/-1
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #9 on: October 23, 2017, 09:57:59 am »
Sehe kein Problem damit.

Ich bleibe aber bei meinen Lesezeichen im Browser zu den diversen IPs und Ports. Verwirrt mich wengier  ;)

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #10 on: October 23, 2017, 10:47:40 am »
Ja gut, Lesezeichen kann man machen, wenn man nur von seinen Geräten auf die Dienste zugreift. Würde mir aber nichts bringen, wenn ich auf einem anderen Gerät meine Lesezeichen nicht zur Verfügung stehen habe ;)

Offline JeGr

  • Moderator
  • Hero Member
  • *****
  • Posts: 3117
  • Karma: +201/-7
  • old man standing
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #11 on: October 24, 2017, 06:11:38 am »
Bzgl. der Dienste mit DNS: Nein das geht nicht. Es gibt m.E. keine Erweiterung im DNS, die irgendeine Weiterleitung spezifiziert wie du sie haben möchtest. DNS weiß auch nichts über Dienste, somit kann man zwar eine Domain per se weiterleiten (CNAME, ALIAS, etc.) aber keine URL Weiterleitung. Es gibt Dienste, die das anbieten, aber Vorsicht: DAS IST KEIN DNS!
Diese Dienste regeln das meist intern so, dass für solch eine Weiterleitung dann ein DNS Alias oder CNAME erstellt wird und auf einen anderen Webservice zeigt, der dann eben die URL Redirection übernimmt. Wie gesagt: DNS kennt keine Dienste, und kann somit auch nicht bspw. Webdienste per Domainname auf andere Ports weiterleiten etc. da das kein Bestandteil von DNS ist. :)

Du kannst zwar TXT Einträge o.ä. definieren, müsstest dir aber selbst irgendwas dazu basteln, was diese Einträge ausliest oder sonstwie verarbeitet :)

Ansonsten war das, was Pippin schrieb (DANKE dafür übrigens @Pippin!) schon korrekt. Mit OpenVPN 2.4 gibt es nun komplette <connection> Sektionen, in denen NICHT nur der Remote Eintrag enthalten sein kann, sondern ein komplettes Verbindungsprofil, das nacheinander abgearbeitet wird, also bspw. eine Verbindung via TCP/443 und mit aktivem Proxy Setting und danach eines mit UDP/1194 ohne alles. Das ist wesentlich flexibler als zwei reine Remote Einträge :) Einfach mal einen Blick in die verlinkte Manpage werfen, da wird das sehr schön gezeigt
(Auch an @viragomann weil er das ja ggf. demnächst auch braucht :))

Gruß
Don't forget to [applaud] those offering their time and brainpower to help you!

If you're interested in paid support, I'm available via PM for details of German pfSense support either for corporate or personal cases.

Offline viragomann

  • Hero Member
  • *****
  • Posts: 2556
  • Karma: +269/-1
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #12 on: October 24, 2017, 06:21:43 am »
Hallo!

@JeGr
Danke für den Hinweis, passt aber nicht in diesem Thread. Hier ist DNS vor deinem Post nur ein einziges mal erwähnt worden und zwar in diesem Satz von mir:
Im Heimnetz hast du die Services wohl auf unterschiedlichen IP-Adressen laufen, da reicht ein normales DNS.
Diesen hast du offenbar nicht ordentlich gelesen. Hier war die Rede von unterschiedlichen IP, die man über DNS differenzieren könnte.
 ???

Grüße

Offline un1que

  • Full Member
  • ***
  • Posts: 128
  • Karma: +3/-0
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #13 on: October 24, 2017, 04:58:49 pm »
Mit OpenVPN 2.4 gibt es nun komplette <connection> Sektionen, in denen NICHT nur der Remote Eintrag enthalten sein kann, sondern ein komplettes Verbindungsprofil, das nacheinander abgearbeitet wird, also bspw. eine Verbindung via TCP/443 und mit aktivem Proxy Setting und danach eines mit UDP/1194 ohne alles.
Jetzt mal eine Frage, weil ich das bisher nie verstanden habe: wozu genau sollte man sich über einen Proxy zum OpenVPN Server verbinden bzw. was bezweckt man dadurch?

Offline JeGr

  • Moderator
  • Hero Member
  • *****
  • Posts: 3117
  • Karma: +201/-7
  • old man standing
    • View Profile
Re: OpenVPN Blockierung aus Hotspots umgehen
« Reply #14 on: October 27, 2017, 08:41:54 am »
> Jetzt mal eine Frage, weil ich das bisher nie verstanden habe: wozu genau sollte man sich über einen Proxy zum OpenVPN Server verbinden bzw. was bezweckt man dadurch?

Weil man sich in einem Netz befindet was einen Proxy voraussetzt? Weil man einen Proxy zum Verbindungsaufbau benötigt? Gründe gibts genug :)

@viragomann
> Danke für den Hinweis, passt aber nicht in diesem Thread. Hier ist DNS vor deinem Post nur ein einziges mal erwähnt worden und zwar in diesem Satz von mir:

Dann hast aber du nicht gelesen, was @un1que gefragt/geschrieben hat. Das war hier eindeutig:

> Ich dachte da an so etwas wie einen SRV Record bei den Domains. Ist jetzt aber nichts Weltbewegendes, sondern eher Feintunig. Ich werde noch recherchieren, wenn ich Zeit und Lust dafür habe, ansonsten frage ich hier nochmal nach.

Da geht es genau um DNS und darauf hab ich geantwortet.
Don't forget to [applaud] those offering their time and brainpower to help you!

If you're interested in paid support, I'm available via PM for details of German pfSense support either for corporate or personal cases.