Pesquisa de site

Como criptografar dispositivos de bloco usando LUKS no Linux


Às vezes, você pode querer criptografar seu disco rígido para que, quando alguém conectar seu disco rígido ao computador, seja necessário fornecer credenciais de usuário para montar a unidade. No Linux, é possível criptografar dispositivos de blocos individuais. Neste artigo, aprenderemos como criptografar dispositivos de bloco no Linux usando LUKS. LUKS é a camada de criptografia do Linux que pode ser usada para criptografar toda a partição raiz, um volume lógico ou uma partição específica.

Este tutorial cobre as seguintes distribuições Linux

  • Debian
  • Ubuntu
  • RHEL
  • CentOS
  • Linux rochoso
  • Almalinux

Instale o pacote cryptsetup-luks

A ferramenta utilitária Cryptsetup vem com o pacote cryptsetup-luks que é usado para configurar a criptografia de dispositivos de bloco em sistemas Linux. A instalação pode ser feita usando o seguinte comando.

Ubuntu/Debian

apt-get install cryptsetup

RHEL/CentOS/Rocky Linux/Almalinux

dnf install cryptsetup-luks

Prepare uma partição LUKS

Depois que a ferramenta utilitária estiver instalada, prepare uma partição para criptografia. Para listar todas as partições e dispositivos de bloco disponíveis, execute o seguinte comando.

fdisk -l
blkid

Agora use o comando cryptsetup luksFormat para configurar a criptografia na partição. Neste exemplo, a partição sdb é usada para criptografia. Você pode fazer sua própria suposição com base no seu ambiente.

cryptsetup -y -v luksFormat /dev/sdb

O comando executado acima removerá todos os dados da partição

Agora precisamos criar um dispositivo mapeador de dispositivo lógico montado na partição criptografada por LUKS na etapa acima. Neste exemplo, criptografado é o nome fornecido para o nome do mapeamento da partição LUKS aberta.

O comando a seguir criará um volume e definirá a senha ou as chaves iniciais. Lembre-se de que a senha não pode ser recuperada.

cryptsetup luksOpen /dev/sdb encrypted

Os detalhes de mapeamento da partição podem ser encontrados usando o seguinte comando.

ls -l /dev/mapper/encrypted

Use o comando a seguir para visualizar o status do mapeamento. Substitua o nome do seu mapeamento por criptografado.

cryptsetup -v status encrypted

cryptsetup junto com o comando luksDump podem ser usados para verificar se o dispositivo foi formatado com sucesso para criptografia. Neste exemplo, a partição sdb está sendo usada para confirmação.

cryptsetup luksDump /dev/sdb

Formatar partição LUKS

Escrever zeros na partição criptografada por LUKS alocará o tamanho do bloco com zeros. Use o seguinte comando para definir zeros no dispositivo de bloco criptografado.

dd if=/dev/zero of=/dev/mapper/encrypted

O comando dd pode levar algum tempo para ser executado. Use o comando pv para verificar o progresso.

pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M

Observação: substitua criptografado pelo nome de mapeamento do seu dispositivo.

Agora formate a nova partição com o sistema de arquivos desejado. Neste exemplo, o sistema de arquivos ext4 é usado.

mkfs.ext4 /dev/mapper/encrypted

Substitua criptografado pelo nome do mapeador de dispositivo.

Monte o novo sistema de arquivos. Neste exemplo, o novo sistema de arquivos é montado em /encrypted

mkdir /encrypted
mount /dev/mapper/encrypted /encrypted

Substitua o nome do mapeador de dispositivos criptografado pelo seu próprio nome de mapeador.

df -h
cd /encrypted
ls -l

Então criamos com sucesso uma partição criptografada no Linux usando LUKS.

Artigos relacionados: