Hola amigos, en este post les mostraré una forma de proteger la privacidad de nuestros datos utilizando LUKS (para tener una partición linux con clave de acceso).
LUKS (de las siglas en inglés, Linux Unified Key Setup) es una especificación de cifrado de disco creado por Clemens Fruhwirth, originalmente destinado para Linux. Mientras la mayoría del software de cifrado de discos implementan diferentes e incompatibles formatos no documentados, LUKS especifica un formato estándar en disco, independiente de plataforma, para usar en varias herramientas. Esto no sólo facilita la compatibilidad y la interoperabilidad entre los diferentes programas, sino que también garantiza que todas ellas implementen gestión de contraseñas en un lugar seguro y de manera documentada.
https://es.wikipedia.org/wiki/LUKS
La implementación de referencia funciona en Linux y se basa en una versión mejorada de cryptsetup, utilizando dm-crypt como la interfaz de cifrado de disco. En Microsoft Windows, los discos cifrados con LUKS pueden ser utilizados con FreeOTFE. Ha sido diseñado para ajustarse a la clave de configuración TKS1 de sistema seguro.
LUKS (Linux Unified Key Setup), es un estándar para la encriptación de dispositivos, LUKS encripta la partición o el volumen; el volumen debe ser desencriptado antes de que el file system sea montado.
Este artículo asume que posees los conocimientos mínimos de Linux, sabes cómo usar la terminal, y lo más importante, conoces tu servidor. La configuración es simple y se asume que estás ejecutando la terminal con la cuenta de root, si no es así, deberás adicionar ‘sudo’ a los comandos para obtener los privilegios de root.
Instalar la herramienta cryptsetup
Es necesario instalar el siguiente paquete:
apt-get install cryptsetup
O:
apt install cryptsetup
Creación de una partición encriptada
Para esto, debemos tener ya una partición creada (vacía), en este tutotial asumiremos que la partición a encriptar es /dev/sdb2.
En los siguientes enlaces se encuentran referencias de como crear particiones en linux:
- Cómo crear y configurar discos LVM para discos mayores a 2TB – Guía de uso de parted
- Cómo crear y configurar discos LVM – Guía de uso de fdisk
Para encriptar la partición y darle un password ejecutar:
cryptsetup luksFormat /dev/sdb2
Abrimos la partición con la contraseña correcta, el sistema lo abrirá como un volumen /dev/mapper/nombreParticion
cryptsetup luksOpen /dev/sdb2 nombreParticion
Después de abrirlo, le damos formato:
mkfs.ext4 /dev/mapper/nombreParticion
Creamos el directorio donde se montará el volumen y después lo montamos:
mkdir /particionsecreta
mount /dev/mapper/nombreParticion /particionsecreta
Para verificar el estado ejecutamos:
cryptsetup -v status nombreParticion
Desmontar partición encriptada
Una vez terminado el uso de nuestra partición encriptada, la desmontamos ejecutando:
umount /dev/mapper/nombreParticion
Cerramos el volumen con la contraseña:
cryptsetup luksClose nombreParticion
Montado de forma persistente
En caso de que se requiera montar de forma persistente la partición encriptada, será necesario realizar los siguientes cambios:
Crear un archivo /etc/crypttab:
nano /etc/crypttab
Adicionar el siguiente contenido:
nombreParticion /dev/sdb2
Opcionalmente se puede adicionar la dirección del archivo con la contraseña, sin embargo, es inseguro hacerlo.
Después de creado el crypttab, añadimos una línea al /etc/fstab:
/dev/mapper/nombreParticion /particionSecreta /ext4 defaults 1 2
Con eso se monta automaticamente, el momento de iniciar el sistema el equipo pedirá el password de la partición.
Para hacer la prueba de la última configuración ejecutamos:
mount -a