Ursprünglich veröffentlicht: https://www.kuketz-blog.de/verschluesselung-der-nextcloud-eine-grundlegende-entscheidung-nextcloud-teil-2/
1. Verschlüsseln oder nicht? Im zweiten Teil unserer Serie über Nextcloud widmen wir uns einem grundlegenden Thema: Der Verschlüsselung. Beim Schutz von Daten stehen verschiedene Nextcloud-Ansätze zur Verfügung: Die serverseitige Verschlüsselung (Server-side Encryption), die Benutzerschlüssel-Verschlüsselung (User-Key Encryption) und die Ende-zu-Ende-Verschlüsselung (E2EE), bei der nur die jeweiligen Endgeräte die Daten entschlüsseln können. Jede dieser Methoden bietet unterschiedliche Sicherheitsniveaus und auch Einschränkungen, die sorgfältig abgewogen werden müssen. In diesem Beitrag erläutern wir, wie diese Verschlüsselungsarten funktionieren, welche Vor- und Nachteile sie haben und welche Aspekte bei der Entscheidung zwischen der integrierten Nextcloud-Verschlüsselung und einer Drittanbieterlösung wie Cryptomator zu berücksichtigen sind. Die Dokumentation…
Gibt es denn zu den angesprochenen Problemen auch offene Fehlermeldungen & Zusagen für Verbesserungen seitens der Entwickler von Nextcloud?
Wenn man das Hosting als Einsteiger nicht selber machen kann&möchte, fällt Zukaufen aus Datenschutz &Sicherheitsgründen schon fast wieder aus ohne Kontrolle über die Schlüssel ,extra Passphrase zum Beispiel.
Das ist doch das prinzipielle Problem beim nicht selber hosten, egal ob Mailserver oder Cloudserver, dem Anbieter muss man grundsätzlich vertrauen oder prinzipiell eine clientseitige Verschlüsselung (E2EE) durchführen.
Jedoch ist bei einer clientseitigen Verschlüsselung eine Dateifreigabe nicht mehr möglich, also ein wesentlicher Punkt, warum viele eine Nextcloud überhaupt benutzen wollen, fällt dann weg.
Außerdem ist bei einer clientseitgen Verschlüsselung eine Dokumentenvorschau, allenfalls nur für jede Datei einzeln (wie in Cryptomator) zu sehen.
Und so wie es verstanden habe, ist eine Dateifreigabe auch bei einer serverseitigen Verschlüsselung mit User-Key Encryption in der Nextcloud nicht zu machen.
Ich bin jetzt nicht sicher, ob bei einer Server-Side Encryption eine Dateifreigabe realisierbar ist. Ich hatte einmal eine Manged Nextcloud ausprobiert, wo ich dann die Hetzner Storagebox als externen Speicher mit Server-Side Encryption eingebunden habe, aber nicht auf die Möglichkeit einer Dateifreigabe geachtet.
Vielleicht kann da jemand aus eigener Erfahrung berichten?
Um so erstaunlicher ist es, wie ente.io eine Verschlüsselung inkl. Bildvorschau und Dateifreigabe hinbekommen hat. Auf der Seite https://ente.io/architecture/ ist es erklärt. Leider reicht mein technisches Verständnis nicht aus, um zu beurteilen, ob dies ein sicheres Verfahren und Vorbild für die Nextcloud sein könnte oder letzten Endes als „Security Theater“ zu bezeichnen ist.
Wenn man bei Messengern und Emails Schlüssel austauschen kann um die Daten auf dem StorageServer unterwegs zu verschlüsseln so dass nur Ich und mein Kommunikationspartner die Nachricht lesen können, dürfte mit geteilten Schlüsseln auch eine Benutzung der gleichen Nextcloud oder anderer OnlineSpeicher mit mehreren Geräten und Personen möglich sein.
Es is nur logistisch komplizierter.
Hallo, dies ist problemlos möglich - ich teste hier gerade mit einer Nextcloud AIO Instanz in Docker und ich habe der serverseitige Verschlüsselung aktiviert.
Es wäre ja auch irgendwie sinnfrei, wenn man nur durch die Verschlüsselung der lokalen Dateien, die Fähigkeit zum Teilen verlieren würden oder?
Mit der User-Key Encryption, allein und in Kombination, müsste man dies auch nochmal testen.
@Sesame und @Joe
Ich gehe jetzt von einer Managed Nextcloud und nicht von einer selbstgehosteten Nextcloud aus. Wo finde ich denn dann die Schlüssel, die ich bei einer Dateifreigabe eines verschlüsselten Inhalts, dem Dritten auf einem sicheren Kommunikationskanal zukommen lassen müsste?
doch, es ist eine selbstgehostete Instanz - ich dachte dies wäre aus Docker und Nextcloud AIO ersichtlich gewesen, sorry.
https://github.com/nextcloud/all-in-one/blob/main/compose.yaml
Man braucht keinen Schlüssel für die Freigaben - die Dateien liegen ja bei der serverseitigen Verschlüsselung nur im Dateisystem verschlüsselt vor - standardmäßig werden auch nur die extern eingebundenen Speicher damit verschlüsselt, möchte man die internen Daten (data) verschlüsseln, muss man dies separat auswählen:
https://help.nextcloud.com/t/how-to-deactivate-server-side-encryption/167235/4
Sorry war von mir nicht klar genug formuliert. Das du eine selbstgehostete Instanz ist, habe ich schon kapiert. Bei Mikes Artikelserie soll es allerdings primär um Managed Nextcloud gehen, siehe Nextcloud Teil 1, Punkt 3.1: „Wen adressiert die Serie?“.
Daher meine Frage, bzw. meine Erfahrung mit einer verschlüsselten Managed Nextcloud.
Eine separate Schlüsselweitergabe ist bei serverseitiger Verschlüsselung nicht notwendig.
Die Schlüssel für die Serverseitige Verschlüsselung liegen IMHO auf dem Server im Zugriff des Nextcloud-Betreibers.
Die Serverseitige Verschlüsselung schützt also nicht gegen Datenmissbrauch durch diesen oder einem erfolgteichen Angreifer auf die Nextcloud und ihren Server. Die Idee ist es einem gesonderten Storage-Betreiber den Zugriff auf die Daten zu entziehen.
Da die Nextcloud automatisch die Dateien bei jedem Zugriff entschlüsselt, musst Du aber beim Teilen von Dateien dafür auch keinen gesonderten Entschlüsselungsaufwand betreiben.
Wie es bei der vom Benutzerpasswort-abhängigen Verschlüsselung aussieht weiß ich nicht. Hier müsste ja entweder eine Umschlüsselung erfolgen oder aber der Zugriff anderer Benutzer wäre nicht möglich.
Steht ja auch so in meinem Beitrag…
"Die „Keys“ liegen separat im „Data“ Verzeichnis im Dateisystem der Nextcloud Installation.
Den Dateinamen der ursprünglichen Daten werden noch die Schlüsselnamen angehängt - direkt über das Dateisystem lassen diese sich dann nicht mehr öffnen - über das Webinterface klappt es logischerweise;)
Man müsste mal testen wenn man die verschlüsselten Daten und die Keys in ein anderes Nutzerverzeichnis kopiert, ob diese dann dort auch im Webinterface angezeigt werden…
Interessant wäre vor allem, wie Nextcloud bei der Benutzerbasierenden Verschlüsselung beim Teilen vorgeht.
Wenn der Schlüsselname angehängt wird, dann wäre es logisch, wenn beim Teilen die Datei auf einen anderen Schlüssel umgeschlüsselt würde und was beim Aufheben des Teilens passiert.
Ich habe leider keine Nextcloud mit Dateisystemzugriff zur Hand um das selbst zu testen.
Ich würde es ja testen, wenn ich wüsste wie man die benutzerbasierte Verschlüsselung aktiviert😅
Mike hatte in seinem Artikel dazu etwas erwähnt:
–%<----
4.2 User-Key Encryption
Zur User-Key Encryption gibt es nur wenig Informationen. Im Gegensatz zur Server-side Encryption lässt sich diese Art der Verschlüsselung nicht einfach über die grafische Oberfläche von Nextcloud aktivieren. Stattdessen muss sie explizit über einen OCC-Befehl in der Konsole eingeschaltet werden:
./occ encryption:disable-master-key
–%<----
Wenn ich es richtig verstanden habe, steht danach nur noch die Entschlüsselung bei angemeldetem Benutzer zur Verfügung und der Schlüssel ist über das Passwort des Benutzers verschlüsselt.
Ausprobiert habe ich das selbst aber nicht.
Den Artikel habe ich gelesen und Cryptomator bereits ausprobiert. Ein Nachteil dabei für mich ist, dass das Löschen von Dateien anscheinend immer endgültig ist. Für mich ist das im Alltag nicht praktikabel. Zu leicht lösche ich versehentlich eine Datei …
Ich überlege also, mit welchem Schutzniveau ich grundsätzlich leben kann. Es geht mir erstmal nur um Dateien, nicht um Kalender und Kontakte – die pflege ich ohnehin woanders.
Am wichtigsten ist es mir ohnehin erstmal, den Zugriff seitens Big Tech auszuschließen. Das wäre für mich mit der Entscheidung für eine nach EU-Recht gehostete Nextcloud gegeben.
Erst an zweiter Stelle kommt für mich der Schutz vor böswilligen Zugriffen seitens (kompromittierter) Admins oder Hacker. Hier vertraue ich zunächst den professionellen Anbietern und überlege gleichzeitig, welche Daten ich überhaupt (unverschlüsselt) in die Nextcloud hochlade.
Meine Keepass-Datenbank zum Beispiele pflege ich sehr bewusst mit verschlüsselten Backups.
Bei Daten, die ich selber als weniger sensibel einschätze, frage ich mich: wie leicht ist es überhaupt für einen Admin oder Hacker, meine Nextcloud-Zugangsdaten auszulesen, um an meine NC-Instanz zu kommen? Braucht es dafür nicht bereits erhebliche kriminelle Energie und die Umgehung von Schutzmechanismen in den Firmen?
Der der Admin benötigt Deine Zugangsdaten zur Nextcloud gar nicht. Er greift einfach über seine Admin-Schnittstelle auf das Dateisystem zu, in dem Deine Nextcloud ihre Daten speichert. Gleiches gilt für einen Angreifer der sich System/Adminrechte erschlichen hat.
Ob und wie der Zugriff der Administratoren bei einem Anbieter beschränkt, protokolliert und überwacht wird, kann man als Benutzer nicht prüfen / wissen.
Danke Dir. Das ist ja noch übler als gedacht, zumindest bei einer Managed Nextcloud.
Aber eine letzte Hoffnung habe ich noch: ich nutze ja bereits ein Hostingangebot für eine Website, in dem ich „mit einem Klick“ auch eine Nextcloud installieren könnte. Das Installationspaket wird vom Anbieter selbst bereitgestellt.
Heißt das, dass es sich in dem Fall um eine „selbst gehostete“ Nextcloud handelt, bei der ich „volle Kontrolle“ über meine Daten habe, wie Mike in Folge 1 schrieb?
Dass jemand schon meine Zugangsdaten knacken müsste, um an meine Daten zu kommen?
(Falls ja: wie schwer wäre dieses „knacken“?)
Hierbei verhält es sich genau so, wie von @Reklow beschrieben. Bei einem seriösen Anbieter ist aber nicht davon auszugehen, dass dort jemand Zeit, Interesse oder ohne weiteres die Möglichkeit hat, das auch zu tun. Da würde ich mir keine Gedanken machen.
Will man auch dieses Risiko ausschliessen, so muss man selbst auf eigener Hardware in eigenem Rack hosten oder wenigstens einen dedizidierten Server bei einem seriösen Anbieter mieten.
Die typischen virtualen Hosts haben prinzipiell dasselbe Problem. Der Anbieter kann technisch auf den Datenspeicher Deines Virtuellen Host zugreifen.
Bei einem dedizierten Hardware-Server der seine Daten auch auf eigenen physikalischen SSDs oder Festplatten ablegt ist der Zugriff des Rechenzentrumbetribers im laufenden Betrieb weitestgehend ausgeschlossen.
Man kann es drehen wie man will:
- Entweder ich verschlüssele alle Daten clientseitig, bevor ich diese auf einen Dienst hochlade (für Dateien die Du nur selbst nutzt einfach, für andere Daten schwierig bis unmöglich)
- oder ich betreibe meine Hardware und die von mir genutzten Dienste selber (aufwendig und ggf. sehr schwierig, insbesondere bei Internetzugängen ohne öffentliche IP)
- oder ich muss meinem Anbieter vertrauen (wo es viele unterschiedliche Blickwinkel gibt)
(oder eventuelle auch eine Kombination aus allem)
Am Ende musst Du schauen was für Dich der beste Kompromiss ist oder eben auf einen Clouddienst wie Nextcloud oder andere verzichten.
Danke Euch nochmals!
Ehrlich gesagt hat mir diese Herleitung im Artikel gefehlt. Aber zumindest mir ist es jetzt klar.
Ich werde also meine Daten entsprechend klassifizieren und entscheiden, ob ich sie überhaupt irgendwo hochlade, und ob ich sie vorab verschlüssele oder nicht.
Es ist wirklich ein Prozess, sich da immer weiter hineinzuarbeiten und zu verbessern. Der Blog und das Forum sind hier eine echte Hilfe!
