Você pode usar o sistema de arquivos de fusíveis encfs para fazer isso simplesmente. Instale rpm fuse-encfs
ou apt package encfs
e use encfs --reverse
para montar uma versão criptografada de qualquer diretório, por exemplo, /tmp/mycleardata
, em um novo ponto, por exemplo, /tmp/crypt-view
. Faça backup desse diretório da maneira usual e desmonte o sistema de arquivos do fusível. Você também precisa fazer o backup do .encfs6.xml
que foi adicionado ao seu diretório original e lembrar-se da senha usada quando encfs
pediu uma. Quando você quiser atualizar o backup, faça os mesmos comandos. Isso irá reutilizar o arquivo .encfs6.xml
e precisará da mesma senha.
Aqui está um script de exemplo para brincar. Obviamente, normalmente você não fornece a senha in-line e normalmente não destrói o arquivo .encfs6.xml
.
# create some test data directory
mkdir -p /tmp/mycleardata/dira
date > /tmp/mycleardata/dira/filea
date > /tmp/mycleardata/fileb
# mount an encrypted view. encfs asks for a config (blank line) and pw
mkdir -p /tmp/crypt-view
if [ -f /tmp/mycleardata/.encfs6.xml ]
then encfs --stdinpass --reverse /tmp/mycleardata /tmp/crypt-view <<\!
mypassword
!
else encfs --stdinpass --reverse /tmp/mycleardata /tmp/crypt-view <<\!
mypassword
mypassword
!
fi
# show files, do a backup
ls -ltRA /tmp/mycleardata/
ls -ltR /tmp/crypt-view
rsync -a /tmp/crypt-view/ /tmp/mybackup
# remove the crypted view
fusermount -u /tmp/crypt-view
ls -ltR /tmp/mybackup
# restore from backup. use encfs to mount backup and show clear view
mkdir -p /tmp/newclear
ENCFS6_CONFIG=/tmp/mycleardata/.encfs6.xml encfs --stdinpass /tmp/mybackup /tmp/newclear <<\!
mypassword
!
ls -ltR /tmp/newclear # should be same as original dir
fusermount -u /tmp/newclear # remove clear view
Veja um exemplo dos nomes de arquivos resultantes:
/tmp/mybackup:
-rw-r--r-- 1 meuh 30 May 14 17:40 42eg5KinDst09lDzN4YNRAIG
-rw-r--r-- 1 meuh 1264 May 14 17:32 bj5Su3csNAALZEAJEB,CazsC
drwxr-xr-x 2 meuh 60 May 14 17:18 sJzZa,U7Oeyfq2j8tfeLqkm,
/tmp/mybackup/sJzZa,U7Oeyfq2j8tfeLqkm,:
-rw-r--r-- 1 meuh 30 May 14 17:40 q-c1AOYzAcy06HJ8klCZewsD
Observe esta mensagem de segurança na instalação do pacote encfs:
According to a security audit by Taylor Hornby (Defuse Security), the current implementation of Encfs is vulnerable or potentially vulnerable to multiple types of attacks. For example, an attacker with read/write access to encrypted data might lower the decryption complexity for subsequently encrypted data without this being noticed by a legitimate user, or might use timing analysis to deduce information.
Until these issues are resolved, encfs should not be considered a safe
home for sensitive data in scenarios where such attacks are possible.
Você também pode procurar em ecryptfs , que pode opcionalmente criptografar nomes de arquivos, e duplicidade que criptografa o rsync.