Hoy dia es muy común los hurtos de computadoras portátiles y alguna de escritorio también por lo que uno  de los aspectos más importantes hoy día es la seguridad de los datos que se vuelven vulnerables ante el robo o el extravío de un equipo.

Hoy dia cifrar un disco duro ya no es un tema de paranoicos o criminales que quieran ocultar ciertas actividades, hoy por hoy es casi una obligación para cada usuario, con tantos datos personales en las computadoras o incluso información empresarial es una verdadera irresponsabilidad no proteger los discos duros de los portátiles e incluso los PC de escritorio que también son vulnerables a los robos.

Por suerte en Linux tenemos la posibilidad de instalar el sistema operativo con cifrado total del disco lo que garantiza la confidencialidad de los datos aun en caso de que el disco caiga en manos ajenas, desde el instalador es sumamente sencillo sin embargo ¿Que pasa cuando necesitamos agregar más discos luego que el sistema ya está instalado? Bueno, eso es lo que veremos aquí.

En el presente tutorial vamos a ver cómo configurar y montar una partición cifrada con LUKS, el particionado se puede realizar con fdisk, gparted o la herramienta que quieras, no vamos describir eso aquí ya que seria un tutorial en si mismo y en internet hay de sobra

Lo primero es instalar la librería cryptsetup:

apt-get install cryptsetup

En el ejemplo se va asumir que el disco (y la partición) que se quiere montar es sdd1, en cada caso particular esto puede cambiar así que se deberá reemplazar ssd1 por la correcta en cada parte del tutorial.

Cifrar el disco

Esta parte solamente se debe seguir si es un disco nuevo recién particionado, si es un disco YA particionado y tiene datos por favor SALTAR ESTA PARTE O SE PERDERÁN LOS DATOS!!!

Para cifrar y formatear el disco se ejecuta:

cryptsetup -c aes-xts-plain64 -y -s 512 luksFormat /dev/sdd1

A continuación se desbloquea el disco asignando una etiqueta llamada DISCO (se puede llamar como se quiera):

cryptsetup luksOpen /dev/sdd1 DISCO

Una vez desbloqueada la partición cifrada se formatea la partición por ejemplo con ext4

mkfs -t ext4 /dev/mapper/DISCO

Montando el disco

Lo primero que se debe hacer es generar un archivo que sirva como llave, para el tutorial se asume que ya se tiene instalado el sistema operativo en particiones ya cifradas con luks o como mínimo por lo menos la carpeta /etc

ssh-keygen -b 4096 -f /etc/luks.key -N ""

Este archivo no debe quedar en una partición sin cifrar, por otro lado también siempre es aconsejable respaldar esta key en un lugar seguro, preferentemente un usb también cifrado con luks aunque eso es otro tema, lo importante es recordar realizar un respaldo de esta clave.

Agregamos la nueva llave como nueva clave en el disco:

cryptsetup luksAddKey /dev/sdd1 /etc/luks.key

Sabiendo el disco se debe montar se puede obtener el UUID y para eso se ejecuta en la terminal:

cryptsetup luksUUID /dev/sdd1

Se anota el UUID, que para el ejemplo será cd3463b6-cb4e-40ca-97a2-6b5a1255bb8e, obviamente este cambiara en cada caso particular. Con el UUID se edita el archivo /etc/crypttab y se agrega:

sdd1_crypt UUID=cd3463b6-cb4e-40ca-97a2-6b5a1255bb8e /etc/luks.key luks

Obviamente se debe ajustar el nombre del disco y colocar el correcto para cada caso en lugar de ssd1, luego colocar el UUID que corresponda y la ruta de la llave que en el ejemplo es /etc/luks.key

Luego de eso se debe editar el archivo /etc/fstab y agregar algo como lo siguiente:

/dev/mapper/sdd1_crypt /mnt/DISCO ext4 defaults 0 4

En la primera columna debe coincidir el nombre del disco con el que se agrego en /etc/crypttab, si se coloco sdd1_crypt en fstab debemos  se debe colocar /var/mapper/sdd1_crypt y en la segunda columna colocar la ruta donde se montará el disco, por ejemplo /mnt/DISCO aunque puede ser cualquiera.

En la tercera columna se coloca el tipo de sistema de archivos con el que fue formateada la partición, para el ejemplo ext4, las últimas 3 columnas se coloca defaults para asignar las opciones por defecto y luego 0 en la penúltima columna que es una opción ya en desuso prácticamente que no viene al caso y con 0 esta bien.

La última columna está vinculada al orden que que el sistema chequeara las particiones en caso de realizar un fsck, en este caso era la cuarta partición que agregaba así se le asigno un 4 sin embargo en su caso puede ser 2 o 3 dependiendo de la cantidad de particiones que se tenga.

Listo, a reiniciar el equipo y verificar que todo funcione!!!

Conclusión

Con esto en pocos pasos tendremos configurado nuestro disco, son pasos simples aunque se debe prestar atención, solo formatear si es un disco nuevo, si es un disco que ya esté cifrado y tenga datos se perderán si se formatea, por otro lado se está modificando archivos vitales del sistema operativo que si quedan mal editados puede pasar cualquier cosa, desde algo leve como que la partición no se monte hasta que el sistema no arranque directamente si tocan por error la configuracion de otras particiones.

 

2 comments

  1. Hola Alvaro,
    he leido la página https://www.alvarodeleon.net/montar-automaticamente-un-disco-cifrado-con-luks/ y me surge una duda. Si tenemos un servidor linux con ciertas particiones encriptadas ¿se puede hacer que el sistema NO solicite ninguna frase de contraseña al reiniciarlo y funcione normalmente? Queremos proteger el sistema (somos proveedores) pero que el cliente pueda reiniciar normalmente la máquina virtual sin necesidad de introducir ninguna contraseña.

    1. Hola Javier

      Si y no, necesitarías que la partición de sistema no este cifrada y usar una llave como la de este post, sin embargo, la llave debería estar fuera de la partición cifrada, de todos modos no tiene sentido cifrar particiones para luego dejar la llave desprotegida o si luego no es solicitada ninguna contraseña para montarlo, dicho de otra manera, si lo configuras para que no pida contraseña no estarías protegiendo realmente las particiones.

      Probablemente lo que necesites sea esto otro:
      https://www.alvarodeleon.net/llave-usb-para-bloqueardesbloquear-la-pc-en-linux/
      Básicamente es lo mismo solo que guardando el archivo llave en un USB, el cliente en lugar de colocar una contraseña conecta el USB antes de prender la PC y lo retira luego que el sistema haya arrancado.

      Saludos

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Alvaro De León

Subscribe now to keep reading and get access to the full archive.

Continue reading