Volúmenes LVM en cifrado con luks

Volúmenes LVM en cifrado con luks
Cifrar los volúmenes lógicos es una de las mejores soluciones para asegurar los datos en reposo. Hay muchos otros métodos para el cifrado de datos, pero Luks es el mejor, ya que realiza el cifrado mientras trabaja a nivel de núcleo. La configuración de la tecla Luks o Linux Unified es el procedimiento estándar para cifrar los discos duros en Linux.

En general, se crean diferentes particiones en un disco duro y cada partición debe estar encriptada utilizando diferentes claves. De esta manera, debe administrar múltiples claves para diferentes particiones. Los volúmenes de LVM encriptados con LUKS resuelven el problema de la gestión de múltiples claves. Primero, todo el disco duro está encriptado con luks y luego este disco duro se puede usar como volumen físico. La guía demuestra el proceso de cifrado con LUK siguiendo los pasos dados:

  1. Instalación del paquete de criptsetup
  2. Cifrado del disco duro con luks
  3. Creación de volúmenes lógicos cifrados
  4. Cambio de frase de contradictorio de encriptación

Instalación del paquete de criptsetup

Para cifrar los volúmenes LVM con LUKS, instale los paquetes requeridos de la siguiente manera:

ubuntu@ubuntu: ~ $ sudo apt install cryptSetup -y

Ahora, cargue los módulos del núcleo utilizados para manejar el cifrado.

ubuntu@ubuntu: ~ $ sudo modprobe dm-cypt

Encrypt disco duro con luks

El primer paso para cifrar los volúmenes con Luks es identificar el disco duro en el que se creará LVM. Muestre todos los discos duros del sistema utilizando el lsblk dominio.

ubuntu@ubuntu: ~ $ sudo lsblk

Actualmente, hay tres discos duros unidos al sistema que están /dev/sda, /dev/sdb y /dev/sdc. Para este tutorial, usaremos el /dev/sdc disco duro para cifrar con luks. Primero cree una partición de Luks usando el siguiente comando.

ubuntu@ubuntu: ~ $ sudo cryptsetup luksformat --hash = sha512 --key-size = 512--cipher = aes -xts-plain64 --verify-passfrase /dev /sdc

Solicitará la confirmación y una frase de pases para crear una partición de Luks. Por ahora, puede ingresar una frase de pases que no es muy segura, ya que esto se usará solo para la generación de datos aleatorios.

NOTA: Antes de aplicar el comando anterior, asegúrese de que no haya datos importantes en el disco duro, ya que limpiará la unidad sin posibilidades de recuperación de datos.

Después del cifrado del disco duro, abra y asigna como cripto_sdc Usando el siguiente comando:

ubuntu@ubuntu: ~ $ sudo cryptsetup luksopen /dev /sdc crypt_sdc

Solicitará que la frase de pases abra el disco duro encriptado. Use la frase de pases para cifrar el disco duro en el paso anterior:

Enumere todos los dispositivos conectados en el sistema utilizando el lsblk dominio. El tipo de la partición encriptada asignada aparecerá como la cripta en lugar de parte.

ubuntu@ubuntu: ~ $ sudo lsblk

Después de abrir la partición de Luks, ahora llene el dispositivo asignado con 0s usando el siguiente comando:

ubuntu@ubuntu: ~ $ sudo dd if =/dev/cero of =/dev/mappper/crypt_sdc bs = 1m

Este comando llenará el disco duro completo con 0s. Utilizar el hexdump Comando para leer el disco duro:

ubuntu@ubuntu: ~ $ sudo hexdump /dev /sdc | más

Cerrar y destruir el mapeo del cripto_sdc Usando el siguiente comando:

ubuntu@ubuntu: ~ $ sudo cryptsetup luksclose crypt_sdc

Anular el encabezado del disco duro con datos aleatorios utilizando el dd dominio.

ubuntu@ubuntu: ~ $ sudo dd if =/dev/urandom of =/dev/sdc bs = 512 count = 20480 status = progreso

Ahora nuestro disco duro está lleno de datos aleatorios y está listo para estar encriptado. Nuevamente, cree una partición de Luks usando el luksformat método del criptetup herramienta.

ubuntu@ubuntu: ~ $ sudo cryptsetup luksformat --hash = sha512 --key-size = 512--cipher = aes -xts-plain64 --verify-passfrase /dev /sdc

Para este tiempo, use una frase segura, ya que esto se usará para desbloquear el disco duro.

Nuevamente, asigne el disco duro encriptado como cripto_sdc:

ubuntu@ubuntu: ~ $ sudo cryptsetup luksopen /dev /sdc crypt_sdc

Creación de volúmenes lógicos cifrados

Hasta ahora, hemos encriptado el disco duro y lo hemos mapeado como cripto_sdc en el sistema. Ahora, crearemos volúmenes lógicos en el disco duro encriptado. En primer lugar, use el disco duro encriptado como volumen físico.

ubuntu@ubuntu: ~ $ sudo pvcreate/dev/mapper/crypto_sdc

Mientras crea el volumen físico, la unidad de destino debe ser el disco duro mapeado I.mi /dev/mapper/crypte_sdc en este caso.

Enumere todos los volúmenes físicos disponibles utilizando el PVS dominio.

ubuntu@ubuntu: ~ $ sudo pvs

El volumen físico recién creado desde el disco duro cifrado se llama /dev/mapper/crypt_sdc:

Ahora, crea el grupo de volumen VGE01 que abarcará el volumen físico creado en el paso anterior.

ubuntu@ubuntu: ~ $ sudo vgcreate VGE01/dev/mapper/crypt_sdc

Enumere todos los grupos de volumen disponibles en el sistema utilizando el VGS dominio.

ubuntu@ubuntu: ~ $ sudo vgs

El grupo de volumen VGE01 está abarcando en un volumen físico y el tamaño total del grupo de volumen es de 30 GB.

Después de crear el grupo de volumen VGE01, Ahora crea tantos volúmenes lógicos como quieras. En general, se crean cuatro volúmenes lógicos para raíz, intercambio, hogar y datos particiones. Este tutorial solo crea un volumen lógico para la demostración.

Ubuntu@ubuntu: ~ $ sudo lvcreate -n lv00_main -l 5g vge01

Enumere todos los volúmenes lógicos existentes utilizando el LVS dominio.

ubuntu@ubuntu: ~ $ sudo lvs

Solo hay un volumen lógico lv00_main que se crea en el paso anterior con un tamaño de 5 GB.

Cambio de frase de contradictorio de encriptación

Rotar la frase de contracción del disco duro encriptado es una de las mejores prácticas para asegurar los datos. La frase de pases del disco duro encriptado se puede cambiar utilizando el Lukschangekey método del criptetup herramienta.

ubuntu@ubuntu: ~ $ sudo cryptsetup lukschangekey /dev /sdc

Mientras cambia la frase de contraseña del disco duro encriptado, el disco objetivo es el disco duro real en lugar de la unidad mapeador. Antes de cambiar la frase de pases, solicitará la vieja frase de pases.

Conclusión

Los datos en reposo se pueden asegurar encriptando los volúmenes lógicos. Los volúmenes lógicos proporcionan flexibilidad para extender el tamaño del volumen sin ningún tiempo de inactividad y encriptar los volúmenes lógicos asegura los datos almacenados. Este blog explica todos los pasos necesarios para cifrar el disco duro con luks. Los volúmenes lógicos se pueden crear en el disco duro que se encriptan automáticamente.