Sistema de Archivos Encriptado de Linux con dm-crypt
Un sistema de archivos encriptado protejerá contra un ataque al disco duro. Cualquier persona que consiga poner sus manos en el sistema tendra que usar la un ataque de fuerza bruta para adivinar la llave de encriptación, un obstáculo sustancial para llegar a los datos.
Windows y Mac OS X, cada uno proporcionan sus propias herramientas estándar de encriptación, mientras Linux, por supuesto, proporciona muchos instrumentos para llevar a cabo la tarea. El instrumento de opción estos días, al parecer, es dm-crypt. Invocado con la utilidad userspace cryptsetup , la dm-crypt proporciona un instrumento de encriptación bastante limpio y fácil de usar para Linux.
Paquetes Requeridos
Antes de comenzar, asegúrese que todos los paquetes necesarios esten instalados
- cryptsetup
- device-mapper
- util-linux
Es probable, sin embargo, que ellos están presentes ya en su sistema, a menos que usted realizara una instalación muy mínima.
Creación Inicial FS
Típicamente codifico archivos, no particiones enteras, entonces combino la dm-crypt con el instrumento de mantenimiento del dispositivo loopback, losetup. En la lengua plana del shell de Unix, aquí están los pasos para crear y montar un sistema de ficheros encriptado.
#Cree un archivo vacío clasificado para satisfacer
#sus necesidades.
#El que está creado en este ejemplo será un escaso
#archivo de 8GB, lo que significa que no se
#escribirá ninguno de los bloques verdaderos.
#Ya que forzaremos la asignación de bloque
#mas tarde, no tendría mucho sentido ahora
#hacer esto puesto que los bloques
#serán reescritos de todos modos.
dd of=/camino/a/secretfs bs=1G count=0 seek=8
#Cerrar todo acceso normal al archivo
chmod 600 /camino/a/secretfs
#Asociar el dispositivo loopback con el archivo
losetup /dev/loop0 /camino/a/secretfs
#Codifique el almacenaje en el dispositivo
#cryptsetup usará el dispositivo mapper de Linux
#para crear en este caso,
#/dev/mapper/secretfs. La opción -y especifica que
#se le solicitara escribir la contraseña dos veces
#(una vez para la verificación)
cryptsetup -y create secretfs /dev/loop0
#Compruebe su estado (opcional)
cryptsetup status secretfs
#Ahora, escribiremos ceros al nuevo dispositivo
# encriptado, Esto forzará la asignación
#de los bloques de datos. Y puesto que se cifran
#los ceros, estos pareceran datos al
#azar al mundo exterior, haciendo casi
#imposible desencriptar los bloques
#de datos si alguien accede al archivo que tiene
#el el archivo de sistema cifrado.
dd if=/dev/zero of=/dev/mapper/secretfs
#Crear un sistema de ficheros y verificar su estatus
mke2fs -j -O dir_index /dev/mapper/secretfs
tune2fs -l /dev/mapper/secretfs
Desmontar y asegurar un sistema de ficheros
Para desmontar y asegurar manualmente un sistema de ficheros encriptado, usted esencialmente hará lo siguiente :
#Desmontar el sistema de archivos
umount /mnt/cryptofs/secretfs
#Remover dispositivos mapeados
cryptsetup remove secretfs
#Disociar archivos del dispositivo loopback
losetup -d /dev/loop0
Remontar Sistema de Archivos Encriptados
Una vez que hayas creado un sistema de archivos encriptado, remontarlo es un proceso relativamente corto
#Asociar un dispositivo loopback con el archivo
losetup /dev/loop0 /path/to/secretfs
#Cifre el dispositivo mapeado, se le solicitara contraseña
cryptsetup create secretfs /dev/loop0
#Montar el sistema de ficheros
mount /dev/mapper/secretfs /mnt/cryptofs/secretfs
Note que cryptsetup no proporciona un mensaje de error si escribe mal la contraseña, todo lo que obtendra sera un mensaje no muy util de mount:
mount: you must specify the filesystem type (usted debe especificar el tipo de sistema de ficheros)
Si esto sucede, entonces recicle cryptsetup y trate de montar el sistemas de archivos nuevamente
cryptsetup remove secretfs
cryptsetup create secretfs /dev/loop0
mount /dev/mapper/secretfs /mnt/cryptofs/secretfs