Búsqueda de sitios web

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.