Nota:
- Este tutorial está disponible en un entorno de laboratorio gratuito proporcionado por Oracle.
- Utiliza valores de ejemplo para las credenciales, el arrendamiento y los compartimentos de Oracle Cloud Infrastructure. Al finalizar la práctica, sustituya estos valores por valores específicos de su entorno en la nube.
Cifrado de unidades mediante LUKS en Oracle Linux
Introducción
Oracle Linux incluye la cripta asignadora de dispositivos (dm-crypt
) y la configuración de claves unificadas (LUKS) de Linux para manejar el cifrado en dispositivos de bloques.
En este laboratorio, nos centraremos en las herramientas front-end para cifrar un dispositivo mediante LUKS, que utiliza el módulo dm-crypt
del soporte del asignador de dispositivos incluido con el núcleo de Linux.
Objetivos
- Instalar
cryptsetup
- Crear un volumen cifrado
- Montar un volumen cifrado
Requisitos
Un sistema con un disco disponible y una instalación con parches completos de Oracle Linux.
Configuración del entorno del laboratorio
Nota: Al utilizar el entorno de prácticas gratuitas, consulte Aspectos básicos de las prácticas de Oracle Linux para obtener información sobre la conexión y otras instrucciones de uso.
-
Si aún no está conectado, abra un terminal y conéctese mediante ssh a la instancia ol-node01.
ssh oracle@<ip_address_of_instance>
-
Verifique que los volúmenes en bloque existen.
lsblk -f
La salida del entorno de prácticas libres muestra dos dispositivos de bloques:
sda
, que contiene el sistema operativo base, ysdb
, que utiliza este laboratorio. El uso de la opción-f
muestra el tipo de sistema de archivos (FSTYPE) y el identificador único universal de bloques (UUID).
Instalar Paquetes de Cifrado
-
Si aún no está disponible en el sistema, instale la herramienta
cryptsetup
.Compruebe si
cryptsetup
está instalado.sudo dnf list --installed cryptsetup
Si no está instalado, instale
cryptsetup
.sudo dnf -y install cryptsetup
Nota: El entorno de prácticas libres ya tiene instalada la herramienta
cryptsetup
.
Cifrado del volumen con LUKS
LUKS y dm-crypt
funcionan en dispositivos de bloques, RAID, volúmenes físicos LVM e incluso intercambio. Una vez cifrados, solo se puede acceder a los datos de estos dispositivos durante el inicio o el montaje con las credenciales adecuadas.
El entorno de prácticas libres proporciona un disco particionado previamente /dev/sdb1
para este paso.
-
Cifre el disco.
sudo cryptsetup -y -v luksFormat /dev/sdb1
Introduzca
YES
para continuar y proporcione la frase de contraseña dos veces. La frase de contraseña debe contener:- mínimo de 8 caracteres
- 1 dígito
- 1 letra superior
- 1 carácter especial
- palabra no dictada
Importante: asegúrese de recordar la contraseña introducida, ya que se utilizará más adelante.
Resultado de ejemplo:
[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 el volumen cifrado.
Este paso requiere un destino con cualquier nombre. Utilizaremos
mysecrets
.sudo cryptsetup -v luksOpen /dev/sdb1 mysecrets
Introduzca la misma frase de contraseña creada en el paso anterior cuando se le solicite.
Resultado de ejemplo:
[oracle@ol-node01 ~]$ sudo cryptsetup -v luksOpen /dev/sdb1 mysecrets Enter passphrase for /dev/sdb1: Key slot 0 unlocked. Command successful.
-
Vuelva a comprobar los dispositivos de bloques.
lsblk -f
El dispositivo
/dev/sdb1
ahora muestra FSTYPE como crypto_LUKS y muestra la asignación del volumen de dispositivos cifradosmysecrets
.
Formatear el volumen cifrado
Antes de agregar datos al volumen cifrado, debe tener formato. Puede elegir diferentes sistemas de archivos, como xfs, ext3, ext4, etc.
-
Cree un sistema de archivos.
sudo mkfs.xfs /dev/mapper/mysecrets
Montaje del volumen cifrado
-
Cree un punto de montaje.
sudo mkdir -p /u01/my_secret_storage
-
Monte el volumen.
sudo mount -v /dev/mapper/mysecrets /u01/my_secret_storage
La salida muestra una advertencia SELinux.
Resultado de ejemplo:
[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.
Esto requiere una nueva etiqueta del contexto de seguridad SELinux del punto de montaje.
sudo restorecon -vvRF /u01/my_secret_storage
Vuelva a ejecutar el comando
mount
.sudo mount -v -o remount /u01/my_secret_storage
-
Visualice el volumen montado.
lsblk
Resultado de ejemplo:
[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
Mostrar detalles de volumen de LUKS
Visualice la información de la cabecera, el segmento de datos, los espacios de claves y la versión de LUKS.
-
Volcar detalles de LUKS.
sudo cryptsetup luksDump /dev/sdb1
Resultado de ejemplo:
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 obtener más información, consulte la página del manual cryptsetup(8)
, Documentación de Oracle o las preguntas frecuentes ascendentes.
Para obtener más información
Ver otros recursos relacionados:
Más recursos de aprendizaje
Explore otros laboratorios en docs.oracle.com/learn o acceda a más contenido de aprendizaje gratuito en el canal YouTube de Oracle Learning. Además, visite education.oracle.com/learning-explorer para convertirse en Oracle Learning Explorer.
Para obtener documentación sobre el producto, visite Oracle Help Center.
Encrypt Drives using LUKS on Oracle Linux
F60525-01
July 2022
Copyright © 2022, Oracle and/or its affiliates.