Cifrar un pendrive o HDD externo con DM-Crypt con LUKS

Cifrar un pendrive con DM-crypt y LUKS en Linux.

En esta entrada se explica como cifrar el contenido de un dispositivo USB en Debian Jessie 8.2 ya sea un pendrive o un disco duro externo como medida para proteger la información.

En Linux existen múltiples opciones según su uso: GPG o ccrypt para ficheros, EncFS o eCryptfs sobre directorios o para nuestro caso TrueCrypt o DM-crypt. Con el uso de dm-crypt el usuario puede especificar el algoritmo de cifrado simétrico, la modalidad de cifrado, una clave de cualquier tamaño… permitiendo montar un sistema de archivos encriptado en una unidad USB, una partición, RAID o LVM. Mientras que con LUKS tenemos la capacidad de gestionar las claves de acceso para un mismo dispositivo, pudiendo así asignar, cambiar o revocar varias claves.

En Windows, si insertamos un dispositivo cifrado con dm-crypt el sistema por defecto nos dará la opción de darle formato. Sin embargo, es posible utilizar un dispositivo cifrado y gestionarlo con la herramienta de código abierto FreeOTFE.

Comenzamos con la instalación de la herramienta cryptsetup con apt-get install cryptsetup

Ahora, insertamos el pendrive de 8GB y comprobamos que el sistema lo ha reconocido con la orden lsblk la cual lista los dispositivos de bloque.
Comando lsblk, que lista los dispositivos de bloque.

Cifrar con LUKS un pendrive

El siguiente paso es encriptar el pendrive que tiene como referencia /dev/sdc1, esto lo hacemos con la ejecución de cryptsetup luksFormat /dev/sdc1. Se requerirá la confirmación (en mayúsculas) y la contraseña por dos veces.
Cifrar pendrive con DM-crypt y LUKS.

La ejecución de este comando sobreescribirá todos los datos y contenidos del dispositivo USB.

Algunos de los parámetros que podemos emplear con cryptsetup para el cifrado con LUKS son:

  • --cipher tipocifrado o -c tipocifrado, para especificar qué tipo de cifrado, por defecto en LUKS se utiliza aes-xts-plain64.
  • --key-file nombrefichero o -d nombrefichero para cargar la passphrase desde un archivo.
  • --key-size bits o -s bits para especificar el tamaño de la clave en bits.

Para comprobar su cifrado hemos utilizado la opción -f en lsblk, que muestra información acerca del sistema de ficheros. También podemos hacer uso de cryptsetup isLuks -v /dev/sdc1, donde mostrará Orden ejecutada correctamente. en caso de ser un dispositivo válido y encriptado con LUKS o La orden ha fallado con código 22: El dispostivo /dev/sdc1/ no es un dispositivo LUKS válido. en caso de no tratarse de un sistema de ficheros encriptado con uso de LUKS.

También es posible verlo en el navegador de archivos como Cifrados 8,0 GB.

Activar el dispositivo y automontarlo en el arranque del sistema

La siguiente tarea es activar el dispositivo con el nombre Privado, por ello ejecutamos cryptsetup luksOpen /dev/sdc1 Privado donde se nos pedirá la contraseña elegida anteriormente. También asignamos un sistema de ficheros el comando mkfs.ext4 /dev/mapper/Privado.

Seguidamente, creamos el directorio /opt2 con mkdir /opt2 donde se montará el dispositivo y lo montamos con mount /dev/mapper/Privado /opt2/. Con df -h comprobamos su correcto montaje.
Cifrar disco duro externo con DM-crypt y LUKS.

Ahora, editamos los ficheros /etc/fstab y /etc/crypttab para el automontaje en /opt2 en el arranque del sistema, donde deberemos introducir una de las passphrases añadidas.
Edición de los ficheros /etc/fstab y /etc/crypttab.

Para comprobar su correcta configuración, reiniciamos el equipo y observamos que el sistema Linux requiere una contraseña para continuar con el arranque.
Arranque de Debian Jessie con un dispositivo USB cifrado.

Añadir una nueva frase de paso a LUKS

Una vez iniciado el sistema, podemos añadir tantas frases de paso como deseemos. La intención de esta técnica es para que varios usuarios puedan acceder con su propia contraseña sin necesidad de usar todos la misma en común.

Esto lo hacemos activando el dispositivo con cryptsetup luksOpen /dev/sdc1 Privado y utilizando el comando cryptsetup luksAddKey /dev/sdc1 para añadir nuevas claves de paso.
Añadir una contraseña al cifrado con DM-crypt y LUKS.

Si desconectamos y conectamos el dispositivo USB, este nos pedirá mediante interfaz gráfica una de las contraseñas para desbloquear el dispositivo pudiendo utilizar, por ejemplo, la última añadida.
Encriptar o cifrar un pendrive o disco duro externo con DM-crypt y LUKS.

Aún más fácil: desde interfaz gráfica

Desde la interfaz gráfica de GNOME podemos cifrar nuestro dispositivo USB pulsando con el botón derecho sobre él en el navegador de archivos nautilus. Pulsamos sobre la opción Formatear… y elegimos el tipo Cifrado, compatible con sistemas Linux (LUKS + Ext4).
Cifrar un dispositivo USB con LUKS.

La gestión de las contraseñas de este cifrado puede hacerse igualmente por terminal de comandos. Por ejemplo, utilizando cryptsetup luksChangeKey /dev/sde1.
Cómo cambiar la contraseña de cifrado de LUKS.

Referencias

Compartir es agradecer. Si te ha gustado... ¡compartélo!
Comparte con tus amigos










Enviar

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.