henessy
Goto Top

HTTPS für Nextcloud hinter SSH Tunnel

Hallo zusammen,

erstmal ein Hallo an Alle! Bin ganz neu hier - das ist also mein erster Beitrag!
Ich bin angehender Fachinformatiker für Systemintegration im 2. Lehrjahr. Also habt bitte etwas Nachsicht mit mir face-big-smile

Nun zu meiner Frage:

Mein aktueller Stand:

Ich habe bei mir Zuhause einen Server auf dem Nextcloud installiert ist. Nextcloud wurde aktuell per Snap auf Ubuntu 18.04LTS installiert. Zusätzlich habe ich einen vServer bei Netcup, auf den eine ebenfalls bei Netcup gemietete Domain zeigt. Nun öffne ich von meiner lokalen Nextcloud aus einen SSH Tunnel auf den Netcup Server bei dem ich den Port 80 des Apaches auf den Port 8080 des Netcup vServer "exportiere". Das funktioniert auch ohne Probleme!

Nun zu meinem Problem:

Natürlich möchte ich auch die Übertragung von Enduser zu dem Netcup vServer verschlüsseln und habe somit mit dem letsencrypt certbot ein Zertifikat für die Domain auf dem Netcup Server generiert.
Auch das funktionert soweit ohne Probleme wenn ich direkt auf den Netcup Server zugreifen möchte.
Wenn ich jetzt aber den SSH Tunnel aufbaue habe ich das Problem dass ich folgende Fehlermeldung erhalte wenn ich auf Port :8080 zugreifen möchte erhalte ich diese Fehlermeldung:

ERR_SSL_PROTOCOL_ERROR

Des Weiteren kann ich den Port nicht direkt auf Port :443 oder :80 mappen, da erhalte ich folgende Fehlermeldung in der Shell:

Warning: remote port forwarding failed for listen port 80

Hat hier jemand eine Idee / Lösung parat? Bin langsam am Ende meines Lateins angekommen...

Content-Key: 503087

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

Printed on: April 24, 2024 at 17:04 o'clock

Mitglied: 141358
141358 Oct 10, 2019 updated at 15:18:42 (UTC)
Goto Top
Hallo,

verstehe ich dich richtig?
Du hast eine lokale Nextcloud Instanz und einen zusätzlichen Server bei Netcup. Über diesen willst du die Nextcloud Instanz veröffentlichen?

Dann richte eine VPN Verbindung ein und richte einen Reverse Proxy auf den Netcup Server ein.
Aber der ganze unnötige Aufwand (und Kosten) würde ich für private Zwecke niemals machen wollen.
Da reicht ein Server vollkommen aus...

VG
Member: henessy
henessy Oct 10, 2019 at 16:23:12 (UTC)
Goto Top
Hi!

Genau. Der Netcup Server steht im Netz - der Cloud Server ist nicht direkt erreichbar. Einen VPN Tunnel mit Reverse Proxy wollte ich mir eben sparen, außerdem denke ich dass es auch so möglich sein sollte..
Ich habe auch nicht aus Performancegründen 2 Server, sondern damit ich keinen Port nach außen aufmachen muss.
Mitglied: 141358
141358 Oct 10, 2019 updated at 16:59:47 (UTC)
Goto Top
Der Netcup Server steht im Netz - der Cloud Server ist nicht direkt erreichbar

Klar ist der direkt erreichbar mit deinem Konstrukt. Dein SSH Tunnel macht ja Port Forwarding. Ob das nun über den Netcup Server geschieht oder über dein lokalen Router ist dabei egal. Wenn der nicht direkt erreichbar sein soll, dann brauchst du einen Reverse Proxy. Ergo ist der Netcup Server unnötig.

Wenn dann mach es bitte richtig und lass den Quatsch mit Port Forwarding. Damit bohrst du dir nur ein Loch in dein Heimnetz.
Bau einen VPN zwischen dein Heimnetz und den Netcup Server auf und betreibe einen Reverse Proxy auf den Netcup.

Ich hoffe du weißt, welche rechtliche Verantwortung du als Server Betreiber hast und dass du ggf. auch haftbar bist. Falls nicht, dann würde ich mir gut überlegen, ob dein aktueller Wissenstand für den Betrieb von Servern aussreicht.

Edit:
Sicherheitstechnisch ist es am besten, wenn du den Netcup Server komplett streichst und einfach einen Remote-Access VPN einrichtest und darüber auf Nextcloud zugreifst. Günstiger ist es auch noch und erfordert weniger Aufwand, so wie ich es bereits oben geschrieben habe. face-wink
Member: henessy
henessy Oct 10, 2019 at 19:03:40 (UTC)
Goto Top
Danke für deinen Beitrag, aber geholfen hat mir das leider nicht. Ich gebe dir Recht, ein VPN wäre eine sauberere Lösung. Allerdings sehe ich hierbei keine Sicherheits Bedenken. Wo bohre ich mir denn mit einem SSH Tunnel ein Loch ins Heimnetz? Ich habe ja eben kein Port forwarding betrieben!
Außerdem sollen auch externe User darauf zugreifen können. Ich bin mir durchaus bewusst was ich da mache, ein VPN ist jedoch leider für jeden User nicht realisierbar und praxisnah.
Es funktioniert ja auch alles - ich möchte nur wissen wie ich den HTTPS Zugriff durch den SSH Tunnel leite face-wink
Mitglied: 141358
141358 Oct 10, 2019 updated at 19:38:02 (UTC)
Goto Top
Wo bohre ich mir denn mit einem SSH Tunnel ein Loch ins Heimnetz? Ich habe ja eben kein Port forwarding betrieben!

Dann überleg noch mal ganz genau nach. face-wink

Ich habe ja eben kein Port forwarding betrieben!

Dann solltest du dir dringend noch mal anschauen, wie ein SSH Tunnel wohl funktioniert....

Des Weiteren kann ich den Port nicht direkt auf Port :443 oder :80 mappen, da erhalte ich folgende Fehlermeldung in der Shell:
Warning: remote port forwarding failed for listen port 80

Weil vermutlich auf der VM bereits der Port von einem Dienst, vermutlich von einem Webserver, benutzt wird....

ERR_SSL_PROTOCOL_ERROR

DNS Mismatch.

Achja noch zum Schluss einen weiterer Grund gegen einen SSH Tunnel: das SSH Protokoll eigent sich aufgrund des Verschlüsselungsverfahren nicht für größere Datenübertragungen, wie es bei dir bei Nextcloud der Fall ist. Insbesondere, wenn innerhalb des SSH Tunnels nochmals mit SSL verschlüsselte Pakete übertragen werden. Aber das wirst du schnell selber merken, wenn du das so wirklich umsetzen willst.
Member: henessy
henessy Oct 10, 2019 at 19:48:05 (UTC)
Goto Top
Also für mich ist ein Tunnel kein Loch...Im Router bleibt alles geschlossen. Ich habe Port forwarding per SSH betrieben. Nicht mittels dem Router.
Die Standard Ports habe ich selbstverständlich geändert um das Problem zu vermeiden, hat allerdings nichts geholfen.
Was genau ist denn DNS Mismatch? Könntest du mir das näher erläutern?
Mit der Übertragung von größeren Dateien hast du Recht. Es wird allerdings kein immenser Traffic auf der Cloud liegen.
Mitglied: 141358
141358 Oct 10, 2019 updated at 20:51:28 (UTC)
Goto Top
Nachdem ich nun mehrmals deinen Ausgangspost erneut durchgelesen habe, wird mir schon einiges klarer. Oh man.

Die Standard Ports habe ich selbstverständlich geändert um das Problem zu vermeiden, hat allerdings nichts geholfen.

Certbot braucht Port 80. Deshalb kannst du diesen nicht für Port Forwarding nutzen....
Das kannst du auch mit netstat prüfen.

Was genau ist denn DNS Mismatch? Könntest du mir das näher erläutern?

Du hast ein Zertifikat mit Certbot auf den Netcup Server erstellt. Vermutlich hast du das Zertifikat nicht auf den Nextcloud Server eingespielt. Deshalb stimmt der Hostname nicht mit dem Zertifikat überein.

Sorry aber ich kann es nur nochmal wiederholen: du scheinst aktuell noch nicht das notwendige Know How zu besitzen. Lese dich mal in Reverse Proxy ein. Das ist die eigentliche Lösung zu deinem Problem...
Member: henessy
henessy Oct 11, 2019 at 12:24:34 (UTC)
Goto Top
Habs jetzt hinbekommen face-big-smile falls du an der Lösung interessiert bist sag bescheid face-wink