OPNsense Forum

International Forums => German - Deutsch => Topic started by: W0nderW0lf on September 27, 2021, 08:16:21 pm

Title: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: W0nderW0lf on September 27, 2021, 08:16:21 pm
Moin moin,
Ich versuche momentan herauszufinden was die sicherste Methode wäre, um auf meine Daten (unkompliziert) zuzugreifen.

Ich habe einen kleinen Nextcloudpi bei mir stehen und möchte gerne auch plex von außerhalb erreichbar machen. Derzeit habe ich  Wireguard konfiguriert, aber Frau und Kind haben 2 linke Hände was Technik betrifft, darum die Frage, was wäre die sicherste Methode um idiotensicher über eine einfache URL auf seine Cloud zuzugreifen? Geht auch darum das wir z.B. auch Bilder von unterwegs aus übers Handy in die Cloud syncen wollen, oder Musik streamen. Oder z.B. auch mal für den Notfall, falls die Brieftasche im Ausland verloren geht.

Ich habe diverse doku's gefunden und mir auch mal die OPNsense Doku angesehen und bin unschlüssig was denn nun besser geeignet wäre.
Eine DMZ ist ja im prinzip wie es der Name schon sagt, demilitarisiert und hat nur den Vorteil das interne Netz vor schnüfflern zu schützen. Der Webserver in der DMZ ist aber nur so gut geschützt wie seine config es zulässt. Sprich Fail2ban.. SELinux, Apache config etc. Gleiches gilt auch für den Proxy, aber dafür brauche ich keinen extra Router.
NGINX und HAProxy sind laut Aussagen beides gute Möglichkeiten, sind aber auch kein Allheilmittel. Außerdem ist die Konfiguration alles andere als Simpel.

Was sind denn eure Empfehlungen und Erfahrungen?
2FA + NGINX + Firewall rules für mein "Server" Subnetz.
Für eine DMZ bräuchte ich eine extra Kiste. Außerdem habe ich da mehr bedenken um die Sicherheit meiner persönlichen Daten.
Worauf müsste ich bei der Proxy config achten, bzw. was welches Produkt wäre besser geeignet? > NGINX/HAProxy
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: fabian on September 28, 2021, 12:30:50 am


NGINX und HAProxy sind laut Aussagen beides gute Möglichkeiten, sind aber auch kein Allheilmittel. Außerdem ist die Konfiguration alles andere als Simpel.
Beide sind einfach und brauchen keine 10 Minuten wenn du keinen Let's Encrypt support brauchst. Ansonsten sollte es in ner Stunde erledigt sein.

Was sind denn eure Empfehlungen und Erfahrungen?
2FA + NGINX + Firewall rules für mein "Server" Subnetz.
Wenn du hier 2Fa von OPNsense meinst: Das kannst du zwar mit dem nginx plugin nutzen aber ich würde dir aufgrund der kurzen Passwortgültigkeitsdauer davon abraten. 2Fa auf der nextcloud wäre ziemlich sicher OK.

Für eine DMZ bräuchte ich eine extra Kiste. Außerdem habe ich da mehr bedenken um die Sicherheit meiner persönlichen Daten.
Patches einspielen sollte in der Regel reichen.
Den PI als DMZ Host anschließen?

Worauf müsste ich bei der Proxy config achten, bzw. was welches Produkt wäre besser geeignet? > NGINX/HAProxy
HAProxy ist eher was für den Load Balancer Einsatz. Nginx würde ich nehmen, wenn ich tiefer eingreifen will. Zum Beispiel hast du dort ne WAF.

Ich würde ja da auf die Security Header Hinweise in der Admin-Seite von nextcloud verweisen.
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: W0nderW0lf on September 28, 2021, 09:39:41 am
Danke erstmal für dein Feedback!

Beide sind einfach und brauchen keine 10 Minuten wenn du keinen Let's Encrypt support brauchst. Ansonsten sollte es in ner Stunde erledigt sein.
In der tat brauche ich Lets Encrypt, aber ich habe gestern erfolgreich Zertifikate für meine Domain bezogen. Habe eben auch festgestellt, dass ACME nur HAProxy integration anbietet. Da die Frage, was müsste ich bei NGINX beachten? Ich habe bei den TLS settings die Letsencrypt Zertifikate auch auswählen können. Reicht das?

Wenn du hier 2Fa von OPNsense meinst: Das kannst du zwar mit dem nginx plugin nutzen aber ich würde dir aufgrund der kurzen Passwortgültigkeitsdauer davon abraten. 2Fa auf der nextcloud wäre ziemlich sicher OK.
Das ist ein guter Hinweis, danke dafür!

Patches einspielen sollte in der Regel reichen.
Den PI als DMZ Host anschließen?
Soll ich also den Host als alleinigen DMZ Host im internen LAN deklarieren? Wie geht das und bringt mir das zusätzlichen Schutz? ^^

HAProxy ist eher was für den Load Balancer Einsatz. Nginx würde ich nehmen, wenn ich tiefer eingreifen will. Zum Beispiel hast du dort ne WAF.

Ich würde ja da auf die Security Header Hinweise in der Admin-Seite von nextcloud verweisen.
Das WAF Feature ist mir bei den Settings auch aufgefallen und ist definitiv ein geiles feature. Bei den Security Headern bin ich mir aber unschlüssig ob ich das nur auf dem Reverse Proxy machen sollte, oder sowohl als auch auf dem Webserver.

Hier auch noch eine Frage zu Zertifikaten. Ich habe intern ein selbstsigniertes Zertifikat. Aussteller ist meine interne OPNsense CA. Was wäre denn hier sinnvoller? Soll ich das interne Zertifikat auf dem Pi lassen, oder auf dem Pi selber auch Lets encrypt einrichten? Wenn ich das interne Zertifikat darauf belassen würde, würde ich dann eine Zertifikatswarnung bekomme, wenn ich von extern kommen würde?

Und noch eine Frage bzgl. IP ACL. Kann man in NGINX auch URL's angeben die Listen angeben? quasi so: https://www.cloudflare.com/ips-v4
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: fabian on September 28, 2021, 11:48:33 am

In der tat brauche ich Lets Encrypt, aber ich habe gestern erfolgreich Zertifikate für meine Domain bezogen. Habe eben auch festgestellt, dass ACME nur HAProxy integration anbietet. Da die Frage, was müsste ich bei NGINX beachten? Ich habe bei den TLS settings die Letsencrypt Zertifikate auch auswählen können. Reicht das?
Im nginx plugin gibt es einfach ne Checkbox für die integration vom LE plugin. Das was das LE ACME plugin mit dem HAProxy kann ist den Server selber konfigurieren. Das klappt aber mit dem nginx plugin out of the box, wenn beide installiert sind, LE integration an ist und der nginx neu durchgestartet wurde.
Soll ich also den Host als alleinigen DMZ Host im internen LAN deklarieren? Wie geht das und bringt mir das zusätzlichen Schutz? ^^
Nicht ins LAN. Wenn möglich in ein eigenes Segment (vlan oder physikalische Schnittstelle)

Das WAF Feature ist mir bei den Settings auch aufgefallen und ist definitiv ein geiles feature. Bei den Security Headern bin ich mir aber unschlüssig ob ich das nur auf dem Reverse Proxy machen sollte, oder sowohl als auch auf dem Webserver.
Wenn möglich, dann am Webserver. Die Header injection im Plugin ist eher zum Nachrüsten. Je näher das an der Applikation passiert, umso präziser passt das auch dazu.

Hier auch noch eine Frage zu Zertifikaten. Ich habe intern ein selbstsigniertes Zertifikat. Aussteller ist meine interne OPNsense CA. Was wäre denn hier sinnvoller? Soll ich das interne Zertifikat auf dem Pi lassen, oder auf dem Pi selber auch Lets encrypt einrichten? Wenn ich das interne Zertifikat darauf belassen würde, würde ich dann eine Zertifikatswarnung bekomme, wenn ich von extern kommen würde?
Direkt am PI kannst du ein self signed lassen. Deinem LAN solltest du ja trauen können. Eine andere Frage ist, ob du intern überhaupt HTTPS brauchst. Wenn du über den LB gehst, macht der ja das HTTPS. Das ist dann aber Geschmackssache und vom internen Netzwerk abhängig.

Und noch eine Frage bzgl. IP ACL. Kann man in NGINX auch URL's angeben die Listen angeben? quasi so: https://www.cloudflare.com/ips-v4
Soweit ich weiß nein.
Wenn du hinter CF laufen willst, solltest du das aber eh über die Firewall regeln. Dort geht das mit den Alias. Nginx hat den real IP source Header für CF direkt zur Auswahl, falls du das haben möchtest - dann musst du die IP-Adressen dort auch noch angeben.
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: micneu on September 28, 2021, 08:02:03 pm
Moin moin,
Ich versuche momentan herauszufinden was die sicherste Methode wäre, um auf meine Daten (unkompliziert) zuzugreifen.

Ich habe einen kleinen Nextcloudpi bei mir stehen und möchte gerne auch plex von außerhalb erreichbar machen. Derzeit habe ich  Wireguard konfiguriert, aber Frau und Kind haben 2 linke Hände was Technik betrifft, darum die Frage, was wäre die sicherste Methode um idiotensicher über eine einfache URL auf seine Cloud zuzugreifen? Geht auch darum das wir z.B. auch Bilder von unterwegs aus übers Handy in die Cloud syncen wollen, oder Musik streamen. Oder z.B. auch mal für den Notfall, falls die Brieftasche im Ausland verloren geht.

Ich habe diverse doku's gefunden und mir auch mal die OPNsense Doku angesehen und bin unschlüssig was denn nun besser geeignet wäre.
Eine DMZ ist ja im prinzip wie es der Name schon sagt, demilitarisiert und hat nur den Vorteil das interne Netz vor schnüfflern zu schützen. Der Webserver in der DMZ ist aber nur so gut geschützt wie seine config es zulässt. Sprich Fail2ban.. SELinux, Apache config etc. Gleiches gilt auch für den Proxy, aber dafür brauche ich keinen extra Router.
NGINX und HAProxy sind laut Aussagen beides gute Möglichkeiten, sind aber auch kein Allheilmittel. Außerdem ist die Konfiguration alles andere als Simpel.

Was sind denn eure Empfehlungen und Erfahrungen?
2FA + NGINX + Firewall rules für mein "Server" Subnetz.
Für eine DMZ bräuchte ich eine extra Kiste. Außerdem habe ich da mehr bedenken um die Sicherheit meiner persönlichen Daten.
Worauf müsste ich bei der Proxy config achten, bzw. was welches Produkt wäre besser geeignet? > NGINX/HAProxy

also, sorry aber in der heutigen zeit und auch in zukunft sind vpn keine technik die man nicht LERNEN kann, um so besser wenn die personen es JETZT bei dir lernen, so bekommen nur leuter die daten zu sehen denen du die konfig gibst. ausser du konfigurierswt was falsch. also deine argumente sind für mich kein grund auf vpn zu verzichten.

alles ander (haproxy oder nginx als revers proxy, kann man machen)
das ist meine persönliche meinung.
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: W0nderW0lf on September 29, 2021, 06:10:50 am
Danke erstmal @fabian für deine Zeit und deine Erläuterungen. Ich gucke mal wie weit ich mit der config komme. :)
Direkt am PI kannst du ein self signed lassen. Deinem LAN solltest du ja trauen können. Eine andere Frage ist, ob du intern überhaupt HTTPS brauchst. Wenn du über den LB gehst, macht der ja das HTTPS. Das ist dann aber Geschmackssache und vom internen Netzwerk abhängig.
Ich war mir nicht bewusst, dass der der auch intern erstmal über den LB geht. Ich dachte der LB bearbeitet Anfragen von extern, nicht beides, außer ich konfiguriere eine Route von intern.

also, sorry aber in der heutigen zeit und auch in zukunft sind vpn keine technik die man nicht LERNEN kann, um so besser wenn die personen es JETZT bei dir lernen, so bekommen nur leuter die daten zu sehen denen du die konfig gibst. ausser du konfigurierswt was falsch. also deine argumente sind für mich kein grund auf vpn zu verzichten.

alles ander (haproxy oder nginx als revers proxy, kann man machen)
das ist meine persönliche meinung.

1. Ich habe niemals gesagt das ich auf VPN verzichten will... aber Wireguard ist alles andere als Simpel und die anderen Lösungen sind einfach zu unperformant. Ich selber werde weiterhin VPN benutzen, weil ich weiß wie das geht. Kannst du dir deine Wireguard credentials merken? Kannst die im Bitwarden hinterlegen. So und was wenn deine Passwortdatenbank @ home hinter der Firewall liegt?
2. Geht es darum auch für das worst case ein szenario zu haben, wie handy geht verloren... keine tokens mehr, keine VPN zugangsdaten im kopf. Man darf da nicht immer von sich auf andere schließen. Es ist genauso wie seiner Oma beizubringen wie man das Internet benutzt. Die wird dich 2x fragen dann lässt sie das in der Ecke liegen. (natürlich sind nicht alle so... aber es ist nicht auszuschließen) Manche sind einfach schwer von begriff was Technik betrifft. Ja in der heutigen Zeit muss man oft mit ihr gehen... allerdings ändert sich alles so rasant, dass manche da einfach kein bock mehr haben. Bei meinem Sohn habe ich Hoffnung, aber meine Frau hat andere Probleme. Die steht auf kriegsfuß mit VPN, weil die ein problembehaftetes fortinet VPN von der Arbeit hat und wenn ich ihr dann jetzt noch mit meiner super simplen Wireguard config komme, kannst du dir ausmalen wie viel nerv die dafür haben wird. Zu Mal beides gleichzeitig nicht funktionieren wird.
3. Geht es auch um den Komfort. Soll man ständig VPN aktivieren wenn man musik hören will? Was wenn man an Geräten sitzt wo sich kein VPN einrichten lässt?
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: lfirewall1243 on September 29, 2021, 08:25:34 am
Die Alternative wäre folgendes:

Du verwendest den HAProxy welcher einmal die Zertifikate für die Nextcloud dahinter bereitstellt. Dadurch hast du schonmal eine ordentliche Verschlüsselung beim Transport deiner Daten.

Da du VPN vermeiden möchtest bleibt noch die Möglichkeit im HAProxy eine Authentifizierung einzurichten, entweder per Benutzerdaten was in deinem Fall aber keinen Sinn machen.
Würde dir dort empfehlen, dass sich die Clients mit einem zuvor installierten Client Zertifikat authentifizieren d.h. alle Geräte die sich darüber authentifizieren können, kommen erst am HAProxy vorbei an die Nextcloud.
Wichtig dabei: Für JEDES Gerät ein eigenes Zertifikat verwenden, falls mal eins verloren geht, kannst du dieses einzeln sperren.
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: lenny on September 29, 2021, 09:50:18 am
Die Zert Auth Variante klingt interessant, kannst du kurz umreißen, wie der Ablauf ist?
Zert erstellen, Rule in HA, Zert im Handy (oder wo auch immer) im Zert Speicher ablegen -> fertig?

p.s.
Meine persönliche Meinung ist eine DMZ, GeoIP Block, firehol Block UND VPN.
Aber auch wenn du VPN weglässt, hast du damit schon einige Bösewichte ausgesperrt. Sollte sich ein Familienmitglied im Ausland aufhalten, müsste man natürlich das Land kurzfristig freischalten
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: fabian on September 29, 2021, 10:19:21 am
Zertifikat zur Authentifizierung geht im nginx-Plugin auch - sogar schon länger.

Da musst du einfach ne CA anlegen, mit der du Client-Zertifikate erstellst. Die Client-Zertifikate und die CA musst du dann auf die Endgeräte installieren.

Im HTTP Server musst du dann noch die CA konfigurieren, damit ein Zertifikat beim Zugriff angefordert wird. Überprüfen solltest du dann mit direkt auf der OPNsense und nicht ins Backend delegieren. (Advanced Option!)

Beim HAProxy geht es vermutlich genau gleich.


Du solltest aber bedenken, dass TLS Client Authentifizierung ggf. nicht von sync clients unterstützt wird.
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: lfirewall1243 on September 29, 2021, 11:03:20 am
Die Zert Auth Variante klingt interessant, kannst du kurz umreißen, wie der Ablauf ist?
Zert erstellen, Rule in HA, Zert im Handy (oder wo auch immer) im Zert Speicher ablegen -> fertig?

p.s.
Meine persönliche Meinung ist eine DMZ, GeoIP Block, firehol Block UND VPN.
Aber auch wenn du VPN weglässt, hast du damit schon einige Bösewichte ausgesperrt. Sollte sich ein Familienmitglied im Ausland aufhalten, müsste man natürlich das Land kurzfristig freischalten

Vom Prinzip wie von fabian beschrieben...

1. CA anlegen
2. Client Zertifikate erstellen
3. Wenn du willst direkt ne widerrufs Liste anlegen um Zertifikate sperren zu können.
4. Im Frontend unter "Client Certificate Auth" den Haken bei aktivieren setzen und die Felder dadrunter ausfüllen.
5. Der Punkt "Verifikation" muss dann natürlich auf "erforderlich" stehen.

Und dann natürlich noch die Client Zertifikate an die Endgeräte verteilen. Ob du diese nun noch in den Apps wählen musst weiß ich nicht, aber eigentlich sollten die auf den Zertifikatsspeicher des Gerätes zurückgreifen.
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: lenny on September 29, 2021, 11:27:36 am
Tatsache, mit einem bereits funktionierendem HA sind es genau 3 Klicks und es läuft. (hab die bestehende VPN CA plus Zert genommen)
Jedoch funktioniert die NC App nicht - aber ein nettes Feature
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: lfirewall1243 on September 29, 2021, 11:36:17 am
Tatsache, mit einem bereits funktionierendem HA sind es genau 3 Klicks und es läuft. (hab die bestehende VPN CA plus Zert genommen)
Jedoch funktioniert die NC App nicht - aber ein nettes Feature
Scheint aktuell wirklich nicht mit der NC App zu laufen, zumindest habe ich nichts aktuelles dazu gefunden
https://github.com/nextcloud/android/issues/603
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: W0nderW0lf on September 29, 2021, 12:33:50 pm
Interessant was es für Möglichkeiten gibt. Finde ich prinzipiel auch einen guten Lösungsansatz, aber da ist dann wieder die Frage, gibts noch mehr authentifizierungsmethoden? Weil bei den Zertifikaten bist du auch an die Geräte gebunden. Somit wäre das schon mal für meine Frau auf Dienstreise nur übers Handy, aber nicht über das Notebook möglich.
Was würde denn gegen 2FA sprechen oder FIDO2, bzw. wären mehre methoden möglich? Quasi ein Optionsmenü beim anmelden, wo man die gewünschte Art auswählen kann.
Ich gehe oft vom Wurst-Käs szenario aus, wo das Handy verloren geht und man nur noch seine Credentials im Kopf hat, aber dafür das Firmennotebook (wo keine zertifikate installierbar sind).
Title: Re: Sicherer remote zugriff auf interne Cloud ohne VPN?
Post by: fabian on September 29, 2021, 03:10:53 pm
Interessant was es für Möglichkeiten gibt. Finde ich prinzipiel auch einen guten Lösungsansatz, aber da ist dann wieder die Frage, gibts noch mehr authentifizierungsmethoden? Weil bei den Zertifikaten bist du auch an die Geräte gebunden. Somit wäre das schon mal für meine Frau auf Dienstreise nur übers Handy, aber nicht über das Notebook möglich.
Nö, du kannst (a) das gleiche Zertifikat auf das Handy und das Notebook drauf kopieren oder alternativ eins pro Gerät ausstellen.
Mit einer internen CA sollte das ein verschmerzbarer Aufwand sein.

Was würde denn gegen 2FA sprechen oder FIDO2, bzw. wären mehre methoden möglich? Quasi ein Optionsmenü beim anmelden, wo man die gewünschte Art auswählen kann.
Das müsste die Applikation (in dem Fall Nextcloud) selbst können oder an einen SSO-Dienst (z. B. SAML IDP) auslagern.
Nextcloud hat offensichtlich ein Plugin dafür: https://apps.nextcloud.com/apps/twofactor_webauthn (https://apps.nextcloud.com/apps/twofactor_webauthn)

Ich gehe oft vom Wurst-Käs szenario aus, wo das Handy verloren geht und man nur noch seine Credentials im Kopf hat, aber dafür das Firmennotebook (wo keine zertifikate installierbar sind).
Handy Verloren: Direkt über die Play Konsole remote löschen (bei Android)
Firmennotebook: Client-Zertifikate sollten schon gehen, solange man das nur für den eigenen User macht und ansonsten müsste man das Zertifikat bei vielen Anwendungen per CLI-Parameter mitgeben können.
Zusätzlicher Hinweis: Geräte sollten mit einem Passwort geschützt sein, damit sowas nie zum Problem wird. Auch aus anderen Gründen (rechtlich).