Nextcloud: Server-Side- und End-to-End Encryption

nextcloud security

Nextcloud bietet drei Verschlüsselungsebenen: Transportverschlüsselung (TLS), Server-Side Encryption (SSE) und End-to-End Encryption (E2EE). Welche wann sinnvoll ist und was wir bei der Linuxfabrik einsetzen.

Transportverschlüsselung (TLS)

Schützt vor Lauschangriffen auf der Leitung. Schützt nicht vor kompromittierten Geräten oder Servern. Pflicht für jede Nextcloud-Installation.

Server-Side Encryption (SSE)

Optional. Jede Datei wird vor dem Speichern mit einem eindeutigen Schlüssel verschlüsselt: entweder mit einem Master Key (Default, aus Funktions- und Performance-Gründen), oder mit einem Schlüssel pro Benutzer. SSE verschlüsselt nur den Dateiinhalt, nicht die Namen oder die Ordnerstruktur.

SSE wurde ursprünglich eingeführt, um External Storage wie Dropbox sicher anzubinden: Nextcloud sorgt dann dafür, dass Daten ausserhalb des eigenen Standorts verschlüsselt landen.

Wo die Schlüssel liegen

Der Master Key (technisch ein Passwort zum Entschlüsseln der Dateien) wird mit Hilfe des Secrets in der config.php verschlüsselt im Nextcloud-Datenverzeichnis abgelegt und lässt sich im Disaster-Fall wiederherstellen.

Per-User-Schlüssel liegen in den Datenverzeichnissen der einzelnen Benutzer und werden mit deren Benutzerkennwort verschlüsselt. Mit aktiviertem Per-User-Key ist der Einsatz eines Online-Office (Collabora, OnlyOffice) nicht mehr möglich, weil der Server-Prozess die Datei ohne Benutzer-Session nicht entschlüsseln kann.

Wann SSE sinnvoll ist

  • External Storage ist im Einsatz und Daten landen ausserhalb des eigenen Standorts.
  • Das Datenverzeichnis liegt nicht auf demselben System wie die Nextcloud-Installation selbst.

Wann SSE wenig bringt

Liegt das Datenverzeichnis auf demselben System wie Nextcloud, ist der Schutz minimal: der Schlüssel liegt am Ende mit den Daten zusammen. Soll der Inhalt vor dem Serverbetreiber verborgen bleiben, ist E2EE das richtige Werkzeug, nicht SSE.

End-to-End Encryption (E2EE)

Der ultimative Schutz der Benutzerdaten. Der Server hat zu keinem Zeitpunkt Zugriff auf Schlüssel oder unverschlüsselte Dateien. Der Sync-Client verschlüsselt die Daten vor dem Upload, und zwar innerhalb des E2E-markierten Ordners (nicht in dessen Unterordnern).

Funktionseinschränkungen

Mit E2EE-Ordnern entfallen:

  • Zugriff über das Web-Interface (der Sync-Client wird Pflicht).
  • Öffentliche Freigaben und Gruppen-Freigaben.
  • Server-seitige Suche und Vorschauen.
  • Server-seitiger Papierkorb und Versionierung.
  • Collaboration per Online-Office.

Die Suchmaschine kennt die Inhalte nicht, weil der Server sie schlicht nicht sieht. E2E lässt sich für einen oder mehrere Ordner aktivieren: deren Inhalt wird vollständig vor dem Server verborgen, einschliesslich Dateinamen und Verzeichnisstruktur.

Mnemonic-Passphrase

Um Ordner zwischen mehreren Geräten zu synchronisieren, brauchen Benutzer eine Mnemonic-Passphrase, die das erste Gerät beim Aktivieren von E2EE erzeugt: 12 zufällige englische Wörter (im Stil eines BIP39-Wordlists, generiert mit WordList::getRandomWords(12) im Desktop-Client).

  • Die Passphrase verschlüsselt den privaten Schlüssel auf dem Server. Wer sie verliert, verliert die Daten: kein Admin der Welt kann das wiederherstellen.
  • Die Passphrase muss notiert und in einem Passwort-Manager gespeichert werden.
  • Im Client lässt sich die Passphrase erneut anzeigen.

Wie man einen Ordner verschlüsselt

  • Nextcloud-Client in aktueller Version installieren.
  • Nextcloud-Client (erneut) mit dem Server verbinden, dabei erscheint ein Dialog mit der Mnemonic-Passphrase: notieren.
  • Im lokalen Nextcloud-Verzeichnis einen neuen, leeren Ordner anlegen.
  • Im Client per Rechtsklick auf den Ordner: "Encrypt" wählen.

Dateien, die anschliessend in diesen Ordner landen, werden nur noch verschlüsselt zum Server hochgeladen. Beliebig viele Ordner können verschlüsselt werden.

SSE und E2EE gleichzeitig?

Der gleichzeitige Betrieb von SSE mit lokal verschlüsseltem Benutzerverzeichnis und E2EE ist zwar technisch möglich, wird aber nicht unterstützt und führt zu Problemen.

Was nicht verschlüsselt wird

Egal welche der beiden serverseitigen oder clientseitigen Methoden zum Einsatz kommt: verschlüsselt werden nur Dateien. Kalender, ToDo-Listen und andere DAV-Daten werden nicht verschlüsselt, da es im Bereich CalDAV an Clients fehlt, die das unterstützen.

Was setzen wir bei der Linuxfabrik um?

Den Entscheid überlassen wir dem Server-Administrator vor Ort.

Weiterführend

Wir helfen dir

Brauchst du Unterstützung bei der Verschlüsselungsstrategie deiner Nextcloud? Schau dir doch mal unsere Service & Support-Modelle an und melde dich bei uns.

Vorheriger Beitrag Nächster Beitrag

DE · EN