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:
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.