Verwendung von ecryptfs mit einem Nicht-Home-Verzeichnis

14

Ich möchte mit ecryptfs ein zufälliges Verzeichnis verschlüsseln (dh nicht mein Basisverzeichnis oder ein Unterverzeichnis davon, hauptsächlich aufgrund von Speicherplatzbeschränkungen auf meiner Basispartition) und dieses Verzeichnis bereitstellen, wenn ich mich bei meinem Konto anmelde. Ich kann nicht sehen, wie das geht oder ob es mit der vorhandenen Software wirklich möglich ist. Ich habe Beiträge gesehen, die vage Vorschläge enthalten (z. B. zur Verwendung mount.ecryptfs_privatemit der ALIAS-Option), aber ich habe noch keine einfache, schrittweise Anleitung dazu gefunden. Könnte jemand diese Anweisungen bereitstellen oder mich darauf hinweisen, wo ich sie finde?

user3004015
quelle
2
Dies ist die einfachste Methode, die Sie finden werden: wiki.archlinux.org/index.php/…
Rinzwind
1
Mein Problem mit dieser Lösung ist, dass ich bereits ein verschlüsseltes Home-Verzeichnis habe. Wenn ecryptsfs-setup-privateich mir den Code für anschaue , bin ich nicht sicher, was passieren wird, wenn Sie bereits ein verschlüsseltes Zuhause haben und nicht wirklich versuchen möchten, schlechte Dinge zu tun.
user3004015
1
Verstehst du, warum ein Double so schwer zu sein scheint? Es scheint mir, dass die logische Sache darin besteht, ein generisches System zum Erstellen von verschlüsseltem Speicher und Ordnern und zu deren automatischer Bereitstellung zu erstellen und dann darauf ein System aufzubauen, das das Basisverzeichnis erstellt, aber diese Software scheint mit viel geschrieben worden zu sein von Dingen fest verdrahtet. Der Speicher muss .Privat sein, das Verzeichnis muss privat sein usw.
user3004015
2
Die Verwendung einer kennwortgeschützten Zip-Datei ist kryptografisch nicht sicher. Ein ähnlicher Ansatz ist zu verwenden gpg. Angenommen, Sie möchten den Ordner sicher speichern, mydatadann könnten Sie ihn tar -c mydata | gpg --symmetric > mydata.tar.gpg && rm -rf mydatazum Speichern Ihrer Daten und gpg --decrypt mydata.tar.gpg | tar -xzum Wiederherstellen Ihrer Daten verwenden. Sie können Ihren privaten / öffentlichen Schlüssel ganz einfach verwenden, um Ihre Daten zu schützen, was ratsam erscheint. Bei dieser Methode sollten nur geringe Datenmengen gespeichert werden. @ Rinzwind
Arne L.
1
Art der Niederlage der Zweck der Verschlüsselung der Daten, wenn Sie rm -fR mydata. Diese Daten könnten von der Festplatte wiederhergestellt werden, lange nachdem Sie sie "gelöscht" haben. Ich bin nicht sicher , wie sicher es ist, aber ich würde zuneigen eine „rekursive“ schreddern statt: find mydata -type f -exec shred -uz -- {} \;. Beachten Sie, dass das Shreddern nur auf nicht journalisierten Dateisystemen und bestimmten Gerätetypen wirksam ist. Wo es darauf ankommt, sollte man den besten Weg finden. Ich halte dies nicht für eine sichere Methode: Verschlüsseln und Entschlüsseln des Archivs auf diese Weise. Wahrscheinlich wird es unwirksam sein.
Bambams

Antworten:

8

Sie schauen sich nur die supereinfachen Skripte an ecryptsfs-setup-private und ecryptsfs-mount-private, sie verwenden die "allgemeineren" Werkzeuge, nach denen Sie scheinbar suchen: mount.ecryptfsund ecryptfs-add-passphrase. manWeitere Informationen finden Sie auf den entsprechenden Seiten.

Und der Link, den Rinzwind gepostet hat, enthält alle Informationen, die Sie unten auf der Seite unter benötigen Manual Setup . Sie sind ziemlich lang, aber die sehr sehr kurze Version wäre:


Der "Manual Setup" Weg (Archlinux Wiki)

Wählen Sie zuerst ein ALIAS aus, wie Sie möchten. In diesem Abschnitt wird ALIAS geheim sein. Erstellen Sie die erforderlichen Verzeichnisse / Dateien:

$ mkdir ~/.secret ~/secret ~/.ecryptfs
$ touch ~/.ecryptfs/secret.conf ~/.ecryptfs/secret.sig

Das ~/.secret Verzeichnis enthält die verschlüsselten Daten. Das ~/secretVerzeichnis ist der Mount-Punkt, an dem ~/.secretEcryptFS als Dateisystem eingehängt wird.

[Erstellen Sie nun die eigentliche Mount-Passphrase (die einfachen Skripte wählen pseudozufällig 32 Zeichen aus/dev/urandom ), und machen Sie eine gute daraus.]

$ echo "$HOME/.secret $HOME/secret ecryptfs" > ~/.ecryptfs/secret.conf
$ ecryptfs-add-passphrase
Passphrase: 
Inserted auth tok with sig [78c6f0645fe62da0] into the user session keyring

Schreiben Sie die Ausgabesignatur (ecryptfs_sig) des vorherigen Befehls in ~ / .ecryptfs / secret.sig:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • Eine zweite Passphrase für die Dateinamenverschlüsselung kann verwendet werden. Wenn Sie dies wünschen, fügen Sie es dem Schlüsselring hinzu:

    $ ecryptfs-add-passphrase
    Passphrase: 
    Inserted auth tok with sig [326a6d3e2a5d444a] into the user session keyring
    

    Wenn Sie den obigen Befehl ausführen, hängen Sie die Ausgabesignatur (ecryptfs_fnek_sig) an ~ / .ecryptfs / secret.sig an:

    $ echo 326a6d3e2a5d444a >> ~/.ecryptfs/secret.sig
    

Zum Schluss, um ~ / .secret auf ~ / secret zu mounten:

$ mount.ecryptfs_private secret

~ / .Secret aushängen:

$ umount.ecryptfs_private secret

  • Oder Sie könnten sich wirklich die Hände schmutzig machen und dem folgen Anweisungen von Without ecryptfs-utils .

  • Oder wenn Sie sich bereits die einfachen Skripte angesehen habenecryptsfs-setup-private & ecryptsfs-mount-privatekönnten Sie in der Lage sein , diese und bearbeiten sie zeigen Sie auf Ihre bevorzugten Verzeichnisse zu kopieren, mit einem wenig Geschick und Geduld.

  • Oder speichern Sie einfach die Passphrase (n) selbst (sicher bevorzugt) und folgen Sie dem man ecryptfsBeispiel der Seite (muss die Manpages lesen):

    The following command will layover mount eCryptfs on /secret with a passphrase
    contained in a file stored on secure media mounted at /mnt/usb/.
    
    mount  -t  ecryptfs -o key=passphrase:passphrase_passwd_file=/mnt/usb/file.txt /secret /secret
    
    Where file.txt contains the contents "passphrase_passwd=[passphrase]".
    

Abgesehen von verschlüsselten Basisordnern und einem verschlüsselten Ordner in hausinternen eCryptfs-Ordnern

In /home/.ecryptfs/user/einem verschlüsselten privaten Ordner werden normalerweise Dateien gespeichert , während sich in einem verschlüsselten privaten Ordner Dateien in Ihrem eigenen privaten Ordner befinden. Das kannst du nicht beide gleichzeitig verwenden, da eCryptfs keine verschachtelten verschlüsselten Ordner erstellt. Aber ein verschlüsseltes Zuhause und verschlüsselte Ordner außerhalb Ihres Zuhauses sind in Ordnung.

  • Ich habe gerade versucht, einen neuen Benutzer mit einem verschlüsselten Zuhause zu erstellen sudo adduser --encrypt-home jack

    Es wurde ein /home/.ecryptfs/Ordner erstellt mit:

    • /home/.ecryptfs/jack/.ecryptfs/ - Passphrase und Konfigurationsdateien wurden beim Anmelden in das Auto-Mount-Haus von Jack eingepackt
    • /home/.ecryptfs/jack/.Private/- Aktuelle verschlüsselte Home-Dateien, die /home/jack/beim Anmelden angehängt werden .

      Und auch den /home/jack/Ordner, der aber einen Link enthielt, der dort bleibt, egal ob angemeldet oder nicht:

      /home/jack/.ecryptfs/ -> /home/.ecryptfs/jack/.ecryptfs

    • Weiter Ich angemeldet als Jack, aber die Verbindung war immer noch da, so zu laufen versuchen , ecryptfs-setup-privateverursachte es in zu suchen , /home/jack/.ecryptfs/sondern wirklich die vorhandenen Dateien sehen in /home/.ecryptfs/jack/.ecryptfsso dass es mit einer anderen Passwort - Datei zu erstellen , ist fehlgeschlagen & scheitern mitERROR: wrapped-passphrase file already exists, use --force to overwrite.

      Der Versuch, die obigen "ALIAS" -Schritte unter Verwendung eines .secret-Ordners in der verschlüsselten Startseite auszuführen , ist mit den folgenden Fehlern fehlgeschlagen:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "Das Verschachteln verschlüsselter Verzeichnisse in verschlüsselte Verzeichnisse wird von eCryptfs nicht unterstützt. Tut mir leid." - eCryptfs Autor & Betreuer

    • Ändern des ALIAS-Ordners außerhalb von Jacks Zuhause, probieren /tmp/.secret/& /tmp/secret/ arbeiten . Aber wenn Jack Protokoll ist aus den neuen verschlüsselten Ordnern bleiben montiert , so dass Sie es auszuhängen haben ( umount.ecryptfs_private secret).

Xen2050
quelle
1
Danke für die vereinfachte Antwort. Eine Frage: Behebt dies das Problem der automatischen Bereitstellung? Es tut uns leid, dass Sie so dicht sind, aber die von Ihnen angegebene Webseite und die Manpages sind in Bezug auf das Einrichten der automatischen Bereitstellung für eine nicht standardmäßige Situation nicht besonders einfach zu verstehen. Da ich bereits ein verschlüsseltes Basisverzeichnis habe, habe ich bereits $ HOME / .ecryptfs / auto-mount und eine umbrochene Passphrase, aber die erste ist leer und die zweite enthält bereits etwas. Mir ist nicht ganz klar, wie ich die neue Passphrase hinzufügen und sie anweisen soll, das Verzeichnis automatisch bereitzustellen.
user3004015
Mit ein paar Tests aktualisiert, und dieser Kerl hatte anscheinend etwas Glück, nachdem er den Wiki-Leitfaden zur automatischen Montage mit PAM befolgt hatte, aber er ist ziemlich
nervös
Danke für Ihr Bemühen. Ich bin nicht daran interessiert, die ecryptfs-Verzeichnisse zu verschachteln, sondern ein zweites Verzeichnis an einer zweiten Stelle automatisch einzuhängen. Ich werde versuchen, es zum
Laufen
Sie können es auf eine mountZeile zuschneiden, brauchen keine .confDatei oder Schlüssel hinzuzufügen, lesen Sie einfach die man ecryptfsSeiten für die verfügbaren Optionen. Dann werfen Sie eine "Run at Login" -Datei in /home/user/.config/autostart/. Die Sicherheit der Passphrase kann jedoch gefährdet sein, wenn sie nicht ordnungsgemäß gespeichert wird
Xen2050
Die Sache ist, dass ecryptfs ein nettes System zum Umschließen von Verschlüsselungskennwörtern in einen Wrapper hat, der mit einem Anmeldekennwort geöffnet wird. Dies bietet zusätzlichen Schutz für das Kennwort von ecryptfs, was sehr hilfreich wäre. Ich denke nicht, dass das Einfügen von etwas in .config / autostart dies zulässt, es sei denn, ich verstehe falsch, was ich in das Skript einfügen soll.
user3004015
0

Wenn Sie es wie encfs verwenden möchten, können Sie es mit dem folgenden Eintrag in tun /etc/fstab

/tmp/.geheim /tmp/geheim ecryptfs rw,no_sig_cache,ecryptfs_fnek_sig=1f7aefb9e239099f,ecryptfs_cipher=aes,ecryptfs_key_bytes=32,ecryptfs_enable_filename_crypto=y,ecryptfs_passthrough=n,passphrase_passwd=geheimpw,user,noauto 0 0

geheim ist das deutsche wort für geheimnis, stellt aber sicher, dass es kein schlüsselwort ist. Sie müssen zuerst die Verzeichnisse erstellen. Das erste Mal solltest du ecryptfs_fnek_sig=1f7aefb9e239099fweggehen. Dannmount /tmp/geheim wird Ihnen der richtige Wert angezeigt.

Sie können das Kennwort an einem anderen Ort speichern und komplexere Optionen festlegen. Sie finden alle Optionen in man ecryptfs.

niels
quelle
-1
ecryptfs /destination/to/encrypted/storage /destination/to/seeing/unencrypted/data

z.B:

ecryptfs /home/$USER/EFILES /home/$USER/Downloads/RANDOMDIRECTORY

Verwenden Sie den obigen Befehl, um ein verschlüsseltes System zu erstellen und bereitzustellen, in dem in RANDOMDIRECTORY gespeicherte Dateien verschlüsselt und in EFILES gespeichert werden.

Zusätzliche Bemerkungen. Stellen Sie sicher, dass RANDOMDIRECTORY zu Beginn leer ist. Sobald Sie den obigen Befehl ausführen und das System aktiviert und einsatzbereit ist, werden alle Dateien, die Sie in RANDOMDIRECTORY speichern, in EFILES verschlüsselt, wenn das System aktiviert ist. Für ein schnelles Mounten / Unmounten können Sie entweder ein Bash-Skript erstellen und über eine App-Verknüpfung ausführen oder einen Alias-Befehl für das schnelle Mounten erstellen.

Ich benutze das jetzt seit mehr als einem Jahr.

BEARBEITEN: ging nach Hause, um zu bestätigen, dein Befehl ist nicht Ecryptfs. seine encfs dh

encfs /destination/encrypted /destination/unencrypted

Das tut mir leid. Mit diesem müssen Sie ein neues Programm installieren, um (wahrscheinlich)

dr1094
quelle
1
Ich habe den Befehl eingegeben ecryptfsund er antwortet. Befehl nicht gefunden. man ecryptfsruft die Manpage für auf mount -t ecryptfs, erklärt aber nicht wirklich, wie man ein solches verschlüsseltes Dateisystem erstellt.
user3004015
Beachten Sie, dass ich Ubuntu 14.04 LTS verwende, sodass meine Installation relativ neu ist. Ist der ecryptfsBefehl ein Neuzugang?
user3004015
encfs ist nicht dasselbe wie ecryptfs. Das sind zwei verschiedene.
Diagon