eCryptfs es un sistema de archivos criptográficos apilados de clase empresarial compatible con POSIX para Linux. Puede usarlo para encriptar particiones y también directorios que no usan una partición propia, sin importar el sistema de archivos subyacente, el tipo de partición, etc. Este tutorial muestra cómo usar eCryptfs para encriptar un directorio en Debian Squeeze.
¡No emito ninguna garantía de que esto funcione para usted!
1 nota preliminar
En este tutorial, cifraré mi directorio de inicio, /home/falko/, que se encuentra en la partición / (es decir, /home/falko/ es un directorio normal y no utiliza una partición propia).
2 Instalación de eCryptfs
eCryptfs se puede instalar fácilmente de la siguiente manera:
apt-get install ecryptfs-utils
3 Cifrado de un directorio
Ahora cifraré mi directorio de inicio /home/falko/. Como ya hay archivos (no encriptados) en ese directorio, debo hacer una copia de seguridad de ellos para poder restaurarlos en el directorio /home/falko/ luego encriptado (de lo contrario, no se puede acceder/leer estos archivos mientras el directorio está cifrado):
cp -pfr /home/falko/ /tmp/
Ahora puedo cifrar el directorio /home/falko/ montándolo con el tipo de sistema de archivos ecryptfs:
mount -t ecryptfs /home/falko /home/falko
Cuando hagas esto por primera vez, tendrás que responder algunas preguntas:
[email protected]:~# mount -t ecryptfs /home/falko /home/falko
Frase de contraseña: <-- some_passphrase
Seleccionar cifrado:
1) aes: blocksize = 16; tamaño de clave mínimo = 16; max keysize = 32 (no cargado)
2) blowfish: blocksize = 16; tamaño de clave mínimo = 16; max keysize = 56 (no cargado)
3) des3_ede: blocksize = 8; tamaño de clave mínimo = 24; max keysize = 24 (no cargado)
4) twofish: blocksize = 16; tamaño de clave mínimo = 16; max keysize = 32 (no cargado)
5) cast6: blocksize = 16; tamaño de clave mínimo = 16; max keysize = 32 (no cargado)
6) cast5: blocksize = 8; tamaño de clave mínimo = 5; tamaño máx de clave = 16 (no cargado)
Selección [aes]: <-- ENTRAR
Seleccionar bytes de clave:
1) 16
2) 32
3) 24
Selección [16]: <-- ENTRAR
Habilitar paso de texto sin formato (s/n) [n]: <-- ENTRAR
Habilitar cifrado de nombre de archivo (s/n) [n]: <-- ENTRAR
Intentando montar con las siguientes opciones:
ecryptfs_unlink_sigs
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=bd28c38da9fc938b
ADVERTENCIA: Según el contenido de [/root/.ecryptfs/sig-cache.txt],
parece que nunca has montado con esta clave
antes. Esto podría significar que ha escrito incorrectamente su
frase de contraseña.
¿Desea continuar con el montaje (sí/no)? : <-- yes
¿Le gustaría añadir sig [bd28c38da9fc938b] a
[/root/.ecryptfs/sig-cache.txt]
para evitar esta advertencia en el futuro ( sí No)? : <-- yes
Se adjuntó con éxito nueva firma al archivo de caché de firmas del usuario
eCryptfs montado
[correo electrónico protegido]:~#
Echa un vistazo a la salida de
montar
y debería ver que /home/falko/ ahora está encriptado:
[email protected]:~# mount
/dev/sda1 en / escriba ext3 (rw,errors=remount-ro)
tmpfs en /lib/init/rw escriba tmpfs (rw,nosuid ,mode=0755)
proc en /proc tipo proc (rw,noexec,nosuid,nodev)
sysfs en /sys tipo sysfs (rw,noexec,nosuid,nodev)
udev en / dev escriba tmpfs (rw,mode=0755)
tmpfs en /dev/shm escriba tmpfs (rw,nosuid,nodev)
devpts en /dev/pts escriba devpts (rw,noexec,nosuid,gid=5,mode=620)
/home/falko en /home/falko escriba ecryptfs (rw,ecryptfs_sig=bd28c38da9fc938b,ecryptfs_cipher=aes,ecryptfs_key_bytes=16,ecryptfs_unlink_sigs)
[email protected]:~#
Restauremos nuestra copia de seguridad en el directorio ahora encriptado /home/falko/ y eliminemos la copia de seguridad después:
cp -pfr /tmp/falko/ /home/
rm -fr /tmp/falko/
Para fines de prueba, copiemos algún otro archivo, p. /etc/hosts, a /home/falko/ para comprobar si realmente se cifra:
cp /etc/hosts/home/falko
Mientras que /home/falko/ está montado con el tipo de sistema de archivos ecryptfs, debería ser posible leer el contenido de /home/falko/hosts:
gato /casa/falko/hosts
Ahora desmonte /home/falko/...
umount /home/falko
... y vuelve a intentar leer /home/falko/hosts, y deberías obtener algunas cosas crípticas:
gato /casa/falko/hosts
?æËÊÀû5)í}Ó`§wʽ.ÂçµÔyiIezz°Ñd¦R,`Ëi,0ñ*úÐ%^-']YÑj÷#6 ÷¨Y-]«é²ùô |
bd28c38da9fc938b |
key=frase de contraseña:passphrase_passwd_file=/mnt/usb/passwd_file.txtecryptfs_sig=bd28c38da9fc938becryptfs_cipher=aesecryptfs_key_bytes=16ecryptfs_passthrough=necryptfs_enable_filename_crypto=n |
passphrase_passwd=alguna_contraseña |
[...]/dev/sdb1 /mnt/usb vfat ro 0 0/home/falko /home/falko ecryptfs defaults 0 0 |