você está aqui: Home  → Arquivo de Mensagens

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!

Fonte: http://www.jsena.info/2010/10/24/criando-um-sistema-de-arquivos-criptogrado-no-gnulinux/



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

 

 

Opinião dos Leitores

Adilson
08 Ago 2012, 12:48
Muito bom o artigo, simples rápido e objetivo.
mas em um ambiente corporativo com rotação de senhas, tipo trocar senhas a cada 20 dias... se isso fora aplicado a essa ideia... como trocar a senha? É preciso fazer um bkp para outro lugar e refazer a ideia toda de novo? Ou tem alguma forma esperta de gerenciar isso ai?
Valeuzzz
Beca
28 Out 2010, 22:30
Muito legal o post. Parabéns!!
Beca
http://dicasparablog.blogspot.com/
Francisco Avelar
28 Out 2010, 17:17
Parabéns pelo artigo. Escrito de modo didático, bem contextualizado e com exemplos.
Com esse aprendizado que ganhei no Dicas-L, passarei a criptografar meus dados armazenados principalmente no pendrive.
Sucesso a todos!
Adalberto
27 Out 2010, 08:06
Gostaria de dar os parabéns pelo artigo. Instrutivo, didático e tenho certeza, um tema muito proveitoso para a época em que vivemos. É por isto que faço parte desta lista e tenho aumentado os meus conhecimentos.
Parabéns!
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script