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.
Criptografar um bloco de dados, seja uma partição inteira ou um arquivo montado como dispositivo de blocos, não é tarefa muito complexa. Havendo um kernel com suporte adequado o usuário apenas tem de criar um script que satisfaça as suas necessidades. É possível tornar transparente ao usuário esse processo, de modo que nem seja notado que se está usando uma partição criptografada.
Quanto à performance, a perda de desempenho notada foi desprezível. E os testes foram realizados em uma máquina de poucos recursos, totalmente obsoleta, provavelmente em uma máquina moderna deve-se notar menos ainda a perda de desempenho.
Não há garantias que os dados não podem perder-se sendo armazenados na forma descrita no artigo. O autor mantém cópia de segurança de todos os seus dados criptografados.
Para complementar os procedimentos descritos, faz-se necessário criptografar a partição de swap. Pode-se optar por criar a partição em um arquivo, e então montá-la criptografada. Também seria interessante criptografar o diretório /tmp evitando que arquivos temporários pudessem ser recuperados no caso de roubo do disco rígido. Tais procedimentos não foram testados pelo autor
É importante destacar que a proteção oferecida pela criptografia é inútil se o computador for roubado estando ligado e com as partições montadas. Nesse caso o acesso aos dados é total. Para ter efetiva proteção as partições devem ser desmontadas, ficando assim protegidas. Deve-se tomar o cuidado de transportar computadores móveis sempre desligados, ou pelo menos com a partição de dados desmontada. Pode-se desmontá-la a qualquer momento com o comando /etc/init.d/hda6.sh stop, ou /etc/init.d/crypto.sh stop. Computadores caseiros estão relativamente mais seguros, porque provavelmente no momento do roubo serão desligados, protegendo assim os dados.
[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.