Mostrando entradas con la etiqueta Sistemas de Archivos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Sistemas de Archivos. Mostrar todas las entradas

martes, 27 de abril de 2010

Crear sistemas de archivos cifrados con Ubuntu

Existen varias formas de cifrar sistemas de archivos en Linux, de hecho en la siguiente url https://help.ubuntu.com/community/EncryptedFilesystems se pueden consultar guías para realizarlo en Ubuntu.

Como ejemplo vamos a utilizar una forma sin entrar en discusiones de si es la mejor o la peor.

Primero vamos a crear un archivo con datos aleatorios que será el que contenga el sistema de archivos y que cifraremos para que nadie pueda ver su contenido.

Para hacer la prueba vale con un archivo de 100MB.

sudo dd if=/dev/urandom of=almacen bs=1M count=100

Ahora asociamos un dispositivo de tipo loop con el archivo que contendrá el sistema de archivos cifrado. Hay que hacer esto porque vamos a tratar el archivo como un dispositivo de bloques (dispositivo loop + archivo = dispositivo de bloques). Esto se consigue con el comando losetup y como se va a cifrar hay que especificar el algoritmo de cifrado. En esta caso se va a usar Blowfish con clave de 2048 bits. Existe mas algoritmos: XOR, AES128, AES192, AES256, twofish128, twofish160, twofish192, twofish256, blowfish128, blowfish160, blowfish192, blowfish256, serpent128, serpent192, serpent256, mars128, mars192, mars256, rc6-128, rc6-192, rc6-256, tripleDES,...

sudo losetup -e blowfish2048 /dev/loop0 almacen

En este momento hay que introducir la contraseña que se usara para proteger la clave que se va a generar para cifrar los datos. Si se obtienen el siguiente error: "ioctl: LOOP_SET_STATUS: No existe el fichero ó directorio" es necesario instalar el modulo para el cifrado que se va a utilizar.

sudo apt-get install loop-aes-utils
sudo losetup -e blowfish2048 /dev/loop0 almacen

Ahora hay que crear el sistema de archivos (dar formato) dentro del archivo.

sudo mkfs -t ext3 /dev/loop0

Lo siguiente es crear un punto de montaje para el sistema de archivos encriptado y montarlo.

sudo mkdir /mnt/cifrado
sudo mount -t ext3 /dev/loop0 /mnt/cifrado

A partir de este instante todo lo que se guarde en /mnt/cifrado quedara cifrado e inaccesible si no se tiene la contraseña. Así que cuidado con perderla.

Para terminar, una vez que ya se ha terminado de usar el sistema de archivos, hay que desmontarlo y eliminar la asociación entre el dispositivo loop y el archivo que contiene el sistema de archivos.

sudo umount /mnt/cifrado
sudo losetup -d /dev/loop0