Cómo cifrar tus particiones en Linux con dm-crypt

Cifrado de disco Linux Dm Crypt Destacado

Los discos duros y SSD son fáciles de quitar de portátiles o computadoras. En tal caso, todas las medidas de seguridad implementadas por tu sistema operativo caen por la borda. Si tienes datos que deseas proteger, puedes crear un contenedor cifrado. Ahí almacenarías archivos sensibles, mientras que los archivos no sensibles los guardarías en tus particiones normales.

Es más fácil configurar una partición cifrada cuando instalas tu distribución de Linux. El instalador puede guiarte a través de ello. Pero si perdiste esa oportunidad, sigue los pasos de esta guía para crear tu bóveda secreta.

También lee: Cómo cifrar archivos en Linux usando GPG, Ccrypt, Bcrypt y 7-Zip

Requisitos previos

Necesitas una partición vacía para este proceso. Esto significa una que esté sin formatear (sin sistema de archivos en ella).

Si tus particiones formateadas ocupan actualmente todo el espacio libre en tu dispositivo de almacenamiento, necesitarás usar GParted para reducir una de ellas.

Advertencia: Es recomendable hacer una copia de seguridad de tus datos primero. Cuando reduces una partición y su sistema de archivos, hay un pequeño riesgo involucrado. Tu computadora puede bloquearse o perder energía durante el proceso. Esto podría dejar tu sistema de archivos en un estado inconsistente del que puede ser difícil recuperarse.

Sigue los primeros pasos de esta guía para redimensionar una partición con GParted. O, si hay una partición que ya no necesitas, puedes eliminarla. (Después de liberar algo de espacio y que aparezca como “no asignado,” omite el resto de los pasos de la guía.) Específicamente, no crees una partición formateada como ext4. En su lugar, haz clic derecho en el espacio no asignado, como se muestra en la guía. En la ventana de diálogo que se abre, verás un campo etiquetado como “Sistema de archivos.” Normalmente, ext4 debería estar seleccionado por defecto aquí. Haz clic en él y cámbialo a “despejado.”

cryptsetup-gparted-new-partition-cleared

Después de seleccionar “Agregar,” haz clic en la marca de verificación verde para aplicar los cambios.

Instalar cryptsetup

Si has iniciado un sistema operativo en vivo para editar tus particiones con GParted, reinicia en tu distribución principal de Linux.

Abre un emulador de terminal. En sistemas basados en Debian, como Ubuntu o Linux Mint, introduce este comando:

sudo apt update &&sudo apt install cryptsetup

cryptsetup-installing-package

En distribuciones como Fedora o CentOS y otras que usan paquetes RPM en lugar de DEB, cryptsetup puede ya estar instalado. Si no, puedes instalarlo con:

sudoyum install cryptsetup

En OpenSUSE, si cryptsetup no está preinstalado, puedes instalarlo con:

sudo zypper refresh &&sudo zypper install cryptsetup

Y en distribuciones basadas en Arch, usarías este comando:

sudo pacman -S cryptsetup

Encuentra el nombre del dispositivo bloque de tu partición

Introduce el siguiente comando:

lsblk

cryptsetup-lsblk

En el ejemplo ofrecido en la imagen, el dispositivo de almacenamiento es “vda.” “vda1” a “vda3” son particiones.

Para encontrar la partición que has preparado, recuerda el tamaño que reservaste para ella. La encontrarás entre las particiones sin puntos de montaje. En tu caso, esto podría ser algo como “/dev/sda2” en lugar de “/dev/vda3.”

Cifrar la partición sobrescribirá datos en ella (si están presentes), lo que significa que si obtienes el nombre del dispositivo incorrecto, podrías terminar destruyendo datos útiles. Para asegurarte de obtener el nombre del dispositivo correcto, puedes instalar GParted y observar tu disposición de particiones. Los nombres de los dispositivos aparecerán en la interfaz gráfica de usuario. No uses el nombre que viste en GParted cuando iniciaste desde el sistema en vivo (si lo hiciste). La disposición mostrada en el sistema en vivo será diferente de la disposición que ves al arrancar desde tu distribución instalada.

Hay otra forma de asegurarte de no escribir en el dispositivo de bloque incorrecto. Intenta montarla. Normalmente, debería negarse a hacerlo ya que no tiene un sistema de archivos en ella.

Importante: recuerda siempre reemplazar “vda3” con el nombre de tu dispositivo:

sudomount/dev/vda3 /mnt

En tu caso, el comando podría ser sudo mount /dev/sda2 /mnt o algo diferente.

Este es el mensaje que deberías recibir.

cryptsetup-test-mount

Configurar el encabezado LUKS

Una vez que estés seguro de que tienes el nombre de dispositivo correcto, agrega un encabezado LUKS a la partición.

sudo cryptsetup luksFormat /dev/vda3

Escribe “SÍ” y luego elige una contraseña robusta para tu partición cifrada. Escribe la misma contraseña cuando se te pida verificar la frase de contraseña.

Crear un sistema de archivos en la partición

Debes asignar este dispositivo físico a un dispositivo virtual. Lo que se escriba en el dispositivo virtual será cifrado antes de almacenarse en el dispositivo físico.

sudo cryptsetup luksOpen /dev/vda3 encrypted-partition

La partición necesita un sistema de archivos para ser utilizable. Crea un sistema de archivos ext4 con este comando:

sudo mkfs.ext4 /dev/mapper/encrypted-partition

cryptsetup-make-ext4-filesystem

Montar la partición cifrada

Crea el directorio donde montarás el sistema de archivos de la partición.

mkdir ~/encrypted-storage

Monta el sistema de archivos:

sudomount/dev/mapper/encrypted-partition ~/encrypted-storage

Cámbiate a ese directorio:

cd ~/encrypted-storage

En este momento, solo el usuario root puede escribir aquí. Da permiso a tu usuario para escribir en este sistema de archivos haciéndolo el propietario del directorio de nivel superior. Copia y pega todo el comando, incluido el “.” al final.

sudochown$USER:$USER .

Restringe a otros usuarios de leer o escribir en este directorio.

chmodo= .

En este punto, la mayoría de los administradores de archivos deberían mostrarte el nuevo dispositivo cifrado en la interfaz. Esto muestra cómo se ve en el administrador de archivos Thunar, el predeterminado usado en el entorno de escritorio XFCE.

cryptsetup-encrypted-partition-in-thunar

Si el volumen no está montado, al hacer clic en él se te pedirá la contraseña del volumen y tu contraseña de sudo. El volumen se montará automáticamente y podrás navegar por él. El punto de montaje será diferente de “~/encrypted-storage.” Podría ser algo como “/media/user/f42f3025-755d-4a71-95e0-37eaeb761730/.”

Eso no es importante; los permisos que configuraste anteriormente aún aplican. Lo que es importante es recordar hacer clic derecho y desmontar cuando termines de trabajar con el volumen. Desmontar y cerrar el dispositivo virtual garantiza que nadie pueda leer los datos de la partición cifrada, ni siquiera tu sistema operativo.

Si, por alguna razón, tu administrador de archivos no admite esta función, puedes montar desde la terminal.

sudo cryptsetup luksOpen /dev/vda3 encrypted-partition  
sudomount/dev/mapper/encrypted-partition ~/encrypted-storage

Ahora puedes acceder al volumen yendo a “/home/username/encrypted-storage” en el administrador de archivos. Cuando termines, desmonta el sistema de archivos y cierra el dispositivo virtual:

cd&&sudoumount/dev/mapper/encrypted-partition  
sudo cryptsetup luksClose /dev/mapper/encrypted-partition

Conclusión

Ahora tienes una caja fuerte para tus archivos importantes. Saber que nadie puede ver lo que almacenas allí debería darte algo de tranquilidad.