Cómo cifrar unidades usando LUKS en Fedora Linux

Cómo cifrar unidades usando LUKS en Fedora Linux

En este artículo, explicaremos brevemente sobre el cifrado de bloques, la configuración de la clave unificada de Linux ( LUKS. y describiremos las instrucciones para crear un dispositivo de bloque cifrado en Fedora Linux.

Dispositivo de bloque Cifrado

El cifrado de dispositivo de bloque se utiliza para proteger los datos en un dispositivo de bloque cifrándolo, y para descifrar los datos, el usuario debe proporcionar una frase de contraseña o clave para acceder. Esto brinda mecanismos de seguridad adicionales, ya que protege el contenido del dispositivo incluso si se ha separado físicamente del sistema.

Introducción a LUKS

LUKS. ( Configuración de clave unificada de Linux. es el estándar para el cifrado de dispositivos en bloque en Linux, que funciona estableciendo un formato en el disco para los datos y una política de administración de contraseña/clave. Almacena toda la información de configuración necesaria en el encabezado de la partición (también conocido como encabezado LUKS. , lo que le permite transportar o migrar datos sin problemas.

LUKS. utilizar el subsistema del mapeador de dispositivos del kernel con el módulo dm-crypt. para proporcionar un mapeo de bajo nivel que contiene el cifrado y descifrado de los datos del dispositivo. Puede utilizar el programa cryptsetup para ejecutar tareas a nivel de usuario, como crear y acceder a dispositivos cifrados.

Preparación de un dispositivo de bloque

Las siguientes instrucciones muestran los pasos para crear y configurar un bloque cifrado dispositivos después de la instalación.

freestar.config.enabled_slots.push

Instale el paquete cryptsetup.

# dnf install cryptsetup-luks

A continuación, llene el dispositivo con datos aleatorios antes de cifrarlo, ya que esto aumentará significativamente la fuerza del cifrado utilizando los siguientes comandos.

# dd if =/dev/urandom of =/dev/sdb1 [lento con datos aleatorios de alta calidad] O # badblocks-c 10240-s-w-t random-v/dev/sdb1 [rápido con datos aleatorios de alta calidad]  Llenar dispositivo con datos aleatorios  Llene el dispositivo con datos aleatorios Llene el dispositivo con datos aleatorios

Advertencia. Los comandos anteriores borrarán cualquier dato existente en el dispositivo.

Formateo de un dispositivo cifrado

A continuación, utilice la herramienta de línea de comandos cryptsetup. para formatear el dispositivo como un dispositivo cifrado dm-crypt/LUKS. dispositivo.

# cryptsetup luksFormat/dev/sdb1

Después de ejecutar el comando, se le pedirá que ingrese YES (en mayúsculas) para proporcionar una contraseña dos veces para que el dispositivo sea formateado para su uso, como se muestra en la siguiente captura de pantalla.

 Formatear dispositivo usando LUKS  Formatear dispositivo usando LUKS Formatear dispositivo usando LUKS

Para verificar si la operación fue exitosa, ejecute el siguiente comando .

# cryptsetup isLuks/dev/sdb1 && echo Success  Verificar el formato del dispositivo  Verificar el formato del dispositivo Verificar el formato del dispositivo

Puede ver un resumen de la información de cifrado del dispositivo.

# cryptsetup luksDump/dev/sdb1 Dispositivo Información de cifrado  Información de cifrado del dispositivo Información de cifrado del dispositivo

Creación de mapas para permitir el acceso a un contenido descifrado

En esta sección, configuraremos cómo acceder a los contenidos descifrados del dispositivo cifrado. Crearemos un mapeo usando el mapeador de dispositivos del kernel. Se recomienda crear un nombre significativo para esta asignación, algo como luk-uuid. (donde se reemplaza con el LUKS UUID Identificador único universal. ..

Para obtener el UUID. de su dispositivo cifrado, ejecute el siguiente comando.

# cryptsetup luksUUID/dev/sdb1  Obtener UUID del dispositivo Obtener UUID del dispositivo Obtener el UUID del dispositivo

Después de obtener el UUID. puede crear el nombre de la asignación como se muestra (se le pedirá que ingrese la frase de contraseña creada anteriormente).

# cryptsetup luksOpen/de v/sdb1 luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Si el comando es exitoso, un nodo de dispositivo llamado/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c que representa el dispositivo descifrado <./p>  Crear nombre de asignación de dispositivo  Crear nombre de asignación de dispositivo Crear nombre de asignación de dispositivo

El dispositivo de bloque que se acaba de crear se puede leer y escribir como cualquier otro dispositivo de bloque sin cifrar. Puede ver información sobre el dispositivo mapeado ejecutando el siguiente comando.

# dmsetup info/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  Verificar la información del dispositivo mapeado  Verificar la información del dispositivo asignado Verificar la información del dispositivo mapeado

Crear sistemas de archivos en un dispositivo mapeado

Ahora veremos cómo crear un sistema de archivos en el dispositivo mapeado, lo que le permitirá usar el nodo del dispositivo mapeado como cualquier otro dispositivo de bloque.

Para crear un sistema de archivos ext4 en el dispositivo mapeado, ejecute el siguiente comando.

# mkfs.ext4/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c  Crear un sistema de archivos Ext4 en un dispositivo mapeado  Crear sistema de archivos Ext4 en dispositivo mapeado Crear un sistema de archivos Ext4 en un dispositivo mapeado

Para montar el sistema de archivos anterior, cree un punto de montaje para él, por ejemplo,/mnt/encrypted-device y luego móntelo de la siguiente manera.

# mkdir-p/mnt/encrypted-device # mount/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c/mnt/encrypted-device/

Agregar información de mapeo a/etc/crypttab y/etc/fstab

A continuación, debemos configurar el sistema para que se configure automáticamente un mapeo para el dispositivo y montarlo en el momento del arranque.

Debe agregar la información del mapeo en el archivo /etc/crypttab. en el siguiente formato.

luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c UUID = 59f2b688-526d-45c7-8f0a-1ac4555d1d7c ninguno

en el formato anterior:

  • luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c. es el nombre de la asignación
  • UUID = 59f2b688-526d-45c7-8f0a-1ac4555d1d7c. es el nombre del dispositivo

Guarde el archivo y ciérrelo.

A continuación, agregue la siguiente entrada a /etc/fstab. para montar automáticamente el dispositivo mapeado en el arranque del sistema.

/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c/mnt/encrypted-device ext4 0 0

Guarde el archivo y ciérrelo.

Luego ejecute lo siguiente comando para actualizar systemd. unidades generadas a partir de estos archivos.

# systemctl daemon-reload

Copia de seguridad de encabezados LUKS

Por último, cubriremos cómo hacer una copia de seguridad de LUKS encabezados . Este es un paso crítico para evitar perder todos los datos en el dispositivo de bloque cifrado, en caso de que los sectores que contienen los encabezados LUKS se dañen por un error del usuario o una falla del hardware. Esta acción permite la recuperación de datos.

Para hacer una copia de seguridad de los encabezados LUKS.

# mkdir/root/backups # cryptsetup luksHeaderBackup–header-backup-file luks-headers/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

Y para restaurar los encabezados LUKS.

# cryptsetup luksHeaderRestore–header-backup-file/root/backups/luks-headers/dev/mapper/luk-59f2b688-526d-45c7-8f0a-1ac4555d1d7c

¡Eso es todo! En este artículo, explicamos cómo cifrar dispositivos de bloque usando LUKS. en la distribución de Fedora Linux. Si tiene alguna consulta o comentario sobre este tema o guía, utilice el formulario de comentarios a continuación para comunicarse con nosotros.