cryptsetup(dm-crypt) Adicionando uma Chave ao HD Criptografado

Atenção: Faça backup das chaves criadas em um local seguro e fora do computador. Se deixar dentro do computador e esse vier a ficar danificado você acabará perdendo as chaves dos discos e assim ficará sem acesso ao conteúdo criptografado!

No post anterior criptografamos nosso bloco /dev/sdb1 e o acesso se dá por senha.

Temos também a opção de definir um acesso por chave, que nada mais é que um arquivo. Esse arquivo pode ser:

  • Um arquivo de texto com uma palavra chave(senha) dentro
  • um arquivo com um monte de caracteres dentro. Esse tipo de chave é mais segura que a opção anterior. Pois é mais forte contra ataques de descoberta de senha por força bruta ou ataques por dicionário(dictionary attack)
  • Arquivo Binário. Aqui pode ser qualquer arquivo binário, exemplo, uma foto jpeg, um arquivo .exe, um arquivo doc…. qualquer arquivo mesmo. Se escolher essa forma poderá usar uma foto e poderá passar despercebido fazendo muitos pensarem ser uma foto simplesmente.

 

Ao definir o acesso por chave poderemos montar o bloco sem precisar digitar a senha.

 

Criando as Chaves

Não importa a chave, iremos colocar todas dentro de /elder/home/chaves/.

Vamos criar a pasta chaves.

elder@server01:~$ mkdir  /home/elder/chaves

 

Método 01 – Criando uma Senha dentro de um Arquivo

Esse método é o mais fraco e não recomendado. Mas para estudo iremos usá-lo aqui.

crie um arquivo com qualquer nome dentro da nossa pasta “chaves”. Darei o nome ao arquivo de chave01.txt e dentro colocarei uma senha: “1234”

elder@server01:~$ echo "1234" >> /home/elder/chaves/chave01.txt

Agora adicione essa chave em nosso bloco criptografado: /dev/sdb1.

Execute o comando abaixo e quando solicitado digite a senha que criamos no artigo anterior.

elder@server01:~$ sudo cryptsetup luksAddKey /dev/sdb1 /home/elder/chaves/chave01.txt 
Digite qualquer senha existente:

Acima temos:

  • cryptsetup;. ferramenta de gerenciamento
  • luksAddKey: opção que adiciona a chave contida em /home/elder/chaves/chave01.txt  dentro de  /dev/sdb1

 

Vamos montar o bloco

Aqui podemos usar a opção “–key-file=/home/elder/chaves/chave01.txt”   ou simplesmente “-d  /home/elder/chaves/chave01.txt ”

elder@server01:~$ sudo cryptsetup open /dev/sdb1 hdCriptografado  -d /home/elder/chaves/chave01.txt

Agora basta montarmos em  uma pasta

elder@server01:~$ sudo mount /dev/mapper/hdCriptografado  /media/meuHDCriptografado/

 

Desmonte, feche a conexão para seguirmos para a alternativa abaixo  e remova a chave

elder@server01:~$ sudo umount /dev/mapper/meuHDCriptografado
elder@server01:~$ sudo cryptsetup close hdCriptografado
elder@server01:~$ sudo cryptsetup luksRemoveKey /dev/sdb1 /home/elder/chaves/chave01.txt

Método 02 – Criando uma Chave de um Arquivo Binário Qualquer

 

Peguei qualquer arquivo. Irei pegar a imagem  casa.jpg para testes.

Coloque esse arquivo dentro de qualquer pasta. No meu caso coloquei casa.jpg dentro de /home/elder/chaves/

Vamos adicionar a imagem casa.jpg como chave

elder@server01:~$ sudo cryptsetup luksAddKey   /dev/sdb1 /home/elder/chaves/casa.jpg

Podemos agora montar

elder@server01:~$  sudo cryptsetup open /dev/sdb1 hdCriptografado    --key-file=/home/elder/chaves/casa.jpg 

elder@server01:~$ sudo mount /dev/mapper/hdCriptografado /media/meuHDCriptografado/

 

Vamos desfazer tudo para a alternativa 3 abaixo

elder@server01:~$ sudo umount /media/meuHDCriptografado 
elder@server01:~$ sudo cryptsetup close hdCriptografado 
elder@server01:~$ sudo cryptsetup luksRemoveKey /dev/sdb1 ~/chaves/casa.jpg

 

Método 3 – Gerando uma chave com Openssl

Crie a chave  “chave03″ com o comando “openssl genrsa -out ~/chaves/chave03 4096

elder@server01:~$ sudo openssl genrsa -out ~/chaves/chave03  4096
Generating RSA private key, 4096 bit long modulus (2 primes)
......................................................................................................................................++++
...............................++++
e is 65537 (0x010001)

Adicione essa chave ao bloco

elder@server01:~$ sudo cryptsetup luksAddKey   /dev/sdb1 /home/elder/chaves/chave03 
Digite qualquer senha existente

 

Pronto, agora podemos montar e usar nosso bloco criptografado.

elder@server01:~$ sudo cryptsetup open /dev/sdb1 -d ~/chaves/chave03  hdCriptografado 

elder@server01:~$ sudo mount /dev/mapper/hdCriptografado  /media/meuHDCriptografado/

 

Conclusão

Aqui adicionamos acesso por chave ao nosso disco criptografado com  cryptsetup(dm-crypt).

O importante é guardarmos as chaves criadas fora do nosso pc. Pois, imagina a situação onde as chaves estão apenas no disco dentro do nosso computador, se esse disco vier a danificar-se perderemos o acesso ao disco criptografado. Tenha sempre as  chaves me mais de um local seguro.

Outra coisa sobre segurança é limitrmos acesso à pasta onde estão as chaves. Podemos colocar acesso apenas para o usuário criador da pasta com um “chmod 700” , por exemplo.

Leitor voraz e um dos administradores do GNU/Linux Brasil no Whatsapp, facebook, youtube e nesse dito site: www.gnulinuxbrasil.com.br

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *