Criando um repositório criptografado de dados com Cryptsetup (dm-crypt) sem (re)particionamento do HD

Aprenda a criar um repositório criptografado para arquivos e diretórios sem a necessidade de (re)particionar o disco rígido.

[ Hits: 38.755 ]

Por: Stefano Fontes em 17/08/2010


Formatando o volume criptografado



Agora que possuímos um volume criptografado, vamos prepará-lo para a utilização. Para tanto, é preciso primeiramente acessar o dispositivo:

# cryptsetup luksOpen /dev/loop1 teste
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.

Como observamos, o comando acima abriu o volume criptografado /dev/loop1 (que, como já dissemos, trata-se na verdade do arquivo associado /tmp/teste), com o nome "teste" (este último também pode ser qualquer nome que você desejar); ao fornecermos a senha após a frase " Enter LUKS passphrase: " (que mais uma vez lembramos NÃO será ecoada, exibida na tela), a mensagem "Command successful" indica que o volume criptografado está agora acessível.

Ele estará acessível em /dev/mapper/teste; mas não confunda este "dispositivo virtual" "teste" com o arquivo "teste", que está associado ao dispositivo loop1, e que é a base "real", "física" de tudo, criado anteriormente no diretório /tmp, e que é de fato o verdadeiro volume criptografado. Mas para as operações com o programa "cryptsetup" você sempre utilizará o dispositivo aberto sob o diretório /dev/mapper (no exemplo acima /dev/mapper/teste).

Agora que temos acesso ao dispositivo, podemos formatá-lo normalmente, como por exemplo:

# mke2fs -b 1024 -m1 -j /dev/mapper/teste

Isto criará um sistema de arquivos ext3 com blocos de 1024 bytes e apenas 1% de espaço reservado ao root (para economizar espaço) no dispositivo.

Finalmente, podemos montar o sistema de arquivos criado sobre o volume criptografado:

# mkdir /mnt/teste
# mount -t ext3 -o defaults /dev/mapper/teste /mnt/teste


Para torná-lo acessível através de sua partição /home, faça o seguinte (assumindo que você realizou todo o procedimento acima como root e que o seu usuário "comum" é "usuário", seu grupo é "grupo" e seu /home é "/home/usuário"), ajuste as permissões e crie um "link" simbólico, como por exemplo:

# chown -R usuário.grupo /mnt/teste
# ln -s /mnt/teste /home/usuário/teste


Agora você poderá copiar para o volume criptografado os seus arquivos e/ou diretórios confidenciais utilizando "cp" ou o "rsync" normalmente, como faria com um diretório "comum".

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Provendo os suportes no kernel
   3. Provendo outros pré-requisitos
   4. Criando o volume criptografado
   5. Formatando o volume criptografado
   6. Finalizando
Outros artigos deste autor

Configurando disquete e pendrive para boot sem suporte na BIOS

Provendo dados em um servidor PostgreSQL através do Apache e PHP

Leitura recomendada

Vírus? Checando base de dados de fabricantes proprietários como McAfee e Symantec e aplicando em distribuições Red Hat

Teste de vulnerabilidades com OpenVAS 3.0

Hardening em sistemas operacionais Linux (Completo)

Criando um cluster de alta performance para quebrar senhas

Seguraça extrema com LIDS

  
Comentários
[1] Comentário enviado por Arthur Andrade em 17/08/2010 - 15:15h

Cara, apesar de te dar os meus parabéns pelo texto.
Devo adimitir que não compreendi nada, e anda longe de ser
devido á tua didática, que por sinal é muito boa.

Mas devido a minha falta de conhecimento. Eu sonho com
o dia em que eu leia um texto de tal complexidade e o
compreenda.

Parabéns pelo texto! ;]

[2] Comentário enviado por rogeriojlle em 18/08/2010 - 07:24h

@Arthur

uso uma forma diferente de criptografar meus dados, me pareceu mais simples, mas não sei te dizer se é equivalente em segurança à do artigo acima, eu ao menos estou satisfeito
meu sistema é o OpenSuse 11.3

instale o pacote "encfs" (não é necessário, mas se você reiniciar a máquina logo depois disso, não precisa passar um parâmetro extra aos comandos a seguir, vou assumir que a máquina foi reiniciada ...)

crie uma pasta onde ficarão fisicamente os dados criptografados ex:

mkdir /home.... (tá use o nautilus mesmo, é mais fácil)

crie/use outra pasta onde os dados vão aparecer para uso

mkdir ...(já sabe)

o comando é equivalente ao "mount", só troca por "encfs" (aí faz no terminal mesmo, não tem gui pro OpenSuse, só pra Ubuntu até onde sei, é o Gencfs)

$ encfs /pasta/onde/ficará/o/conteúdo criptografado /pasta/de/onde/eles/devem/ser/acessados

da primeira vez tem um wizard pra criar, sugestão: use a opção "P"
para desmontar é igual a qualquer outro FUSE

$ fusermount -u /pasta/de/onde/eles/devem/ser/acessados

é rapidinho e precisa ser root só pra instalar as coisas
outra sugestão: crie a pasta onde ficam os dados, em sua pasta de disco virtual (ex: Dropbox), já ajuda no backup

[3] Comentário enviado por removido em 18/08/2010 - 14:27h

Tenho uns arquivos que são super secretos, então uso o encfs dentro de uma partição criptografada com o cryptsetup.Segurança duplicada.

[4] Comentário enviado por nicolo em 21/08/2010 - 16:55h

Se quiserem fazer isso tudo mais fácil ainda é só instalar o truecrypt , é tudo gráfico.

[5] Comentário enviado por rogeriojlle em 21/08/2010 - 18:58h

@nicolo

o truecrypt tem alguns problemas quando executado por usuário comum, e se voce dar "sudo" mesmo que só pro truecrypt, ele pode usar todo o sistema como root, se não fizer uma série de outras modificações, agora se for o unico usuario do computador, concordo com voce o truecrypt é bastante fácil de usar


Contribuir com comentário