Guía básica para cifrar particiones de Linux con LUKS
Introducción
Hay muchas razones por las que la gente necesitaría cifrar una partición. Ya sea que estén basados en la privacidad, la seguridad o la confidencialidad, configurar una partición cifrada básica en un sistema Linux es bastante fácil. Esto es especialmente cierto cuando se utiliza LUKS, ya que su funcionalidad está integrada directamente en el kernel.
Instalación de Cryptosetup
Debian/Ubuntu
Tanto en Debian como en Ubuntu, la utilidad cryptsetup
está fácilmente disponible en los repositorios. Lo mismo debería aplicarse a Mint o cualquiera de sus otros derivados.
$ sudo apt-get install cryptsetup
CentOS/Fedora
Nuevamente, las herramientas necesarias están fácilmente disponibles tanto en CentOS como en Fedora. Estas distribuciones se dividen en varios paquetes, pero aún así se pueden instalar fácilmente usando yum
y dnf
respectivamente. CentOS
# yum install crypto-utils cryptsetup-luks cryptsetup-luks-devel cryptsetup-luks-libs
Fedora
# dnf install crypto-utils cryptsetup cryptsetup-luks
OpenSUSE
OpenSUSE se parece más a las distribuciones basadas en Debian, e incluye todo lo que necesita con cryptsetup
.
# zypper in cryptsetup
Arco Linux
Arch también se mantiene fiel a su filosofía de “mantenerlo simple”.
# pacman -S cryptsetup
Gentoo
La principal preocupación que deben tener los usuarios de Gentoo al instalar las herramientas necesarias para usar LUKS es si su kernel tiene soporte o no. Esta guía no cubrirá esa parte, pero tenga en cuenta que la compatibilidad con el kernel es un factor. Si su kernel soporta LUKS, puede simplemente emerge
el paquete.
# emerge --ask cryptsetup
Configurando la partición
ADVERTENCIA: Lo siguiente borrará todos los datos de la partición que se está utilizando y la hará irrecuperable. Proceda con precaución. De aquí en adelante, nada de esto es específico de la distribución. Todo funcionará bien con cualquier distribución. Los valores predeterminados proporcionados son bastante buenos, pero se pueden personalizar fácilmente. Si realmente no te sientes cómodo jugando con ellos, no te preocupes. Si sabes lo que quieres hacer, siéntete libre.
Las opciones básicas son las siguientes:
--cypher: This determines the cryptographic cypher used on the partition. The default option is aes-xts-plain64 --key-size: The length of the key used. The default is 256 --hash: Chooses the hash algorithm used to derive the key. The default is sha256. --time: The time used for passphrase processing. The default is 2000 milliseconds. --use-random/--use-urandom: Determines the random number generator used. The default is --use-random.
Entonces, un comando básico sin opciones se vería como la línea siguiente.
# cryptsetup luksFormat /dev/sdb1
Obviamente, querrás utilizar la ruta a cualquier partición que estés cifrando. Si desea utilizar opciones, se vería como lo siguiente.
# cryptsetup -c aes-xts-plain64 --key-size 512 --hash sha512 --time 5000 --use-urandom /dev/sdb1
Cryptsetup
solicitará una frase de contraseña. Elija uno que sea seguro y memorable. Si lo olvidas, tus datos se perderán. Probablemente tardará unos segundos en completarse, pero cuando esté hecho, habrá convertido con éxito su partición en un volumen LUKS cifrado.
A continuación, debe abrir el volumen en el asignador del dispositivo. Esta es la etapa en la que se le solicitará su contraseña. Puede elegir el nombre con el que desea asignar su partición. Realmente no importa qué sea, así que elige algo que sea fácil de recordar y usar.
# cryptsetup open /dev/sdb1 encrypted
Una vez que la unidad esté asignada, deberá elegir un tipo de sistema de archivos para su partición. Crear ese sistema de archivos es lo mismo que sería en una partición normal.
# mkfs.ext4 /dev/mapper/encrypted
La única diferencia entre crear el sistema de archivos en una partición normal y una cifrada es que utilizará la ruta al nombre asignado en lugar de la ubicación real de la partición. Espere a que se cree el sistema de archivos. Entonces, la unidad estará lista para su uso.
Montaje y desmontaje
Montar y desmontar manualmente particiones cifradas es casi lo mismo que hacerlo con particiones normales. Sin embargo, hay un paso más en cada dirección. Primero, para montar manualmente una partición cifrada, ejecute el siguiente comando.
# cryptsetup --type luks open /dev/sdb1 encrypted # mount -t ext4 /dev/mapper/encrypted /place/to/mount
Desmontar la partición es igual que una partición normal, pero también debes cerrar el dispositivo mapeado.
# umount /place/to/mount # cryptsetup close encrypted
Clausura
Hay mucho más, pero cuando se habla de seguridad y cifrado, las cosas son bastante profundas. Esta guía proporciona la base para cifrar y utilizar particiones cifradas, lo cual es un primer paso importante que no debe descartarse. Definitivamente habrá más en esta área, así que asegúrese de volver a consultar si está interesado en profundizar un poco más.