web-dev-qa-db-ja.com

eCryptFS:暗号化されたホームディレクトリのバックアップをマウントする方法は?

ECryptFSを使用して、ラップトップのホームディレクトリを暗号化します。私のバックアップスクリプトは、暗号化されたファイルをサーバーにコピーします((home/.ecryptfsの他のすべてのものと一緒に)。

バックアップの暗号化されたファイルをマウントするにはどうすればよいですか?それができること、そしてすべてが整っていることを確認したいと思います。

私の素朴な試み

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

動作しませんでした。eCryptFSは新しいパーティションを作成したかったのです。

10
Boldewyn

余分な調整をせずに、Ubuntuの標準暗号化スキームを使用していると仮定します。

$ HOME /.ecryptfsの「フォルダ」は実際には単なるリンクです。

ファイルが保存される実際の場所は/home/.ecryptfs/$USERです。

そこには、.Private(ファイルが暗号化されている)と.ecryptfsの2つのフォルダーがあり、auto-mount、auto-umount、Private.mnt、Private.sig、wrapped-passphraseなどのファイルがあります。

うまくいけば、ターゲットファイルがホストバックアップにコピーされます。

このサーバーにラップされたパスフレーズのバックアップがない場合は、失われます。バックアップがある場合、バックアップを作成するホストを制御しない限り、ラップされたパスフレーズをWebに保存することにより、暗号化スキームが弱体化しています。

私は見つけました このスクリプト マウント用:

ROOT =/home/.ecryptfs/$ USER 
 TARGET =/mnt/$ USER 
 
#ROOTは、.ecryptfsフォルダーと.Privateフォルダーの親である必要があります
 
 Sudo mkdir -p $ TARGET 
 cd $ ROOT 
 
 echoパスワードを入力してください:
 PASS = $(ecryptfs-unwrap-passphrase。 ecryptfs/wrapped-passphrase | sed s/Passphrase:\ //)
 SIG1 = $(head -n1 .ecryptfs/Private.sig)
 SIG2 = $(tail -n1 .ecryptfs/Private .sig)
 
 echoパスフレーズ:
 echo $ PASS 
 echo署名:
 echo $ SIG1 
 echo $ SIG2 
 
 echoは空にする必要があります:
 Sudo keyctl clear @u 
 Sudo keyctl list @u 
 
 echo何も入力しないでください:
 echo $ PASS | Sudo ecryptfs-add-passphrase --fnek 
 
 echo署名が必要:
 Sudo keyctl list @u 
 
 echo $ ROOTを$にマウント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 = $ SIG echo $ PASS).Private $ TARGET 
 
 ls $ TARGET 
 
 unset -v PASS 
15
user39559