Segurança total é algo impossível, e mesmo tendo os melhores recursos de segurança na configuração de firewalls ou permissões de acesso, os usuários não estão livres do roubo físico dos seus dados. Criptografar o sistema de arquivos da máquina é uma forma efetiva de proteger-se de roubo de dados.
Para criar uma partição criptografada o usuário deverá antes de mais nada associá-la a um dispositivo de bloco e encriptá-la. Isso é feito usando-se o programa losetup. O argumento "-e" diz ao losetup para encriptar a partição (/dev/hda6) usando o algoritmo de encriptação (blowfish) escolhido e associá-lo ao dispositivo de bloco (/dev/loop0) escolhido.
A senha é pedida uma única vez. Deve-se ter muito cuidado ao digitar a senha, pois sem ela não será possível acessar a partição. Por hora também é impossível trocar a senha sem reformatar o sistema de arquivos criado e perder os dados. O próximo passo é formatar o dispositivo de bloco recém criado e criar um sistema de arquivos.
# mkfs.ext2 /dev/loop0
Não é necessário que o dispositivo seja formatado como ext2. Pode ser qualquer sistema de arquivo, como ReiserFS ou ext3. Após formatar o dispositivo, deve-se montá-lo normalmente.
# mount -t ext2 /dev/loop0 /mnt/hda6
A partir desse ponto pode-se usar a partição normalmente. Para desmontá-la faz-se:
# umount /mnt/hda6
# losetup -d /dev/loop0
O "losetup -d" é necessário para desconectar a partição /dev/hda6 do dispositivo /dev/loop0.
[4] Comentário enviado por androle em 01/10/2004 - 20:00h
Levei um puxão de orelha do meu orientador por não comentar o motivo de ter escrito esse artigo.
Artigo desenvolvido para a disciplina de "Segurança Computacional", do curso ARL - Administração em Redes Linux. (http://ginux.comp.ufla.br/arl), cujo tutor foi o professor Joaquim Quinteiro Uchôa.
[6] Comentário enviado por engos em 05/10/2004 - 13:43h
Parabéns pelo artigo, nem sabia que isso é possível... é inacreditável o que se pode fazer com o Linux!
Só uma pergunta, não consegui entender direito como os dados ficam armazenados. Significa que se a partição ou o arquivo estiverem criptografados, mesmo que eu entre (boot) com um rescue disk e monte a partição como praxe, não conseguirei acesso aos dados?
[7] Comentário enviado por androle em 05/10/2004 - 23:41h
Olá. Obrigado.
Sim, é isso mesmo! Eu testei isso aqui. Se vc não tiver os módulos cryptoloop, loop e blowfish (ou o que vc tiver usado para criptografar), e também a senha correta, os dados ficam inacessíveis. Não tem jeito.
Basta colocar a senha errada e vc não monta a partição ou arquivo. No meu notebook eu coloquei no script uma mensagem dizendo: "Tecle ENTER agora" no momento de pedir a senha. Assim, o sistema inicializa com o /home desmontado :)
Para poder montar a partição criptografada vc precisa da senha, senão o losetup associa a partilção/arquivo ao /dev/loop(0-7), mas o mount não consegue ler a partição e não monta nada. Os teus arquivos estão lá, mas não podem ser lidos, nem pelo root nem por ninguém.
O interessante é que se vc quiser pode montar um arquivo de, digamos, 150KB, como dispositivo de bloco, gravar informações nele e enviá-lo a alguém. Ai, se a pessoa sabe a senha ela pode montá-lo normalmente. Desse modo vc pode ter pacotes criptografados enviados por email sem ter de usar gpg ou outra ferramenta do tipo. E não é muito difícil fazer um pequeno script para enviar junto com o arquivo para facilitar a montagem e extração dos dados. Claro, a senha vc tem de combinar antes com a pessoa através de algum meio seguro de comunicação.