Nextcloud für die WG ans Internet bringen

Aerobraking

Ensign
🎅Rätsel-Elite ’24
Registriert
Jan. 2009
Beiträge
238
Hallo zusammen,

ich möchte Nextcloud auf meiner Synology NAS hosten, um es lokal und auch übers Internet meiner WG zur Verfügung zu stellen. Neben dem Datei Hosting wollen wir auch Nextcloud Talk und weitere Apps nutzen.

Das ganze soll natürlich möglichst sicher sein, daher würde ich hier gerne in der Runde fragen was ich noch besser machen könnte. Meine BewohnerInnen haben teilweise keinerlei technische Erfahrung, daher möchte ich komplexere Dinge wie VPN denen eigentlich nicht zumutzen.

Mein aktuellen Setup ist:
  • Nextcloud (All in One Image) per Docker auf der Synology DS 725+ NAS. Alles per entsprechend aktuelle Software Versionen
  • Zugang per HTTPS (SSL Zertifikat hab ich auf der NAS) über DDNS, welches per IPV4 über all-inkl mit meiner Fritzbox verbunden ist. Dafür sind folgende Ports in der Fritzbox geöffnet:
  • 1772550734545.png
  • Die NAS gibt per Reverse Proxy den Zugang zur Nextcloud frei.
    1772550193137.png
  • Zwei-Faktor-Authentifizierung ist für die NAS und Nextcloud aktiviert.
  • Mehrmals pro Woche läuft nachts eine zweite NAS, die ein komplettes Backup der NAS erstellt.
  • scan.nextcloud.com ergibt:
  • 1772550246331.png
  • Gibt es noch weitere Dinge, die ich in der Fritzbox Firewall oder der Synology Firewall einstellen könnte/sollte? In letzterer ist bisher nichts definiert:
  • 1772550283330.png
Hat jemand Ideen was ich sonst noch machen könnte/sollte? 🙂

Grüße
Aero
 
Normalerweise ist ne VPN Lösung best Practice und ist aus Anwendersicht recht einfach zu aktivieren.
In der Regel wird immer abgeraten solche Systeme direkt frei erreichbar ins Internet zu stellen.

P.s: Die FRITZ!Box sollte out of the box ggf sogar ne ausreichende VPN Lösung verfügen.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Krik, SR388, h2f und 5 andere
VPN ist eine feine Sache wenn eine gesicherte Übertragung nicht bereits von der Applikation sichergestellt wird.

Nextcloud läuft via HTTPS also ist mit SSL verschlüsselt.

Nun, du kannst einen (richtigen) Reverse-Proxy Server vor den Nextcloud Server platzieren und dann auch eine vorgängiges, zusätzliches Login hinzufügen.

Vorteil: an den Honig kommt nur, wer sich vor dem Nginx Server authentisiert und autorisiert hat. Sollte Nextcloud selber noch Lücken haben, so kommt man erst garnicht dort hin. Der nginx Server selber ist extrem sicher und bietet richtig konfiguriert i.d.R keine Angriffsfläche.

Es hält dich auch Schnüffler fern. Wer einen Nextcloud Server von aussen erkennt interessiert sich per default schon mehr für dich.

Nachteil: zusätzliche Komplexität. Nextcloud ist dazu gedacht direkt ans Internet geflanscht zu werden.

Und dann eine Zertifikats-basierte Authentisierung:
https://github.com/Orange-Cyberdefense/reverse-proxy-auth
-> So kommen nur Benutzer durch den Reverse Proxy die ein gültiges Zertifikat installiert haben
 
Zuletzt bearbeitet:
Ja, genau. bzw. das im LAN stehende System darf nicht das gleiche wie das im Internet sein.

Lösung wäre z.B. eine echte DMZ oder eine billig Lösung und es wird immer, egal ob im LAN oder unterwegs auf die öffentliche URL darauf zugegriffen. Sonst ist das Teil gehackt und das LAN gleich mit.

Ferner rate ich dringend zu containern. Also das als Container Umgebung aufzusetzen, gibt es als einzel Container von Linuxserver.io oder als komplette Version von NC selbst. Die Container sind wesentlich besser gepflegt als DSM. Gibt zig Anleitungen zum Containern. Erleichtert auch das Umziehen auf andere System, Hosts oder sonst wohin.
 
  • Gefällt mir
Reaktionen: Aerobraking und Gohst
ggf noch einen Cloudflare Tunnel?
 
  • Gefällt mir
Reaktionen: Aerobraking
Wireguard VPN ist nicht kompliziert und nativ in der Fritzbox integriert, bei Android sogar über eine Schnelltaste zu aktivieren.

Oder Frontend über Hetzner Loadbalancer absichern DDoS etc.
 
  • Gefällt mir
Reaktionen: Aerobraking und JumpingCat
Ich würde mir an deiner Stelle mal Tailscale + Caddy anschauen. Das baut dir ein simpelst zu nutzendes VPN auf und kümmert sich um die HTTPS Auflösung.
Keine Portfreigaben, keine Gedanken um Firewall etc.
 
  • Gefällt mir
Reaktionen: Aerobraking und derchris
Da würde ich ein günstiges VPS für ~1€ pro Monat mieten und das ganze via Pangolin tunneln. So braucht es auch keine offenen Ports am Router zuhause.

Aerobraking schrieb:
Meine BewohnerInnen haben teilweise keinerlei technische Erfahrung, daher möchte ich komplexere Dinge wie VPN denen eigentlich nicht zumutzen.

Dann machst du das ganze entweder public oder deine Bewohnerinnen installieren sich den Pangolin Client auf ihren Geräten und melden sich da mit ihren Zugangsdaten an. So bleibt die Nextcloud völlig privat.
 
  • Gefällt mir
Reaktionen: Aerobraking und cbtaste420
CoMo schrieb:
Dann machst du das ganze entweder public
Du meinst was ich aktuell mache?

Wenn ich sowas wie wireguard, Cloudflare, Tailscale + Caddy oder Pangolin nutze, dann läuft das einfach dauerhaft im Hintergrund auf unseren Smartphone und Computern, kann das irgendwelche Probleme bereiten? Z.B. wenn man ein uni WLAN benutzt oder so.

Und was sind die Unterschiede zwischen diesen ganzen Diensten? 😅
 
Aerobraking schrieb:
Du meinst was ich aktuell mache?

Ja.

Pangolin ist Reverse Proxy + Tunneled Reverse Proxy. Tunneled Reverse Proxy ist das, was auch Cloudfalre Tunnels macht, nur eben selbst gehosted.

Pangolin installierst du auf einem System, das immer online und erreichbar auf Port 80 + 443 ist. Z.B. ein günstiges VPS.

Deine Nextcloud läuft einfach nur bei dir zuhause. Plain, ohne SSL. Du machst keine Ports auf.

In deinem Netzwerk zuhause läuft irgendwo der Pangolin Newt Client, der baut einen Wireguard Tunnel zum Pangolin auf dem VPS auf. Dadurch kann Pangolin alles in deinem Netzwerk erreichen.

Da konfigurierst du jetzt den Reverse Proxy, der quasi rückwärts durch den Wireguard-Tunnel auf deine Nextcloud zeigt.

Entweder als Public Resource -> Jeder kann sich über den Hostnamen mit dem Pangolin (auf dem VPS) verbinden und landet auf deiner Nextcloud zuhause.

Oder als Private Resource -> Deine Bewohnerinnen installieren den Pangolin Client auf ihren Geräten und loggen sich mit ihren Pangolin-Zugangsdaten einmalig ein. Dann bleibt die Nextcloud privat und ist nicht aus dem Internet erreichbar.

Aerobraking schrieb:
kann das irgendwelche Probleme bereiten? Z.B. wenn man ein uni WLAN benutzt oder so.

Wenn das Uni WLAN VPN-Verbindungen blockiert, funktioniert das mit dem Pangolin Client natürlich nicht. Als Public Resource klappt es aber von überall.
 
  • Gefällt mir
Reaktionen: Aerobraking und end0fseven
CoMo schrieb:
Entweder als Public Resource -> Jeder kann sich über den Hostnamen mit dem Pangolin (auf dem VPS) verbinden und landet auf deiner Nextcloud zuhause.
Das wäre dann im Prinzip nur eine andere Methode die Verbindung aufzubauen als mein aktueller DynDNS, sicherer wäre das nicht oder?

Also aktuell erscheinen mir die Möglichkeiten so:

1. Wireguard
minimaler Setup Aufwand dank Fritzbox, Wireguard auf jedem Client installieren. Ich habe nur noch nicht verstanden wie es genau funktioniert. Ich greifen nach wie vor über xx.xxx.de auf die Nextcloud zu, die fritzbox hat aber keine Ports mehr auf, sondern im Hintergrund ist die Verbindung über wireguard schon offen und das merkt die fritzbox wenn die Anfrage über den DynDNS kommt?

2. Tailscale + Caddy
Mehr Aufwand beim Aufsetzen, dafür beim Benutzen einfacher, da man sich nur in der App anmelden muss.

3. Pangolin
Ebenfalls mehr Aufwand (ggf. auch Kosten) beim Aufsetzen, ich muss ebenfalls immer einen Client installieren.

Jetzt mal abgesehen von den Details in Sachen Sicherheit, Wireguard per Fritzbox erscheint mir am einfachsten, das muss ich nur einmal einrichten und dann kann es in der Regel dauerhaft laufen auf jedem Gerät. Was sind die "praktischen" Vorteile der anderen beiden Methoden? Bei Pangolin wäre es noch, dass ich Zugriff auf das ganze Netzwerk habe, sonst noch was?

(Ich bin was VPN und so weiter angeht wirklich Anfänger)
 
Aerobraking schrieb:
Das wäre dann im Prinzip nur eine andere Methode die Verbindung aufzubauen als mein aktueller DynDNS, sicherer wäre das nicht oder?

Nein. DynDNS nutzt du, damit man deine IP-Adresse via Hostnamen erreichen kann. Der DynDNS-Name zeigt auf deine IP-Adresse. Das ist der Sinn dahinter. Du musst auf deinem Router eine Portweiterleitung einrichten. Jeder sieht, dass bei dir ein Port geöffnet ist.

Mit Pangolin als Tunneled Reverse Proxy braucht und sieht nie irgendjemand die IP-Adresse deines Anschlusses. Alle Verbinden sich zur IP-Adresse deines VPS. Dein Heim-Anschluss ist unsichtbar.

Aerobraking schrieb:
Ebenfalls mehr Aufwand (ggf. auch Kosten) beim Aufsetzen, ich muss ebenfalls immer einen Client installieren.

Nein. Public Services sind öffentlich. Das ist nicht anders als jetzt mit deiner Portweiterleitung. Und natürlich braucht man einen Client. Du brauchst für dieses Forum doch auch einen Client. Deinen Webbrowser. Wie sollen deine Bewohnerinnen deine Nextcloud denn nutzen ohne Browser oder Nextcloud-Client? Via Kommandozeile?
 
@CoMo:

Sorry, ich glaube ich drücke mich schlecht aus bzw. habe es noch nicht ganz verstanden.

Public Service wäre also:

ich verbinde mich mit xx.xxx.de. Das leitet mich auf den VPS (also dessen IP) weiter. Dort läuft Pangolin, was die Anfrage dann per Wireguard an die Nextcloud weiterleitet.

Meine Frage dazu: Die öffentliche IP Adresse meines Internetanschlusses ist damit nicht unsichtbar, das verstehe ich. Trotzdem kann sich doch jeder (fremde) per xxx.xxx.de mit der Nextcloud verbinden und diese potentiell hacken. Dieses Risiko ist unverändert oder? Nur das Risiko das jemand meine fritzbox per öffentlicher IP angreift beseitigt?

Das würde sich, so wie ich es verstehe, erst ändern wenn ich es als Private Resource nutze und ich mich per Pangolin Client an Rechner/Smarthpone anmelde damit die Weiterleitung zur Nextcloud möglich wird.
 
Aerobraking schrieb:
Trotzdem kann sich doch jeder (fremde) per xxx.xxx.de mit der Nextcloud verbinden und diese potentiell hacken. Dieses Risiko ist unverändert oder? Nur das Risiko das jemand meine fritzbox per öffentlicher IP angreift beseitigt?

Korrekt. Netzwerksicherheit und Anwendungssicherheit sind zwei paar Schuhe. Pangolin bietet Netzwerksicherheit. Du kannst dort Regeln definieren, wer überhaupt zugreifen darf. Auf einige meiner Dienste dürfen nur IP-Adressen aus Deutschland zugreifen, weil ich z.B. auf meinem Jellyfin keine User außerhalb Deutschlands habe. Also Geoblocking. Deine Fritzbox kann sowas nicht.

Theoretisch kannst du auch noch eine zusätzliche Authentifizierung vor deine Dienste hängen. Mit User / Passwort, PIN, HTTP Header etc. Macht im Fallle der Nextcloud aber wenig Sinn, denn dann würde der Zugriff über die Nextcloud Apps nicht funktionieren.

Siehe auch https://docs.pangolin.net/about/pangolin-vs-reverse-proxy-vs-vpn

Aerobraking schrieb:
Das würde sich, so wie ich es verstehe, erst ändern wenn ich es als Private Resource nutze und ich mich per Pangolin Client an Rechner/Smarthpone anmelde damit die Weiterleitung zur Nextcloud möglich wird.

Ebenfalls korrekt. Willst du die Anwendung komplett dicht machen, kannst du sie als Private Resource anlegen, dann können nur User via Pangolin zugreifen. Die Geräte deiner User müssen dann einmalig angelegt werden und können jederzeit widerrufen / gesperrt werden.

Natürlich kannst du den Pangolin auch zuhause installieren und einfach als normalen Reverse Proxy nutzen. Aber den hast du ja schon, wenn auch mit weniger Features.
 
  • Gefällt mir
Reaktionen: Aerobraking
CoMo schrieb:
Netzwerksicherheit und Anwendungssicherheit sind zwei paar Schuhe
So habe ich das noch gar nicht betrachtet, guter Hinweis.

Dann werde ich Pangolin ausprobieren! Wollte mir eh mal einen Server mieten um damit Dinge auszuprobierten. Das hier sollte ausreichend sein:
https://www.netcup.com/de/server/vps/vps-nano-g11s-6m-nue

Cloudflare Tunnel hat Upload Limits die mit Nextcloud bie unser unpraktisch sind.
Tailscale braucht zwingend eine App, daher will ich das erstmal ohne ausprobieren, bzw. sonst gucken wie gut es mit Pangolin als Private Resource funktioniert. Und ich bin mir nicht ganz sicher ob wir Tailscale als einzelnen User nutzen können, dann wäre es umsonst, aber ich denke mal schon.


Dann muss ich jetzt herausfinden:

1. Wie leite ich meine Subdomain von all-inkl um, so dass sie auf den Netcup Server verweist.
2. Wie konfiguriere ich alles auf dem Server, damit er als Public Resource auf meine NAS weiterleitet.
3. Entsprechend Pangolin auf meiner NAS konfigurieren.
 
Zuletzt bearbeitet:
Aerobraking schrieb:
1. Wie leite ich meine Subdomain von all-inkl um, so dass sie auf den Netcup Server verweist.

Du legst eine Wildcard Domain an, die auf den Pangolin zeigt. Steht alles hier https://docs.pangolin.net/self-host/dns-and-networking

Aerobraking schrieb:
2. Wie konfiguriere ich alles auf dem Server, damit er als Public Resource auf meine NAS weiterleitet.

Newt läuft als Client in deinem Netzwerk. Dein Heimnetzwerk ist in Pangolin eine Site

https://docs.pangolin.net/manage/sites/understanding-sites

Aerobraking schrieb:
3. Entsprechend Pangolin auf meiner NAS konfigurieren.

Nur den Newt Client. Der kümmert sich auch ums Routing. Gibt es auch als Docker Container https://hub.docker.com/r/fosrl/newt. Wichtig wäre dann wohl, dass der Container mit dem host Netzwerk verbunden ist, sonst kann es nicht funktionieren.
 
  • Gefällt mir
Reaktionen: Aerobraking
Ich würde gar nichts von dem ganzen Krams machen, der hier empfohlen wurde.

Wenn man eine hosted nextcloud irgendwo bucht, gibt's den ganzen zusätzliches Firlefanz auch nicht.

Nextcloud ist designed um im Netz frei erreichbar zu sein. Da muss man nix mehr drum rum runneln.
Einfach regelmäßig updaten oder Auto -update einschalten, auch beim Reverse Proxy drauf achten dass der nicht veraltet und fertig.

Innerhalb von Nextcloud solltest du für alle User 2FA erzwingen, damit die anderen User beim Passwort Recycling keine Löcher in die gute Sicherheit von Nextcloud reißen können.
 
Zurück
Oben