Ich richte einen verschlüsselten Dateispeicher auf einem Remote-Server ein und möchte ihn transparent auf meinem System verwenden können. Ich möchte die Dateien lokal ent-/verschlüsseln können, sodass der Server, auf dem die Dateien gehostet werden, nicht sehen kann, was gespeichert ist. (So kann ich vertrauliche Dateien auf praktisch jedem VPS speichern, ohne mir Gedanken über deren Vertrauenswürdigkeit oder die Sicherheit ihrer Infrastruktur machen zu müssen.)
Mein aktueller Schlachtplan besteht darin, NFS über SSH zu verwenden, mit einem dmcrypt-Container, der dann vom Client gemountet wird. (Ich habe darüber nachgedacht, SSHFS zu verwenden, aber mehrere Benutzer werden dieselbe Freigabe verwenden, wovon die Wikipedia-Seite zu SSHFS abrät.)
Meine Frage ist also:
- Wenn ich einen dmcrypt-Container auf einem NFS-Server habe, erfolgt die Dateiverschlüsselung/-entschlüsselung dann lokal auf dem Client oder remote auf dem NFS-Server?
Ich würde es auch begrüßen, wenn Sie offensichtliche Vorbehalte oder Fallen haben, die ich vermeiden sollte :)
Antwort1
dmcrypt ist eine Linux-Funktion; die Verschlüsselung erfolgt auf Ihrem Linux-Client.
NFS bietet grundlegende Dateioperationen wie Öffnen, Schließen, Lesen und Schreiben. Aus Sicht des NFS-Servers führt Ihr Client lediglich diese grundlegenden Dateioperationen an einer riesigen Datei aus. Dabei ist es ihm egal, was der Inhalt ist, in welchem Format der Inhalt vorliegt oder was der Inhalt bedeutet.
Sie sollten jedoch bedenken, dass Ihr dmcrypt-Image beschädigt werden könnte, wenn Ihre Verbindung jemals unterbrochen wird. (Wenn Sie nicht das gesamte Image auf NFS ausführen würden, wäre der Schaden auf bestimmte Dateien beschränkt, die zum Zeitpunkt der Unterbrechung geöffnet waren.)