systemadmin.es » Seguridad » Creación de un disco encriptado

Creación de un disco encriptado

Una de las crecientes preocupaciones es la seguridad y la privacidad, por eso resulta recomendable (y a veces necesario por contrato) poder almacenar los datos cifrados. Vamos a ver como.

Para crear el disco encriptado deberemos tener los siguientes módulos cargados (o bien compilados con en el kernel):

# lsmod  | grep cryp
cryptoloop             36545  0
loop                   48977  1 cryptoloop
dm_crypt               46665  0
crypto_api             42177  1 xfrm_nalgo
dm_mod                 99480  12 dm_crypt,dm_multipath,dm_snapshot,dm_zero,dm_mirror

Para hacer la prueba lo podemos hacer mediante un fichero, si lo queremos hacer con una partición solo debemos substituir el /dev/loop0 por la partición en concreto saltándonos estos dos pasos:

# dd if=/dev/urandom of=~/ejemplo bs=1024k count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 16.2318 seconds, 6.5 MB/s
# losetup /dev/loop0  ~/ejemplo

A continuación mediante cryptsetup luksFormat inicializamos el disco y definimos la contraseña:

# cryptsetup luksFormat /dev/loop0

WARNING!
========
This will overwrite data on /dev/loop0 irrevocably.

Are you sure? (Type uppercase yes): YES
Enter LUKS passphrase:
Verify passphrase:
Command successful.

A continuación abrimos el disco cifrado mediante cryptsetup luksOpen, el cual nos pedirá la contraseña. Una vez abierto podremos acceder a él con la encriptación transparente desde el nombre que le definamos, por ejemplo, “privado“:

# cryptsetup luksOpen /dev/loop0 privado
Enter LUKS passphrase:
key slot 0 unlocked.
Command successful.

A continuación ya podemos crear el sistema de ficheros normalmente y montarlo:

# mkfs.ext3 /dev/mapper/privado
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
25480 inodes, 101884 blocks
5094 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
13 block groups
8192 blocks per group, 8192 fragments per group
1960 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729

Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 26 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# mkdir /mnt/privado
# mount /dev/mapper/privado /mnt/privado/

Finalmente, para el caso de desmontar el disco lo haremos con el sistema de ficheros desmontado mediante cryptsetup luksClose:

# umount  /mnt/privado/
# cryptsetup luksClose privado

Relacionados

Imprimir Imprimir

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>