De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Criando um sistema de arquivos criptogrado no GNU/Linux

Colaboração: Jansen Sena

Data de Publicação: 27 de outubro de 2010

O aumento da capacidade de armazenamento dos meios de armazenamento (HDs, pen drives, cartões de memória, etc) e a redução drástica nos preços desses equipamentos mantém uma relação proporcional ao nível de dependência, cada vez maior, diga-se de passagem, que os usuários (e suas corporações) possuem com relação às informações preservadas nesses dispositivos. Hoje, pequenos pen drives possuem muito mais espaço de armazenamento do que servidores inteiros de alguns anos atrás. Discos com terabytes de capacidade podem ser adquiridos na maioria das lojas de informática a preços bem acessíveis. Some-se a isso o fato desses meios de armazenamento estarem menores e , portanto, "perambulando" em bolsas, bolsos, mochilas, pastas, dentre outros.

Essas facilidades, entretanto, aumentam em muito a possibilidade de se perder esses equipamentos ou mesmo tê-los furtados por outra pessoa. Ainda que sejam arquivos de natureza pessoal, tais como fotos, e-mails e outros documentos, a maioria das pessoas não gostaria de ver esses arquivos em mãos erradas, não é mesmo? Trocando o contexto para o meio corporativo, o comprometimento de informações pode inviabilizar projetos, negócios, estratégias e até a própria sobrevivência da instituição. Por outro lado, são poucas as pessoas e as instituições que têm implementados mecanismos que possam proteger as informações contra a perda ou o roubo dos meios de armazenamento. A grande maioria prefere sofrer com o arrependimento e com as lamentações quando perdem seus dados e os deixam expostos sem qualquer proteção para evitar que os mesmos sejam acessados (e explorados) livremente.

A boa notícia é que existem recursos muito simples para instalar e configurar alguns mecanismos e ferramentas para melhorar a confidencialidade de suas informações. Dentre os diversos recursos e ferramentas disponíveis, uma das mais eficazes são os sistemas de arquivos criptografados e, em ambientes GNU/Linux é algo simples de fazer. A seguir, compartilho uma das maneiras que costumo utilizar para criar, rapidamente, sistemas de arquivos criptografados. Vamos lá?

Irei tomar como referência o Ubuntu Linux. Entretanto, respeitadas as diferenças no processo de instalação dos pacotes necessários, o restante do processo é semelhante em outras distribuições. Em tempo, o processo a seguir mostra os procedimentos utilizando-se utilitários de linha de comando. Com isso, esse mesmo processo pode ser utilizado para criar sistemas de arquivos criptografados em servidores e/ou desktops da mesma maneira.

O primeiro passo consiste em instalar os pacotes necessários. Para tal, a partir de um terminal com privilégios de super-usuário, execute o seguinte comando:

 # apt-get install cryptsetup cryptmount

Em seguida, supondo que você reservou a partição /dev/sda5 para criar o seu sistema de arquivos seguro, o próximo passo consiste em formatá-la já considerando a camada de criptografia. Esse processo irá exigir a inserção de uma "frase-senha" que irá proteger o sistema de arquivos. Portanto, a segurança de seus dados será proporcional à força dessa senha. Esse passo deve ser executado por meio do comando abaixo:

# cryptsetup luksFormat /dev/sda5
WARNING!
========
This will overwrite data on /dev/sda5 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:

IMPORTANTE: Caso você esteja criptografando o conteúdo de um pen drive ou de qualquer outro dispositivo de armazenamento que já contenha um sistema de arquivos convencional e que seja, por conta disso, montado automaticamente em seu ambiente, tome o cuidado de desmontá-lo antes de prosseguir com as configurações. Caso contrário, o comando cryptsetup luksFormat irá falhar!

Observe que, antes de solicitar a senha, o comando irá confirmar se pode prosseguir sua execução uma vez que esse processo irá sobrescrever todos os dados que possam estar, eventualmente, presentes nessa partição. Para confirmar, é necessário responder com YES (em caixa alta). Logo depois, a "frase-senha" e sua respectiva confirmação são solicitadas.

Uma vez criado o sistema criptografado, é necessário "abrir" o dispositivo de forma que ele possa ser acessado como um device convencional e que, portanto, possa conter um sistema de arquivos como o ext3, por exemplo. Isso deve ser feito através do seguinte comando que irá solicitar a "frase-senha":

# cryptsetup luksOpen /dev/sda5 MYCRYPT
Enter passphrase for /dev/sda5:
Key slot 0 unlocked.

Executado esse comando, o sistema operacional deve ter criado um dispositivo chamado /dev/mapper/MYCRYPT que é, na verdade, um dispositivo normal de armazenamento como outro qualquer e que pode, portanto, ser formatado. Entretanto, nesse caso, os dados armazenados em /dev/mapper/MYCRYPT são salvos, fisicamente, no sistema de arquivos criptografado criado em /dev/sda5. Em outras palavras, uma vez que seus meios de armazenamento caiam em mãos erradas, o que o "novo dono" terá acesso é um monte de dados criptografados que não representam nada (a não ser que você tenha deixado sua "frase-senha" à mostra em algum lugar).

Para formatar o sistema de arquivos mapeado com ext3, por exemplo, utilize o próprio comando mkfs.ext3:

 # mkfs.ext3 -L MYCRYPT /dev/mapper/MYCRYPT

Criado o sistema de arquivos, monte-o normalmente para poder começar a salvar seus dados mais sensíveis:

 # mount  /dev/mapper/MYCRYPT /media

No Ubuntu Desktop, o processo de montagem também pode ser feito pela própria interface gráfica. Ou seja, após criar e formatar o sistema de arquivo, ao acessar a opção Places (Lugares) na barra superior, já é possível ver o reconhecimento do dispositivo criptografado recém-criado. Ao selecionar esse disco, o próprio ambiente gráfico já solicita a senha para montagem do dispositivo.

Voltando pra linha de comando, após utilizar o sistema de arquivos seguro, você deve desmontá-lo e, em seguida, desfazer o mapeamento criado entre o dispositivo criptografado (/dev/sda5) e o mapeado (/dev/mapper/MYCRYPT):

# umount /media
# cryptsetup luksClose MYCRYPT

Para explorar mais funcionalidades tais como trocar ou adicionar senhas para o sistema de arquivos criptografos, consulte a man page do comando cryptsetup.

Existem ainda opções para fazer com que o sistema de arquivos criptografado seja montado automaticamente todas as vezes que o usuário efetua o seu login no sistema. Isso pode ser feito por meio do PAM combinado com outras configurações. Mas, vamos deixar isso pra uma outra oportunidade.

Espero que essa dica seja, de alguma maneira, útil e que, depois dela, seus dados mais críticos recebam a proteção que eles merecem!

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Jansen Sena