A veces, es posible que desee cifrar su disco duro para que cuando alguien conecte su disco duro a su computadora, necesite proporcionar credenciales de usuario para montar la unidad. En Linux, es posible cifrar dispositivos de bloques individuales. En este artículo, aprenderemos cómo cifrar dispositivos de bloque en Linux usando LUKS. LUKS es la capa de cifrado de Linux que se puede utilizar para cifrar la partición raíz completa, un volumen lógico o una partición específica.
Este tutorial cubre las siguientes distribuciones de Linux
- Debian
- Ubuntu
- RHEL
- Cent OS
- Linux rocoso
- Almalinux
Instalar el paquete cryptsetup-luks
La herramienta de utilidad Cryptsetup viene con el paquete cryptsetup-luks que se usa para configurar el cifrado de dispositivos de bloque en sistemas Linux. La instalación se puede realizar con el siguiente comando.
$ apt-get install cryptsetup
RHEL/CentOS/Rocky Linux/Almalinux
$ dnf install cryptsetup-luks
Preparar una partición LUKS
Una vez que la herramienta de utilidad esté instalada, prepare una partición para el cifrado. Para enumerar todas las particiones disponibles y bloquear dispositivos, ejecute el siguiente comando.
$ fdisk -l
$ blkid
Ahora use el comando cryptsetup luksFormat para configurar el cifrado en la partición. En este ejemplo, la partición, sdb, se usa para el cifrado. Puede hacer su propia suposición en función de su entorno.
$ cryptsetup -y -v luksFormat /dev/sdb
El comando ejecutado anteriormente eliminará todos los datos de la partición
Ahora necesitamos crear un dispositivo mapeador de dispositivos lógicos montado en la partición cifrada con LUKS en el paso anterior. En este ejemplo, cifrado es el nombre proporcionado para el nombre de asignación de la partición LUKS abierta.
El siguiente comando creará un volumen y establecerá una frase de contraseña o claves iniciales. Recuerda que la contraseña no se puede recuperar.
$ cryptsetup luksOpen /dev/sdb encrypted
Los detalles de asignación de la partición se pueden encontrar mediante el siguiente comando.
$ ls -l /dev/mapper/encrypted
Utilice el siguiente comando para ver el estado de la asignación. Reemplace su nombre de mapeo con cifrado .
$ cryptsetup -v status encrypted
Se puede usar cryptsetup junto con el comando luksDump para verificar que el dispositivo se haya formateado correctamente para el cifrado. En este ejemplo, la partición sdb se usa para la confirmación.
$ cryptsetup luksDump /dev/sdb
Formatear partición LUKS
Escribir ceros en la partición cifrada con LUKS asignará ceros al tamaño del bloque. Utilice el siguiente comando para establecer ceros en el dispositivo de bloque cifrado.
$ dd if=/dev/zero of=/dev/mapper/encrypted
El comando dd puede tardar algún tiempo en ejecutarse. Utilice el comando pv para comprobar el progreso.
$ pv -tpreb /dev/zero | dd of=/dev/mapper/encrypted bs=128M
Nota:Reemplazar encriptado con el nombre de asignación de su dispositivo.
Ahora formatee la nueva partición con el sistema de archivos deseado. En este ejemplo, se utiliza el sistema de archivos ext4.
$ mkfs.ext4 /dev/mapper/encrypted
Reemplazar encriptado con su nombre de mapeador de dispositivos.
Monte el nuevo sistema de archivos. En este ejemplo, el nuevo sistema de archivos está montado en /encrypted
$ mkdir /encrypted $ mount /dev/mapper/encrypted /encrypted
Reemplace el nombre del mapeador de dispositivos cifrado con tu propio nombre de mapeador.
$ df -h $ cd /encrypted $ ls -l
Así que creamos con éxito una partición cifrada en Linux usando LUKS.