eCryptFS: Como montar um backup de um diretório doméstico criptografado?

10

Eu uso o eCryptFS para criptografar o diretório inicial do meu laptop. Meu script de backup copia os arquivos criptografados em um servidor (junto com tudo o mais (home/.ecryptfs).

Como montar os arquivos criptografados do backup? Gostaria de verificar se posso fazer isso e se tudo está no lugar.

Minha tentativa ingênua com

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

não funcionou, o eCryptFS queria criar uma nova partição.

Boldewyn
fonte

Respostas:

15

Supondo que você use o esquema de criptografia padrão do Ubuntu, sem ajustes adicionais.

A "pasta" $ HOME / .ecryptfs é na verdade apenas um link.

O verdadeiro local onde seus arquivos ficam é /home/.ecryptfs/$USER

Existem duas pastas: .Private (com seus arquivos criptografados) e .ecryptfs, com arquivos como montagem automática, montagem automática, Private.mnt, Private.sig, frase-quebra automática.

Espero que os arquivos de destino sejam copiados para o backup do host.

Se não houver backup da sua senha criptografada neste servidor, você estará perdido. Se houver um backup, seu esquema de criptografia será enfraquecido ao armazenar sua senha secreta na Web, a menos que você controle o host em que faz o backup.

Encontrei este script para montagem:

ROOT = / home / .ecryptfs / $ USUÁRIO
TARGET = / mnt / $ USUÁRIO

# ROOT deve ser o pai das pastas .ecryptfs e .Private

sudo mkdir -p $ TARGET
cd $ ROOT

eco Digite sua senha:
PASS = $ (ecryptfs-desembrulhar-passphrase .ecryptfs / embrulhado-passphrase | sed s / Passphrase: \ //)
SIG1 = $ (cabeça -n1 .ecryptfs / Private.sig)
SIG2 = $ (cauda -n1 .ecryptfs / Private.sig)

Frase de eco:
eco $ PASS
eco Assinaturas:
echo $ SIG1
echo $ SIG2

eco Deve estar vazio:
sudo keyctl clear @u
lista sudo keyctl @u

eco Não digite nada:
eco $ PASS | sudo ecryptfs-add-passphrase --fnek

eco Deve ter assinaturas:
lista sudo keyctl @u

eco Montagem $ ROOT em $ TARGET ...
sudo mount -t ecryptfs -o key = passphrase, ecryptfs_cipher = aes, ecryptfs_key_bytes = 16, ecryptfs_passthrough = não, ecryptfs_enable_filename_crypto = yes, ecryptfs_enable_filename_crypto = sim, ecryptfs_sig = $ SIG1, $ ecigptfs $ $

ls $ TARGET

unset -v PASS
user39559
fonte
Ah, a senha que desembrulhou foi o truque! Obrigado!
precisa saber é o seguinte
1
Bom que funciona. De qualquer forma, manter sua senha secreta no servidor enfraquecerá e, às vezes, destruirá sua segurança de criptografia.
precisa saber é o seguinte
3
Link para o script original ( tópico completo ).
Kenorb # 8/14
Obrigado! Estou surpreso que não haja um comando padrão para fazer esse tipo de coisa. Se você estiver usando o EncryptedPrivateDirectory para criptografar apenas o seu $HOME/Privateponto de montagem, basta usar ROOT=$HOMEno script. Eu mudei o script para ROOT=${ROOT:-/home/.ecryptfs/$USER}apenas passar esse valor pelo ambiente.
Nealmcb 18/05
Ahh - Vejo que o comentário do @ kenorb está vinculado a um relatório de bug com detalhes sobre por que a abordagem normal de montar a própria peça solicita a frase secreta via sudo mount -t ecryptfs .Private /mnt/privatenão funciona no Ubuntu. Hmm - bug de 6 anos ....
nealmcb