Cómo configurar sistemas de archivos cifrados y espacio de intercambio usando la herramienta Cryptsetup en Linux - Parte 3


Un LFCE (abreviatura de Linux Foundation Certified Engineer ) está capacitado y tiene la experiencia para instalar, administrar y solucionar problemas de servicios de red en sistemas Linux, y está a cargo del diseño, implementación y mantenimiento continuo de la arquitectura del sistema.

Presentamos el programa de certificación de la Fundación Linux (LFCE).

La idea detrás del cifrado es permitir que solo personas de confianza accedan a sus datos confidenciales y protegerlos para que no caigan en las manos equivocadas en caso de pérdida o robo de su máquina/disco duro.

En términos simples, una clave se utiliza para " bloquear " el acceso a su información, de modo que esté disponible cuando el sistema esté funcionando y desbloqueado por un usuario autorizado. Esto implica que si una persona intenta examinar el contenido del disco (conectándolo a su propio sistema o iniciando la máquina con un LiveCD/DVD/USB), solo encontrará datos ilegibles en lugar de los archivos reales.

En este artículo discutiremos cómo configurar sistemas de archivos cifrados con dm-crypt (abreviatura de mapeador de dispositivos y criptográfico), la herramienta de cifrado estándar a nivel de kernel. Tenga en cuenta que, dado que dm-crypt es una herramienta de nivel de bloque, solo se puede utilizar para cifrar dispositivos completos, particiones o dispositivos de bucle (no funcionará en archivos o directorios normales).

Preparación de un dispositivo de unidad/partición/bucle para el cifrado

Dado que borraremos todos los datos presentes en nuestra unidad elegida (/dev/sdb ), en primer lugar, necesitamos realizar una copia de seguridad de cualquier archivo importante contenido en esa partición ANTES seguir adelante.

Borre todos los datos de /dev/sdb . Vamos a utilizar el comando dd aquí, pero también puede hacerlo con otras herramientas como triturar . A continuación, crearemos una partición en este dispositivo, /dev/sdb1 , siguiendo la explicación de la Parte 4 - Crear particiones y sistemas de archivos en Linux de la serie LFCS.

# dd if=/dev/urandom of=/dev/sdb bs=4096 

Antes de continuar, debemos asegurarnos de que nuestro kernel haya sido compilado con soporte de cifrado:

# grep -i config_dm_crypt /boot/config-$(uname -r)

Como se describe en la imagen anterior, el módulo del kernel dm-crypt debe cargarse para configurar el cifrado.

Cryptsetup es una interfaz de interfaz para crear, configurar, acceder y administrar sistemas de archivos cifrados utilizando dm-crypt .

# aptitude update && aptitude install cryptsetup 		[On Ubuntu]
# yum update && yum install cryptsetup 				[On CentOS] 
# zypper refresh && zypper install cryptsetup 			[On openSUSE]

El modo de funcionamiento predeterminado para cryptsetup es LUKS ( Configuración de clave unificada de Linux ), así que nos quedaremos con él. Comenzaremos configurando la partición LUKS y la frase de contraseña:

# cryptsetup -y luksFormat /dev/sdb1

El comando anterior ejecuta cryptsetup con parámetros predeterminados, que se pueden enumerar con,

# cryptsetup --version

Si desea cambiar los parámetros de cifrado , hash o clave , puede utilizar –cifrar , < b> –hash y –tamaño de clave , respectivamente, con los valores tomados de /proc/crypto .

A continuación, debemos abrir la partición LUKS (se nos pedirá la frase de contraseña que ingresamos anteriormente). Si la autenticación tiene éxito, nuestra partición cifrada estará disponible dentro de /dev/mapper con el nombre especificado:

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

Ahora formatearemos la partición como ext4 .

# mkfs.ext4 /dev/mapper/my_encrypted_partition

y cree un punto de montaje para montar la partición cifrada. Por último, es posible que deseemos confirmar si la operación de montaje se realizó correctamente.

# mkdir /mnt/enc
# mount /dev/mapper/my_encrypted_partition /mnt/enc
# mount | grep partition

Cuando haya terminado de escribir o leer en su sistema de archivos cifrado, simplemente desmóntelo

# umount /mnt/enc

y cierre la partición LUKS usando,

# cryptesetup luksClose my_encrypted_partition

Finalmente, comprobaremos si nuestra partición cifrada es segura:

1. Abra la partición LUKS

# cryptsetup luksOpen /dev/sdb1 my_encrypted_partition

2. Ingrese su frase de contraseña

3. Monte la partición

# mount /dev/mapper/my_encrypted_partition /mnt/enc

4. Cree un archivo ficticio dentro del punto de montaje.

# echo “This is Part 3 of a 12-article series about the LFCE certification” > /mnt/enc/testfile.txt

5. Verifique que puede acceder al archivo que acaba de crear.

# cat /mnt/enc/testfile.txt

6. Desmonte el sistema de archivos.

# umount /mnt/enc

7. Cierre la partición LUKS.

# cryptsetup luksClose my_encrypted_partition

8. Intente montar la partición como un sistema de archivos normal. Debería indicar un error.

# mount /dev/sdb1 /mnt/enc

Cifrar el espacio de intercambio para mayor seguridad

La frase de contraseña que ingresó anteriormente para usar la partición encriptada se almacena en la memoria RAM mientras está abierta. Si alguien puede conseguir esta clave, podrá descifrar los datos. Esto es especialmente fácil de hacer en el caso de una computadora portátil, ya que mientras hiberna el contenido de la RAM se mantiene en la partición de intercambio.

Para evitar dejar una copia de su clave accesible a un ladrón, encripte la partición de intercambio siguiendo estos pasos:

1 Cree una partición para usar como intercambio con el tamaño apropiado (/dev/sdd1 en nuestro caso) y encripte como se explicó anteriormente. Nómbrelo simplemente " intercambio " para mayor comodidad ".

2. Configúrelo como intercambio y actívelo.

# mkswap /dev/mapper/swap
# swapon /dev/mapper/swap

3. A continuación, cambie la entrada correspondiente en /etc/fstab .

/dev/mapper/swap none        	swap	sw          	0   	0

4. Finalmente, edite /etc/crypttab y reinicie.

swap               /dev/sdd1         /dev/urandom swap

Una vez que el sistema ha terminado de iniciarse, puede verificar el estado del espacio de intercambio:

# cryptsetup status swap

Resumen

En este artículo hemos explorado cómo cifrar una partición e intercambiar espacio. Con esta configuración, sus datos deberían estar considerablemente seguros. Siéntase libre de experimentar y no dude en contactarnos si tiene preguntas o comentarios. Simplemente use el formulario a continuación. ¡Estaremos más que encantados de saber de usted!