Come utilizzare ecryptfs con una directory non home


14

Vorrei utilizzare ecryptfs per crittografare una directory casuale (cioè, non la mia directory home o una sua sottodirectory, principalmente a causa delle limitazioni dello spazio su disco sulla mia partizione home) e montare quella directory quando accedo al mio account. Non riesco a vedere come farlo o anche se è davvero possibile con il software esistente. Ho visto post che forniscono vaghi suggerimenti (ad esempio, da utilizzare mount.ecryptfs_privatecon l'opzione ALIAS), ma non ho ancora trovato istruzioni semplici e dettagliate su come farlo. Qualcuno sarebbe in grado di fornire queste istruzioni o indirizzarmi verso dove trovarle?


2
Questo è il metodo più semplice che troverai: wiki.archlinux.org/index.php/…
Rinzwind

1
Il mio problema con questa soluzione è che ho già una home directory crittografata. Guardando il codice per ecryptsfs-setup-private, non sono sicuro di cosa accadrà se hai già una casa crittografata e non vuoi davvero provare per paura che faccia cose cattive.
user3004015,

1
Capisci perché un doppio sembra così difficile? Mi sembrerebbe che la cosa logica sarebbe costruire un sistema generico per creare cartelle e archivi crittografati e montarli automaticamente, e poi costruire su quel sistema un sistema per fare la directory home, ma questo software sembra essere stato scritto molto di cose cablate. La memoria deve essere .Privato, la directory deve essere privata, ecc.
user3004015

2
L'uso di un file zip protetto da password non è crittograficamente sicuro. Un approccio simile è quello di usare gpg. Supponi di voler archiviare la cartella in modo sicuro, mydataquindi puoi utilizzarla tar -c mydata | gpg --symmetric > mydata.tar.gpg && rm -rf mydataper archiviare i dati e gpg --decrypt mydata.tar.gpg | tar -xripristinarli. Puoi facilmente usare la tua chiave privata / pubblica per proteggere i tuoi dati, il che sembra consigliabile. Solo piccole quantità di dati devono essere archiviate con questo metodo. @Rinzwind
Arne L.,

1
Un po 'di sconfitte allo scopo di crittografare i dati se si rm -fR mydata. I dati potrebbero essere recuperati dal disco molto tempo dopo averli "eliminati". Io non sono sicuro di come rendere sicuro lo è, ma mi piacerebbe propendere per un "ricorsivo" brandello invece: find mydata -type f -exec shred -uz -- {} \;. Nota, la distruzione è efficace solo su file system non registrati su giornale e su alcuni tipi di dispositivi. Dove importa, dovresti cercare nel modo migliore. Non credo sia una pratica sicura: crittografare e decrittografare l'archivio in questo modo. Le probabilità sono che sarà inefficace.
bambams,

Risposte:


8

Stai solo guardando gli script super-facili come ecryptsfs-setup-privatee ecryptsfs-mount-private, usano gli strumenti più "generici" che sembra stia cercando: mount.ecryptfse ecryptfs-add-passphrase. Vedi le loro manpagine per maggiori informazioni.

E il link che Rinzwind ha pubblicato contiene tutte le informazioni necessarie, più in basso nella pagina in Impostazione manuale . Sono piuttosto lunghi, ma la versione molto breve sarebbe:


Il modo "Manual Setup" (archlinux wiki)

Per prima cosa scegli un ALIAS come preferisci. Attraverso questa sezione, ALIAS sarà segreta. Creare le directory / i file richiesti:

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

La ~/.secretdirectory conterrà i dati crittografati. La ~/secretdirectory è il punto di mount in cui ~/.secretverrà montato come filesystem ecryptfs.

[Ora crea la passphrase di mount effettiva (gli script facili sceglieranno 32 caratteri pseudo-casuali da /dev/urandom), rendila buona]

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

Scrivi la firma di output (ecryptfs_sig) dal comando precedente su ~ / .ecryptfs / secret.sig:

$ echo 78c6f0645fe62da0 > ~/.ecryptfs/secret.sig
  • È possibile utilizzare una seconda passphrase per la crittografia del nome file. Se lo scegli, aggiungilo al portachiavi:

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

    Se esegui il comando sopra, aggiungi la sua firma di output (ecryptfs_fnek_sig) a ~ / .ecryptfs / secret.sig:

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

Infine, per montare ~ / .secret su ~ / secret:

$ mount.ecryptfs_private secret

Per smontare ~ / .secret:

$ umount.ecryptfs_private secret

  • Oppure si potrebbe davvero sporcarsi le mani se stessi e seguire il Senza ecryptfs-utils direzioni.

  • Oppure, se hai già guardato gli script facili ecryptsfs-setup-privatee ecryptsfs-mount-private, potresti essere in grado di copiarli e modificarli in modo da puntare alle tue directory preferite, con un po 'di abilità e pazienza.

  • O semplicemente memorizza le passphrase in qualche modo (preferibilmente in modo sicuro) e fai come man ecryptfsnell'esempio della pagina (devi leggere le pagine man):

    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]".
    

A parte le cartelle home crittografate e una cartella crittografata all'interno delle cartelle eCryptfs nidificate home

Inoltre, una cartella principale crittografata normalmente archivia i file /home/.ecryptfs/user/, mentre una cartella privata crittografata contiene file all'interno della propria cartella principale. È possibile non utilizzare entrambi allo stesso tempo, eCryptfs non farà annidato cartelle crittografate. Ma avere una casa crittografata e cartelle crittografate fuori casa è ok.

  • Ho appena provato a creare un nuovo utente con una casa crittografata sudo adduser --encrypt-home jack

    Ha creato una /home/.ecryptfs/cartella con:

    • /home/.ecryptfs/jack/.ecryptfs/ - avvolto passphrase e file di configurazione per automount jack home all'accesso
    • /home/.ecryptfs/jack/.Private/- file home crittografati effettivi, montati su /home/jack/quando effettuato l'accesso.

      E anche la /home/jack/cartella, ma conteneva un link che rimane lì indipendentemente dal fatto che sia stato effettuato l'accesso:

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

    • Successivamente ho effettuato l'accesso come jack, ma il collegamento era ancora lì, quindi il tentativo di eseguirlo ha fatto ecryptfs-setup-privatesì che guardasse /home/jack/.ecryptfs/ma vedesse davvero i file esistenti in /home/.ecryptfs/jack/.ecryptfsmodo da non riuscire a creare un altro file di password e fallire conERROR: wrapped-passphrase file already exists, use --force to overwrite.

      Tentativo di eseguire i passaggi precedenti "ALIAS" utilizzando una cartella .secret all'interno della home crittografata , con questi errori:
      Mount on filesystem of type eCryptfs explicitly disallowed due to known incompatibilities
      Reading sb failed; rc = [-22]

      "L'annidamento di directory crittografate all'interno di directory crittografate non è supportato con eCryptfs. Siamo spiacenti." - autore e manutentore di eCryptfs

    • Cambiando la cartella ALIAS fuori dalla casa di Jack, provando /tmp/.secret/e /tmp/secret/ funziona . MA se il jack jack è fuori la nuova cartella crittografata rimarrà montata , quindi devi smontarla ( umount.ecryptfs_private secret).


1
Grazie per la risposta semplificata. Una domanda però: questo risolve il problema del montaggio automatico? Ci scusiamo per il fatto di essere densi su questo, ma la pagina web che hai indicato e le pagine man in realtà non sono particolarmente facili da capire per quanto riguarda l'impostazione del montaggio automatico per una situazione non standard. Dato che ho già una home directory crittografata, ho già $ HOME / .ecryptfs / auto-mount e wrapping-passphrase, ma il primo è vuoto e il secondo contiene già qualcosa. Non mi è del tutto chiaro come aggiungere la nuova passphrase e istruirla per montare automaticamente la directory.
user3004015,

Aggiornato con un po 'di test, e questo ragazzo ragingpenguin.com/2012/12/… apparentemente ha avuto un po' di fortuna seguendo la guida Wiki dell'arco sul montaggio automatico con PAM, ma è abbastanza a
corto

Grazie per il tuo impegno. Non mi interessa annidare le directory di ecryptfs, ma montare automaticamente una seconda directory in un secondo posto. Proverò a farlo funzionare quando avrò un po 'di tempo, ma sicuramente non è molto chiaro ...
user3004015

Puoi tagliarlo a una mountriga, non è necessario un .conffile o aggiungere chiavi, basta leggere le man ecryptfspagine per le opzioni disponibili. Quindi lancia un file "Esegui al login" /home/user/.config/autostart/. Ma la sicurezza della passphrase potrebbe essere a rischio se conservata in modo errato
Xen2050

Il fatto è che ecryptfs ha un bel sistema di wrapping delle password di crittografia all'interno di un wrapper che viene aperto con una password di accesso. Ciò fornisce una protezione aggiuntiva per la password di ecryptfs, che sarebbe bello avere. Non penso che mettere qualcosa in .config / autostart lo consentirà a meno che non fraintenda ciò che dovrei inserire nello script.
user3004015,

0

Se vuoi usarlo come encfs puoi farlo con la seguente voce in /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 è la parola tedesca per segreto, ma assicura che non sia una parola chiave. È necessario creare prima le directory. La prima volta che dovresti lasciare ecryptfs_fnek_sig=1f7aefb9e239099f. Quindi mount /tmp/geheimti mostrerà il valore corretto.

È possibile memorizzare la password in un altro posto e impostare opzioni più sofisticate. Troverai tutte le opzioni in man ecryptfs.


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

per esempio:

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

utilizzare il comando sopra riportato per creare e montare un sistema crittografato in cui i file salvati in RANDOMDIRECTORY sono crittografati e salvati in EFILES.

Note aggiuntive. assicurati che RANDOMDIRECTORY sia vuoto quando inizi. Dopo aver eseguito il comando precedente e il sistema è montato e pronto all'uso, tutti i file salvati in RANDOMDIRECTORY verranno crittografati in EFILES se il sistema è montato. Per un montaggio / smontaggio rapido è possibile creare uno script bash ed eseguirlo tramite un collegamento all'app o creare un comando alias per un montaggio rapido.

Lo uso da più di un anno.

EDIT: sono andato a casa per confermare, il tuo comando non è ecryptfs. i suoi encfs cioè

encfs /destination/encrypted /destination/unencrypted

mi dispiace per quello. Con questo dovrai installare un nuovo programma (probabilmente)


1
Ho digitato il comando ecryptfse risponde comando non trovato. man ecryptfsrichiama la pagina man per mount -t ecryptfs, ma non spiega davvero come creare un tale filesystem crittografato.
user3004015,

Nota che sto usando Ubuntu 14.04 LTS, quindi la mia installazione è relativamente recente. Il ecryptfscomando è un'aggiunta recente?
user3004015,

encfs non è lo stesso di ecryptfs. Questi sono due diversi.
Diagon
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.