Como criptografar diretórios com eCryptfs no Linux
Como criptografar um diretório com eCryptfs no Linux
O eCryptfs é um sistema de arquivos criptográfico para Linux, que pode ser utilizado para criptografar partições de disco e diretórios no sistema, independentemente do sistema de arquivos e tipo de partição empregados. Vamos mostrar como empregar esse programa para criptografar diretórios em um sistema Linux Ubuntu.
O site oficial do utilitário é o www.ecryptfs.org, onde você pode obter pacotes binários, código-fonte e documentação completa.
Vou criar um diretório para testes, de nome /dirSecreto, na raiz de meu sistema, usando o comando mkdir, como usuário root:
mkdir /dirSecreto
Instalando o eCryptfs
Para instalar o pacote de criptografia, execute o comando a seguir no terminal:
apt-get -y install ecryptfs-utils
Criptografar o diretório
Para criptografar o diretório /dirSecreto ele deve ser montado sobre si mesmo com o sistema de arquivos do tipo ecryptfs, usando o comando a seguir:
mount -t ecryptfs /dirSecreto /dirSecreto
Uma observação importante é que se você já tiver arquivos dentro do diretório que será criptografado, faça um backup para outra pasta no sistema, pois eles não estarão acessíveis após aplicar a criptografia no diretório. Depois de criptografar o diretório, copie de volta esses arquivos, para que eles sejam criptografados também.
Ao realizar a montagem, algumas perguntas serão feitas no terminal interativo, como por exemplo o tipo de criptografia a ser empregada, uma passphrase e outros parâmetros. Responda como no exemplo a seguir (respostas em negrito e vermelho:
Passphrase: [digite uma frase / senha de sua escolha] Select cipher: 1) aes: blocksize = 16; min keysize = 16; max keysize = 32 2) blowfish: blocksize = 8; min keysize = 16; max keysize = 56 3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 Selection [aes]: 1 Select key bytes: 1) 16 2) 32 3) 24 Selection [16]: 1 Enable plaintext passthrough (y/n) [n]: n Enable filename encryption (y/n) [n]: n Attempting to mount with the following options: ecryptfs_unlink_sigs ecryptfs_key_bytes=16 ecryptfs_cipher=aes ecryptfs_sig=1605c7371787fc26 WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt], it looks like you have never mounted with this key before. This could mean that you have typed your passphrase wrong. Would you like to proceed with the mount (yes/no)? : yes Would you like to append sig [1605c7371787fc26] to [/root/.ecryptfs/sig-cache.txt] in order to avoid this warning in the future (yes/no)? : yes Successfully appended new sig to user sig cache file Mounted eCryptfs
Após realizar a criptografia do diretório, execute o comando mount para verificar se o procedimento teve êxito:
mount
Saída do comando mount (mostrando apenas a linha que interessa):
/dirSecreto on /dirSecreto type ecryptfs (rw,relatime,ecryptfs_sig=1605c7371787fc26,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)
O diretório foi criptografado com os parâmetros fornecidos anteriormente.
Testando a criptografia
Vamos testar a criptografia aplicada no diretório criando um arquivo de texto nele. Entre no diretório /dirSecreto e crie um arquivo com seu editor de textos preferido. Digite qualquer coisa dentro dele, salve e saia. Vou digitar a frase “O conteúdo deste arquivo está protegido!”. O arquivo estará criptografado:
vi testeArquivo
Verifique se ele é legível:
cat testeArquivo
O conteúdo deste arquivo está protegido!
Conseguimos ler o conteúdo do arquivo pois o diretório criptografado está montado no momento. Para que não seja possível acessar o conteúdo do arquivo, basta desmontar o diretório com o comando umount (saia do diretório antes!):
umount /dirSecreto
Se tentarmos ler o conteúdo do arquivo novamente, eis o que obteremos:
cat testeArquivo
Saída:
+�v�!g�5�”3DUfw`�t�H#=���ҫ�4�%�_CONSOLE�7��&%���k���O����i���z2����)4����QU�Ϻ�A��͑}��s���)�T�cj
��tUہ��(��N��+�q#\Gv-�+5��*����W�R�N�L��
�]�U�����Z
��u���8
I�{O��JTJ�wmDY�i���������w�ID�_Y��En��Lr�$��@����6�]
J�x?4�Ӣ�6���H*9�np�F!w���P扁�E��q���|3�L��H�s�IJ�5�-Ǫa���;�v
Vt��r>����9ڐy�O��EJ������l’��k~x�PY־��be�~�r��S3K_S��xƛ�\���{�43����Z����>kl�X����&��q��.`�/Ɗ����Uc
B��R&���y�)���4x��u��F�����u}�!�Ne�r��ga2\�{>�#�j,�\G�p%h��’��~~�*���9�@g&W��dd`�ͩ8�����\�y��|�gi�00\i{���EkX�E\GMMg
9qt�K[NL��l�h<��g��
���$�}�:�Q/�A�
����}s]<�n��e}g�SRm.娴G�r7(
�=�7�{���A�To9����_D��o��G8}wM��ω�����y�CA������̗S3��Zk;��{��S1iW1���
�ݳ��zej]P`��t�v�;�j��¬��2��)h#
?�+E
bV��U���M���q� H�_]&�O�
��
�@�g���|���&2e��C�Z�U�;�
d�w�`�”����%�D���ĝq��`v�(���`�h�K5�xO��ZWQHzyK��,����^6�z���O�1F, �D��q2���
?�XTw������J8qQ?�2�4g��\vQ�Dv$@��~ċ(��:|��.��0���/��|~�az�
�Be�m���UVW���B���%�銃w̩
| �4�� ��.K��o�`l����>”P?)�=�Ӳ��~�+�&b�b^87�#��U”;�Rݨ���j����(�j4H߳��� �oH�`$��ā�^�#n��t����(��܊N�7��i����lx�P��^�K���u�M�9*z#�)F�
[saída truncada]
Como podemos ver claramente, o arquivo está no diretório, porém é ilegível, por estar criptografado. Para que possa ser lido novamente, é necessário montar o diretório, usando os mesmos parâmetros que foram usados anteriormente.
Montando a partição criptografada automaticamente durante o boot
Para que não seja necessário montar manualmente a partição toda vez que quisermos utilizar os arquivos criptografados, vamos montá-la automaticamente durante a inicialização do sistema. Veremos esse procedimento na parte 02 deste tutorial.
Escreva um comentário