The power of root

Criptografando HD Externo

qua 19 agosto 2015 criptografia / hd / externo /

Olá pessoal.

Como estou prestes a trocar o hd do meu notebook por um SSD e reduzindo muito o tamanho do disco, tive a necessidade de salvar os meus arquivos em um hd externo. Como tenho muitos arquivos "confidenciais" é de extrema importancia que os dados fiquem seguros em caso de extravio, furto, etc.

Pesquisando um pouco encontrei várias formas para proteger o hd externo, criando um diretório e criptografando apenas ele e salvando os arquivos dentro, criptografar os arquivos, onde quando necessário utilizá-los precisaria descriptografá-los e após o uso criptografar novamente (processo muito grabalhoso), ou criptografar o disco todo ficando transparente para o usuário.

Trocando uma idéia com o meu brother ArcoVerde me sugeriu a utilização do dm-crypt para criptografar o sistema de arquivo todo, então resolvi pesquisar um pouco para entender o seu funcionamento.

Para instalá-lo em distribuições debian-like é muito simples:

apt-get install cryptsetup

Após o pacote instalado, devemos garantir que o disco esteja todo zerado, podemos fazer isso executando o seguinte comando (supondo que o hd externo seja /dev/sdc1 :

dd If=/dev/zero of=/dev/sdc1 bs=1M count=128

Agora ao inves de utilizarmos uma partição ext4 por exemplo, vamos criar uma partição LUKS com o seguinte comando:

cryptsetup luksFormat /dev/sdc1

O sistema irá informar que os dados serão perdidos:

emilio ~ $ sudo cryptsetup luksFormat /dev/sdc1

WARNING!
========
Isto irá sobrescrever os arquivos em /dev/sdc1 definitivamente.

Are you sure? (Type uppercase yes): YES
Informe a frase secreta:

Confirme a operação digitando YES em caixa alta e digite uma senha forte e segura.

Agora vamos mapear o nosso hd externo:

emilio ~ $ sudo cryptsetup luksOpen /dev/sdc1 hdexterno
Informe a frase secreta para /dev/sdc1:

Onde o hdexterno pode ser trocado por qualquer nome de sua preferencia.

Após mapearmos o nosso hd externo o mesmo se encontrará em /dev/mapper/hdexterno, agora vamos efetuar a formatação da partição:

emilio ~ $ sudo mkfs.ext4 /dev/mapper/hdexterno
mke2fs 1.42.9 (4-Feb-2014)
Rótulo do sistema de arquivos=
OS type: Linux
Tamanho do bloco=4096 (log=2)
Tamanho do fragmento=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
30531584 inodes, 122095488 blocks
6104774 blocks (5.00%) reserved for the super user
Primeiro bloco de dados=0
Máximo de blocos de sistema de arquivos=4294967296
3727 grupos de blocos
32768 blocos por grupo, 32768 fragmentos por grupo
8192 inodes por grupo
Cópias de segurança de superblocos gravadas em blocos:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000

Allocating group tables: pronto
Gravando tabelas inode: pronto
Creating journal (32768 blocks): concluído
Escrevendo superblocos e informações de contabilidade de sistema de arquivos:    0/concluído

Agora vamos montar o nosso dispositivo:

emilio ~ $ sudo mkdir /media/emilio/hdexterno
emilio ~ $ sudo mount /dev/mapper/hdexterno /media/emilio/hdexterno/

Feito isso nosso hdexterno está montando em /media/emilio/hdexterno. Para remover o dispositivo devemos rodar o umount e fechar a criptografia:

emilio ~ $ sudo umount /media/emilio/hdexterno
emilio ~ $ sudo cryptsetup luksClose hdexterno

Nomeu caso que utilizo linux mint, ao plugar o hd externo abre uma caixa solicitando a senha, o mesmo é montado automaticamente no sistema:

cryptsetup-01

Agora só copiar os arquivos para o seu hd externo

Uma dica muito importante é não salvar a senha para garantir mais segurança aos seus dados.

Abraços pessoal, atéa próxima.

on the top

Comments