eCryptFS: Come montare un backup di una directory home crittografata?


10

Uso eCryptFS per crittografare la home directory del mio laptop. Il mio script di backup copia i file crittografati su un server (insieme a tutto il resto (home/.ecryptfs).

Come posso montare i file crittografati del backup? Vorrei verificare che posso farlo e che tutto è a posto.

Il mio ingenuo tentativo con

mount -t ecryptfs /backup/home/.ecryptfs/boldewyn /mnt/test

non ha funzionato, eCryptFS voleva creare una nuova partizione.


Risposte:


15

Supponendo di utilizzare lo schema di crittografia standard di Ubuntu, senza ulteriori modifiche.

La "cartella" $ HOME / .ecryptfs è in realtà solo un collegamento.

Il vero posto dove si trovano i tuoi file è /home/.ecryptfs/$USER

Ci sono due cartelle lì, .Private (con i tuoi file crittografati) e .ecryptfs, con file come auto-mount, auto-umount, Private.mnt, Private.sig, wrapping-passphrase.

Si spera che i file di destinazione vengano copiati nel backup dell'host.

Se non è presente alcun backup del passphrased avvolto in questo server, ci si perde. Se è presente un backup, lo schema di crittografia è stato indebolito memorizzando la passphrase sul Web, a meno che non si controlli l'host in cui si esegue il backup.

Ho trovato questo script per il montaggio:

ROOT = / home / .ecryptfs / $ USER
TARGET = / mnt / $ USER

# ROOT dovrebbe essere il genitore delle cartelle .ecryptfs e .Private

sudo mkdir -p $ TARGET
cd $ ROOT

echo Digita la tua password:
PASS = $ (ecryptfs-unwrap-passphrase .ecryptfs / wrapped-passphrase | sed s / Passphrase: \ //)
SIG1 = $ (head -n1 .ecryptfs / Private.sig)
SIG2 = $ (tail -n1 .ecryptfs / Private.sig)

Passphrase di eco:
echo $ PASS
Firme echo:
echo $ SIG1
echo $ SIG2

echo Dovrebbe essere vuoto:
sudo keyctl clear @u
sudo keyctl list @u

echo Non digitare nulla:
echo $ PASS | sudo ecryptfs-add-passphrase --fnek

echo Potrebbe avere firme:
sudo keyctl list @u

echo Montaggio di $ ROOT su $ TARGET ...
sudo mount -t ecryptfs -o key = passphrase, ecryptfs_cipher = aes, ecryptfs_key_bytes = 16, ecryptfs_passthrough = no, ecryptfs_enable_filename_crypto = yes, ecryptfs_sig = $ SIG1, ecryptfs_fnek_sig = $ $ = $, $

$ TARGET

unset -v PASS

Ah, la passphrase da scartare era il trucco! Grazie!
Boldewyn,

1
Bene che funziona. In ogni caso, conservare la passphrase sul server indebolirà e talvolta distruggerà la sicurezza della crittografia.
user39559,

3
Link allo script originale ( thread completo ).
Kenorb,

Grazie! Sono sorpreso che non ci sia un comando standard per fare questo genere di cose. Se si utilizza EncryptedPrivateDirectory per crittografare solo il $HOME/Privatepunto di montaggio, utilizzare solo ROOT=$HOMEnello script. Ho cambiato lo script in ROOT=${ROOT:-/home/.ecryptfs/$USER}così posso semplicemente passare quel valore attraverso l'ambiente.
nealmcb,

Ahh - Vedo che il commento di @ kenorb si collega a una segnalazione di bug con dettagli sul perché l'approccio normale di avere il mount stesso richiede la passphrase tramite sudo mount -t ecryptfs .Private /mnt/privatenon funziona in Ubuntu. Hmm - bug di 6 anni ....
nealmcb,
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.