Atingindo a criptografia de disco completo com LUKS no RHEL

Você pode criptografar partições no seu servidor RHEL com Linux® o Unified Key Setup (LUKS), o que é importante quando se trata de computadores móveis e mídias removíveis. Com o LUKS, várias chaves de usuário podem ser usadas para descriptografar uma chave principal que é usada para a criptografia em massa da partição. As instruções a seguir se aplicam às versões RHEL 8 ou mais recentes do RHEL.

Estas etapas assumem que o servidor pode acessar um novo volume não criptografado do IBM Cloud® Block Storage for Classic que não estava formatado nem montado. Para obter mais informações sobre como conectar o Block Storage for Classic a um host Linux®, consulte um dos tópicos a seguir.

Todos os novos Block Storage for Classic são provisionados automaticamente com a criptografia em repouso gerenciada pelo provedor. Para obter mais informações, consulte Protegendo seus dados: criptografia em repouso gerenciada pelo provedor.

O que o LUKS faz

  • O LUKS criptografa dispositivos de bloco inteiros e, portanto, é adequado para proteger o conteúdo de dispositivos móveis, como mídias de armazenamento removíveis ou unidades de disco de notebooks.
  • O conteúdo subjacente do dispositivo de bloco criptografado é arbitrário, tornando útil para criptografia de dispositivos de troca. A criptografia também pode ser útil com determinados bancos de dados que usam dispositivos de bloco especialmente formatados para armazenamento de dados.
  • O LUKS utiliza o subsistema do kernel mapeador de dispositivos existente.
  • O LUKS oferece reforço de senha, que protege contra ataques de dicionário.
  • O LUKS contém vários slots de chaves, para que os usuários possam incluir chaves de backup ou passphrases.

O que o LUKS não faz

  • O LUKS não permite aplicativos que exijam que muitos usuários (mais de oito) tenham chaves de acesso distintas para os mesmos dispositivos.
  • O LUKS não funciona com aplicativos que requerem criptografia no nível do arquivo Para obter mais informações, consulte o Guia de Segurança do RHEL.

Configurando um volume criptografado LUKS com o Block Storage for Classic Endurance

O processo de criptografia de dados cria um carregamento no host que pode potencialmente afetar o desempenho.

  1. Digite o seguinte comando em um prompt de shell como raiz para instalar o pacote necessário:

    dnf install cryptsetup-luks
    
  2. Obtenha o ID do disco:

    fdisk –l | grep /dev/mapper
    
  3. Localize seu volume na listagem.

  4. Criptografe o dispositivo de bloco

    1. Esse comando inicializa o volume e é possível configurar uma passphrase.

      cryptsetup -y -v luksFormat /dev/mapper/3600a0980383034685624466470446564
      
    2. Responda com YES (todas as letras maiúsculas).

    3. O dispositivo agora aparece como um volume criptografado:

      $ blkid | grep LUKS
      /dev/mapper/3600a0980383034685624466470446564: UUID="46301dd4-035a-4649-9d56-ec970ceebe01" TYPE="crypto_LUKS"
      
  5. Abra o volume e crie um mapeamento.

    cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
    
  6. Insira a passphrase.

  7. Verifique o mapeamento e visualize o status do volume criptografado.

    # cryptsetup -v status cryptData
    /dev/mapper/cryptData is active.
      type:  LUKS1
      cipher:  aes-cbc-essiv:sha256
      keysize: 256 bits
      device:  /dev/mapper/3600a0980383034685624466470446564
      offset:  4096 sectors
      size:    41938944 sectors
      mode:    read/write
      Command successful
    
  8. Grave dados aleatórios em /dev/mapper/cryptData no dispositivo criptografado. Essa ação garante que o mundo exterior veja isso como dados aleatórios, o que significa que eles estão protegidos contra a divulgação de padrões de uso. Esta etapa pode demorar um pouco.

    shred -v -n1 /dev/mapper/cryptData
    
  9. Formate o volume.

    mkfs.ext4 /dev/mapper/cryptData
    
  10. Monte o volume.

mkdir /cryptData
mount /dev/mapper/cryptData /cryptData
df -H /cryptData

Desmontando e fechando o volume criptografado com segurança

umount /cryptData
cryptsetup luksClose cryptData

Remontando e montando uma partição criptografada pelo LUKS existente

$ cryptsetup luksOpen /dev/mapper/3600a0980383034685624466470446564 cryptData
   Enter the password previously provided.
$ mount /dev/mapper/cryptData /cryptData
$ df -H /cryptData
$ lsblk
NAME                                       MAJ:MIN RM  SIZE RO TYPE  MOUNTPOINT
xvdb                                       202:16   0    2G  0 disk
└─xvdb1                                    202:17   0    2G  0 part  [SWAP]
xvda                                       202:0    0   25G  0 disk
├─xvda1                                    202:1    0  256M  0 part  /boot
└─xvda2                                    202:2    0 24.8G  0 part  /
sda                                          8:0    0   20G  0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0    0   20G  0 mpath
└─cryptData (dm-1)                         253:1    0   20G  0 crypt /cryptData
sdb                                          8:16   0   20G  0 disk
└─3600a0980383034685624466470446564 (dm-0) 253:0    0   20G  0 mpath
└─cryptData (dm-1)                         253:1    0   20G  0 crypt /cryptData