Aqui se explica como crear un contenedor con cryptsetup, al mejor estilo Truecrypt.
Crear archivo contenedor base:
$ dd if=/dev/zero of=/luksfile bs=1M count=2100
Asignarle al archivo un dispositivo loop:
# losetup /dev/loop0 /luksfile # losetup -a
Cifrar dispositivo (ahora como una partición)
$ cryptsetup -c aes-xts-essiv:sha256 -y -s 512 luksFormat /dev/loop0 # cryptsetup luksFormat /dev/loop0
Abrir el contenedor creado:
$ cryptsetup luksOpen /dev/loop0 cifrado $ cryptsetup status cifrado
Dar formato de filesystem (el formato ya queda cifrado)
$ mkfs.xfs /dev/mapper/cifrado
Montar
$ mount -t xfs /dev/mapper/cifrado /mnt $ chmod o=rwx /mnt
Desmontar
$ umount /mnt $ cryptsetup luksClose cifrado
Liberar dispositivo loop:
$ losetup -d /dev/loop0
Mover contenedor a Dropbox o compartir:
$ mv /luksfile ~/Dropbox/luksfile
Para montar el archivo permanentemente se puede hacer algo como lo siguiente:
$ losetup /dev/loop0 ~/Dropbox/luksfile && cryptsetup luksOpen /dev/loop0 cifrado && \\ mount -t xfs /dev/mapper/cifrado /punto/montado/cifrado
Para desmontar se puede hacer algo como lo siguiente:
$ umount /punto/montado/cifrado && cryptsetup luksClose cifrado && losetup -d /dev/loop0
Montar:
# cryptsetup luksFormat /dev/hda4 # cryptsetup luksOpen /dev/hda4 cifrado # mkfs.ext3 /dev/mapper/cifrado # mount /dev/mapper/cifrado /mnt/cifrado
Y para desmontar:
# umount /dev/mapper/cifrado # cryptsetup luksClose /dev/mapper/cifrado
Escribe esto en el fichero /etc/crypttab
cifrado /dev/hda4 none luks
Y esto en el fichero /etc/fstab:
/dev/mapper/cifrado /mnt/cifrado ext3 rw,user 0 0
Con esto, durante el proceso de arranque se te pedirá la clave para abrir el contenedor LUKS. Así que con este invento puedes cifrar la partición de “home”, el swap y hasta el raíz, de modo que si tu portátil cae en manos de El Enemigo (a.k.a. Sauron) tendrá que torturarte como a Gollum para que cantes la clave y poder ver tus ficheros. Sí, ya lo sé ¿qué pasa?
Si no vas usar siempre esa partición, es bastante latazo tener que poner la password cada vez que reinicias. Si quieres “abrirlo” bajo demanda añade noauto a la línea de antes en el /etc/crypttab para que quede así:
cifrado /dev/hda4 none luks,noauto
Y cuando quieras abrir el contenedor en cuestión, escribe:
$ sudo cryptdisks_start cifrado Starting crypto disk…space (starting). Enter passphrase to unlock the disk /dev/hda4 (cifrado): key slot 0 unlocked. Command successful. cifrado (started)…done.
Después lo puedes montar del modo habitual, incluyendo las utilidades de GNOME o KDE para estos menesteres. Para cerrar el container:
$ sudo cryptdisks_stop cifrado Stopping crypto disk…cifrado (stopping)…done.