cryptsetup + LUKS - Protegendo suas informações - [root@madeira.eng.br ~]#
Wed 20 of Oct, 2021 (06:33 UTC)
cryptsetup + LUKS - Protegendo suas informações
Criada por: Frederico Madeira, última modificação em: Wed 02 of Sep, 2009 (01:13 UTC)
Hoje em dia, é bastante comum o uso de notebooks, pendrivers e HD's externos, tanto pelo mercado doméstico como no mercado corporativo. Este comportamento nos trás praticidades e mobilidade para acessarmos nossas informações em qualquer lugar e a qualquer momento. Por outro lado, pode nos trazer alguns problemas, tanto para nós, se os equipamentos forem pessoais ou para a empresa caso eles sejam corporativos.
Estamos sempre sujeitos a sermos roubados, esquecermos nossa pendrive no laboratório ou sala de aula ou em algum local da empresa ou ainda enviarmos o notebook para a manutenção. Qual a ameaça que estas situações nos impõem ? Esta resposta é simples: A violação dos nossos dados.
Na forma tradicional, as informações armazenadas nos dispositivos mencionados acima não possuem nenhuma forma de proteção contra abelhudos que por ventura tenham acesso aos nossos dispositivos, podendo desta forma, olhar/copiar/apagar os nossos documentos, nossas fotos, nossos e-mails, etc... Se este equipamento for corporativo, o impacto pode ser maior, pois documentos importantes podem cair nas mãos da concorrência ou ainda da mídia.
Empresas com Petrobrás já foram vítimas desta problema.
O objetivo deste tutorial é orientar o leitor na criação de volumes criptográficos seguros para a armazenagem segura de informações.
Usaremos um CentOS 5.3 (mas poderia ser qualquer outra distro) com o pacote cryptosetup que utiliza o módulo do kernel dm-crypt, introduzido na versão 2.6. Trata-se de um device-mapper (mapeador de dispositivo) que provê uma forma genérica para criar uma camada virtual nos dispositivos de blocos. Esta camada é feita de forma transparente para o usuário, realizando a tarefa de cifrar os dados quando forem escritos no dispositvo de bloco e decifrar os dados quando forem lidos do dispositivo de blocos.
1. Definindo a partição a ser cifrada.
No meu caso, estou usando um HD externo de 1Tb e irei cifrar uma partição de 770 Gb que conterá o meu backup pessoal. Para tanto, após conectar o HD externo, vamos rodar o fdisk para identificar o nome do device correspondente a esta partição.
/dev/sdd1               1       25497   204800000    7  HPFS/NTFS
/dev/sdd2           25497      121601   771959008+  8e  Linux LVM
O device desejado é o /dev/sdd2. Este nome pode variar de caso para caso. Caso seja especificado aqui o device errado, você poderá tornar seu indisponibilizar o seu sistema ou ainda perder seus dados.
Como forma de aumentarmos a segurança da partição encriptada, vamos escrever dados randomicamente em toda a partição, fazendo com que um possível atacante não seja capaz de identificar quanto do sistema de arquivo está em uso e em quais partes da partição possuem dados e em quais não possuem. A partição inteira aparecerá com vários blocos, em posições não seqüenciais, preenchidos aleatoriamente.