LUKS
Ya he escrito cómo hacer una instalación cifrada, pero, ¿y si quiero cifrar un disco nuevo? Un ejemplo, quiero tener un disco extraíble que quiero montar para hacer copias de seguridad y luego extraerlo y guardarlo en una caja fuerte y solo volver a montarlo para realizar de nuevo la copia o recuperar información.
En el mundo de la seguridad de datos, la encriptación de particiones es una práctica esencial para proteger la información sensible. En este artículo, aprenderemos a crear una partición, encriptarla y gestionarla de forma segura en sistemas Linux utilizando herramientas como fdisk y cryptsetup. Ambas herramientas ya vienen integradas en nuestro sistema operativo Linux Fedora.
Primero, hay que particionar el disco, como en todas las entradas, lo haremos por consola y con «fdisk» como herramienta de particionado. En este ejemplo el siguiente disco sería el segundo detectado por el sistema ( recordemos que podemos listar los discos y particiones con el comando «lsblk» ).
fdisk /dev/sdb
- Presiona
g
para crear una nueva tabla de particiones GPT. - Presiona
n
para crear una nueva partición. - Selecciona el tipo de partición, generalmente
p
para primaria. - Especifica el tamaño de la partición (100%, quiero que sea todo el disco).
- Presiona
w
para escribir los cambios y salir.
Formatear con el Sistema de Archivos Crypto y Encriptar
Ahora, prepararemos la partición para la encriptación. Ejecuta los siguientes comandos:
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup open /dev/sdb1 my_encrypted_partition # "my_encrypted_partition" es un nombre descriptivo, puedes poner el que quieras pero debes recordarlo.
A continuación debes poner la contraseña de cifrado.
Crear y Montar un Sistema de Archivos en la Partición Encriptada
Ahora le damos formato, por ejemplo «ext4», un formato por defecto en linux, en este caso a la partición mapeada y la montamos, por ejemplo, en el mismo nombre que el mapeo:
sudo mkfs.ext4 /dev/mapper/my_encrypted_partition
sudo mkdir /mnt/my_encrypted_partition
sudo mount /dev/mapper/my_encrypted_partition /mnt/my_encrypted_partition
En el momento del montado ya nos pedirá la contraseña que le pusimos a la hora de encriptarlo.
Montado y persistencia
Ahora demos el caso que queremos mantener la persistencia de este disco en el inicio del sistema, para ello primero editamos el fichero:
vi /etc/crypttab
añadimos la etiqueta de objetivo , la UUID y la «key file» que la dejamos en «none» y por último las opciones
my_encrypted_partition UUID=6c13fb1e-3e83-438c-a09e-c6a1b7281313 none luks,discard
Recordemos que la UUID se puede averiguar con el comando: blkid
Ahora editamos el fichero de persistencia:
vi /etc/fstab
Y añadimos
/dev/mapper/my_encrypted_partition /mnt/my_encrypted_partition ext4 defaults,discard 0 2
el sistema reaccionará en el reinicio pidiendo la contraseña, recodemos que si es la misma contraseña que el montaje del directorio raíz, no hace falta volverla a poner.
Comandos extra:
A continuación pongo los comando más utilizados:
Apertura y montado temporal:
sudo cryptsetup luksOpen /dev/sde1 my_encrypted_partition #Donde /dev/sde1 es la partición encriptada
Montado de la partición abierta:
sudo mount /dev/mapper/my_encrypted_partition /mnt/backup/
Suspensión de la partición, en el caso de que queramos desactivarla temporalmente por motivos de seguridad
cryptsetup luksSuspend my_encrypted_partition
Para volver a activar:
sudo cryptsetup luksResume my_encrypted_partition
y vuelve a poner la contraseña
Para desmontar el disco primero desmontamos la partición con:
sudo umount /mnt/my_encrypted_partition
Y por último cerramos el montado:
sudo cryptsetup close my_encrypted_partition
Y ya podemos desconectar el disco.
Por último, queda cómo cambiar la contraseña de una partición encriptada, solo hay que desmontarla como he explicado antes y ejecutar:
sudo cryptsetup luksChangeKey /dev/sdb1 #siguiendo el caso de la entrada
Esto te pedirá la contraseña antigua y la contraseña nueva. Acto seguido ya puedes volver a montar la partición.