Observação:
- Este tutorial está disponível em um ambiente de laboratório gratuito fornecido pela Oracle.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir o laboratório, substitua esses valores pelos específicos do seu ambiente de nuvem.
Criptografe unidades usando o LUKS no Oracle Linux
Introdução
O Oracle Linux inclui criptografia de mapeador de dispositivos (dm-crypt
) e o LUKS (Linux Unified Key Setup) para tratar a criptografia em dispositivos de bloco.
Neste laboratório, vamos nos concentrar nas ferramentas de front-end para criptografar um dispositivo usando o LUKS, que utiliza o módulo dm-crypt
do suporte ao mapeador de dispositivos incluído no Kernel do Linux.
Objetivos
- Instalar
cryptsetup
- Criar um volume criptografado
- Montar um volume criptografado
Requisitos
Um sistema com um disco disponível e uma instalação totalmente corrigida do Oracle Linux.
Configurar Ambiente do Laboratório
Observação: ao usar o ambiente de laboratório gratuito, consulte Conceitos Básicos do Oracle Linux Lab para obter conexão e outras instruções de uso.
-
Se ainda não estiver conectado, abra um terminal e conecte-se via ssh à instância ol-node01.
ssh oracle@<ip_address_of_instance>
-
Verifique se os volumes em blocos existem.
lsblk -f
A saída do ambiente de laboratório gratuito mostra dois dispositivos de bloco:
sda
, que contém o SO base esdb
, que este laboratório usa. O uso da opção-f
exibe o tipo de sistema de arquivos (FSTYPE) e o identificador exclusivo universalmente dos blocos (UUID).
Instalar Pacotes de Criptografia
-
Se ainda não estiver disponível no sistema, instale a ferramenta
cryptsetup
.Verifique se
cryptsetup
está instalado.sudo dnf list --installed cryptsetup
Se não estiver instalado, instale
cryptsetup
.sudo dnf -y install cryptsetup
Observação: O ambiente de laboratório gratuito já tem a ferramenta
cryptsetup
instalada.
Criptografar o Volume com LUKS
O LUKS e o dm-crypt
funcionam em dispositivos de bloco, RAID, volumes físicos do LVM e até mesmo swap. Depois de criptografados, os dados nesses dispositivos podem ser acessados no momento da inicialização ou montagem apenas com as credenciais adequadas.
O ambiente de laboratório gratuito fornece um disco /dev/sdb1
pré-particionado para esta etapa.
-
Criptografe o disco.
sudo cryptsetup -y -v luksFormat /dev/sdb1
Digite
YES
para continuar e forneça a frase-senha duas vezes. A frase-senha deve conter:- no mínimo 8 caracteres
- 1 dígito
- 1 letra superior
- 1 caractere especial
- palavra baseada em não dicionário
Importante: Lembre-se de que a senha digitada será usada posteriormente.
Exemplo de Saída:
[oracle@ol-node01 ~]$ sudo cryptsetup -y -v luksFormat /dev/sdb1 WARNING! ======== This will overwrite data on /dev/sdb1 irrevocably. Are you sure? (Type 'yes' in capital letters): YES Enter passphrase for /dev/sdb1: Verify passphrase: Key slot 0 created. Command successful.
-
Abra o volume criptografado.
Esta etapa requer um destino que possa ser nomeado como qualquer coisa. Usaremos
mysecrets
.sudo cryptsetup -v luksOpen /dev/sdb1 mysecrets
Digite a mesma frase-senha criada na etapa anterior, quando solicitada.
Exemplo de Saída:
[oracle@ol-node01 ~]$ sudo cryptsetup -v luksOpen /dev/sdb1 mysecrets Enter passphrase for /dev/sdb1: Key slot 0 unlocked. Command successful.
-
Verifique os dispositivos de bloco novamente.
lsblk -f
O dispositivo
/dev/sdb1
agora exibe o FSTYPE como crypto_LUKS e mostra o mapeamento do volume de dispositivos criptografadosmysecrets
.
Formatar o Volume Criptografado
Antes de adicionar dados ao volume criptografado, ele precisa ser formatado. É possível escolher diferentes sistemas de arquivos, como xfs, ext3, ext4 etc.
-
Crie um sistema de arquivos.
sudo mkfs.xfs /dev/mapper/mysecrets
Montar o Volume Criptografado
-
Crie um ponto de montagem.
sudo mkdir -p /u01/my_secret_storage
-
Monte o volume.
sudo mount -v /dev/mapper/mysecrets /u01/my_secret_storage
A saída mostra uma advertência SELinux.
Exemplo de Saída:
[oracle@ol-node01 ~]$ sudo mount -v /dev/mapper/mysecrets /u01/my_secret_storage/ mount: /u01/my_secret_storage does not contain SELinux labels. You just mounted an file system that supports labels which does not contain labels, onto an SELinux box. It is likely that confined applications will generate AVC messages and not be allowed access to this file system. For more details see restorecon(8) and mount(8). mount: /dev/mapper/mysecrets mounted on /u01/my_secret_storage.
Isso requer um novo rótulo do contexto de segurança SELinux do ponto de montagem.
sudo restorecon -vvRF /u01/my_secret_storage
Execute o comando
mount
novamente.sudo mount -v -o remount /u01/my_secret_storage
-
Exiba o volume montado.
lsblk
Exemplo de Saída:
[oracle@ol-node01 ~]$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sda 8:0 0 46.6G 0 disk |-sda1 8:1 0 100M 0 part /boot/efi |-sda2 8:2 0 1G 0 part /boot `-sda3 8:3 0 45.5G 0 part |-ocivolume-root 252:0 0 35.5G 0 lvm / `-ocivolume-oled 252:1 0 10G 0 lvm /var/oled sdb 8:16 0 50G 0 disk `-sdb1 8:17 0 2G 0 part `-mysecrets 252:2 0 2G 0 crypt /u01/my_secret_storage
Exibir Detalhes do Volume LUKS
Exiba as informações de cabeçalho, segmento de dados, slots de chave e versão do LUKS.
-
Despejar detalhes do LUKS.
sudo cryptsetup luksDump /dev/sdb1
Exemplo de Saída:
LUKS header information Version: 2 Epoch: 3 Metadata area: 16384 [bytes] Keyslots area: 16744448 [bytes] UUID: 4ccea398-5864-45a9-b274-173c8ebc3356 Label: (no label) Subsystem: (no subsystem) Flags: (no flags) Data segments: 0: crypt offset: 16777216 [bytes] length: (whole device) cipher: aes-xts-plain64 sector: 512 [bytes] Keyslots: 0: luks2 Key: 512 bits Priority: normal Cipher: aes-xts-plain64 Cipher key: 512 bits PBKDF: argon2i Time cost: 10 Memory: 1048576 Threads: 4 Salt: ee d2 c7 5b 05 43 0f 0a 12 60 da b5 87 19 4a 6f 06 57 a2 31 b1 dd bb 60 74 53 95 b2 ca 2f ad 4b AF stripes: 4000 AF hash: sha256 Area offset:32768 [bytes] Area length:258048 [bytes] Digest ID: 0 Tokens: Digests: 0: pbkdf2 Hash: sha256 Iterations: 243628 Salt: 89 6c 8b aa 37 af 58 e9 26 49 c5 e5 db 2d 54 ea f8 7a c2 89 0e ab ed 48 74 a5 23 d7 b0 e6 9c 87 Digest: 4a 2b 25 76 c5 85 1a 6c a9 28 0c ee d0 c7 76 eb e1 4c ee 9c 5b 9a e2 d0 95 6e 1f 6e bb 1b 03 d1
Para obter informações adicionais, consulte a página manual cryptsetup(8)
, a Documentação da Oracle ou as Perguntas mais Frequentes upstream.
Para Obter Mais Informações
Consulte outros recursos relacionados:
Mais Recursos de Aprendizagem
Explore outros laboratórios em docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Encrypt Drives using LUKS on Oracle Linux
F60524-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.