- I N S T A L A C I Ó N:
$ sudo apt-get install ecryptfs cryptsetup
- U S O:
# CREAR DIRECTORIO DE CIFRADO '~/Private/' (se descifra y cifra automáticamente al iniciar y cerrar sesión):
- Ejecutar el asistente de creación de directorio cifrado:
$ ecryptfs-setup-private
- Primero se solicita la contraseña de usuario:
dijo:Enter your login passphrase:
- A continuación se solicita introducir la contraseña de cifrado y montaje deseada:
dijo:Enter your mount passphrase [leave blank to generate one]:
- Seguidamente vuelve a solicitar la contraseña de cifrado y montaje:
dijo:Enter your mount passphrase (again):
- Se crearán los directorios ocultos '~/.ecryptfs/' y '~/.Private/ y el directorio visible '~/Private'
- Cerrar sesión de usuario o reiniciar el sistema
- Guardar en el directorio visible '~/Private/' todos los directorios y ficheros que se quiera protejer cifrándolos (cortando y pegándolos). Si un directorio o fichero pertenecen a una aplicación que esté actualmente ejecutándose, cerrar dicha aplicación antes de cortar y pegar
- Para cada directorio o fichero que haya sido movido a '~/Private/' hay que crear un enlace directo simbólico en el mismo lugar donde se encontraba originalmente y con el mismo nombre. Ejemplo:
$ ln -s ~/Private/.thunderbird ~/.thunderbird
$ ln -s ~/Private/Música ~/Música
- Para desmontar y cifrar el directorio '~/Private/' durante la sesión de usuario:
$ ecryptfs-umount-private
- Para volver a montar y descifrar el directorio '~/Private/' (solicitará la contraseña de usuario):
$ ecryptfs-mount-private
- Para impedir que el directorio '~/Private/' se monte y descifre automáticamente al inicio de sesión simplemente borrar el archivo '~/.ecryptfs/auto-mount'
- Para volver a habilitar el montaje y descifrado automático al inicio de sesión simplemente crear un archivo vacío llamado "auto-mount" dentro del directorio '~/.ecryptfs/'
- Para desproteger de nuevo directorios o ficheros, simplemente borrar los enlaces directos simbólicos, cortar los directorios y ficheros de '~/Private/' y pegarlos en sus lugares originales
- Para eliminar los directorios ocultos '~/.ecryptfs/' y '~/.Private/ y el directorio visible '~/Private' desmontar el directorio '~/.Private/' de la siguiente manera:
$ sudo umount ~/.Private
- Y a continuación ya se pueden borrar los 3 directorios referidos
# CREAR DIRECTORIO DE CIFRADO (se cifra y descifra manualmente):
- Crear un nuevo directorio. Ejemplo:
$ mkdir ~/Privado
- Iniciar primer montaje y asistente de cifrado:
dijo:$ sudo mount -t ecryptfs ~/Privado ~/Privado
Passphrase: [INTRODUCIR AQUÍ LA CONTRASEÑA DESEADA PARA MONTAR Y DESCIFRAR]
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: 32
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_key_bytes=32
ecryptfs_cipher=aes
ecryptfs_sig=79d78a9afb5ebc95
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [79d78a9afb5ebc95] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
- A partir de ahora el directorio del ejemplo (~/Privado) queda montado y sin cifrado y ya puede usarse para guardar otros directorios y ficheros
- Para desmontar y cifrar el directorio del ejemplo, ejecutar:
$ sudo umount ~/Privado
- A partir de ese momento se puede acceder al directorio y a sus subdirectorios; se pueden ver los ficheros, pero NO pueden abrirse
# CIFRAR PARTICIÓN swap:
***NOTA: el cifrado de la memoria de intercambio swap (si existe) es esencial en un sistema que usa eCryptfs. La memoria de intercambio puede guardar temporalmente archivos que al escribirlos de nuevo en el disco duro pueden quedar sin cifrar
***NOTA: cifrar swap deshabilita la hibernación del sistema
- Ejecutar ecryptfs:
$ sudo ecryptfs-setup-swap
- A partir de ese momento la memoria swap queda cifrada y se descifrará automáticamente en cada inicio de sesión
# CIFRAR TODO EL DIRECTORIO DEL USUARIO (se descifra y cifra automáticamente al iniciar y cerrar sesión):
***ATENCIÓN: durante el proceso de cifrado se crea una copia completa de seguridad del directorio del usuario en el directorio nuevo '/home/[usuario].xxxxxxxx/', lo cual significa que se dobla el tamaño de datos presentes en el sistema. Esto podría dar poblemas por falta de espacio.
- El proceso de cifrado debe realizarse CERRANDO la sesión del usuario e iniciarla como administrador (root). Para ello, primeramente debe de asignarse una contraseña a root:
$ sudo passwd root
- Una vez asignada la contraseña del administrador, CERRAR (que no cambiar) la sesión del usuario
- En la pantalla de inicio de sesión seleccionar "Otros"
- Como nombre de usuario escribir "root" (sin comillas)
- En Contraseña la contraseña que se configuró anteriormente para root
- Una vez iniciada la sesión como administrador ejecutar en un Terminal:
# ecryptfs-migrate-home -u [nombre_del_usuario]
- Comenzará el proceso de cifrado
- Si todo ha ido bien aparecerá un mensaje similar al siguiente:
dijo:========================================================================
Some Important Notes!
1. The file encryption appears to have completed successfully, however,
test MUST LOGIN IMMEDIATELY, _BEFORE_THE_NEXT_REBOOT_,
TO COMPLETE THE MIGRATION!!!
2. If test can log in and read and write their files, then the migration is complete,
and you should remove /home/user.7y3X0vjM.
Otherwise, restore /home/user.7y3X0vjM back to /home/test.
3. user should also run 'ecryptfs-unwrap-passphrase' and record
their randomly generated mount passphrase as soon as possible.
4. To ensure the integrity of all encrypted data on this system, you
should also encrypted swap space with 'ecryptfs-setup-swap'.
========================================================================
- IMPORTANTE: cerrar la sesión como administrador e iniciarla como usuario ANTES de reiniciar el sistema para que el proceso de cifrado se complete
- Una vez iniciada la sesión del usuario y comprobado que no hay fallos en el acceso, lectura y grabación del directorio del usuario, se puede proceder a borrar la copia de seguridad. Debe realizarse en un Terminal de la siguiente manera:
$ sudo rm -r /home/[usuario].xxxxxxxx
- En caso que el proceso no haya sido satisfactorio, sustituir el contenido que hay DENTRO del directorio del usuario por el que hay DENTRO del directorio de copia de seguridad
# DESCIFRAR DIRECTORIO CIFRADO '~/Private/' DESDE UN LIVE-CD O LIVE-USB:
- Ejecutar ecryptfs:
$ sudo ecryptfs-add-passphrase --fnek
dijo:***NOTA: si se ha olvidado la contraseña de cifrado y montaje proceder de la siguiente manera:
- Ir con un terminal al directorio donde se encuentra el subdirectorio oculto '/.ecryptfs/' y ejecutar:
$ sudo chmod 777 -R .ecryptfs
- A continuación ejecutar en el mismo terminal:
$ ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase [contraseña_usuario]
- Se obtendrán dos líneas de información. Ejemplo:
dijo:Inserted auth tok with sig [9986ad986f986af7] into the user session keyring
Inserted auth tok with sig [76a9f69af69a86fa] into the user session keyring
- El código que hay entre corchetes en la segunda línea se necesitará más adelante
- Ir con un terminal al directorio donde se encuentra el subdirectorio oculto '/.Private/' y crear un nuevo subdirectorio. Ejemplo:
$ sudo mkdir SUBDIRECTORIO
- Seguidamente, en el mismo terminal, ejecutar:
$ sudo chmod 777 -R Private SUBDIRECTORIO
- Montar '~/.Private/' en el subdirectorio creado. Ejemplo:
dijo:$ sudo mount -t ecryptfs /media/[partición]/home/[usuario]/.Private /media/[partición]/home/[usuario]/SUBDIRECTORIO
Passphrase: [INTRODUCIR AQUÍ DE NUEVO LA CONTRASEÑA DE CIFRADO Y MONTAJE]
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [198af172b879bb21]: [INTRODUCIR AQUÍ EL CÓDIGO ENTRE CORCHETES ANTERIORMENTE OBTENIDO (sin los corchetes)]
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=6703ba6b1d20b56e
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=198af172b879bb21
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [198af172b879bb21] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
- A partir de ahora ya es posible ver el contenido descifrado de '/Private/' en '/SUBDIRECTORIO/'
- Para volver a ocultar el contenido de '/Private/' desmontar el subdirectorio. Ejemplo:
$ sudo umount /media/[partición]/home/[usuario]/SUBDIRECTORIO
***NOTA: para volver a montar y descifrar '/Private/' hay que repetir todo el proceso anterior
# DESCIFRAR DIRECTORIO CIFRADO '~/.Private/' QUE CONTIENE TODO EL DIRECTORIO DEL USUARIO DESDE UN LIVE-CD O LIVE-USB:
- Ejecutar ecryptfs:
$ sudo ecryptfs-add-passphrase --fnek
dijo:***NOTA: si se ha olvidado la contraseña de cifrado y montaje proceder de la siguiente manera:
- Ir con un terminal al directorio '/media/[partición]/home/.ecryptfs/[usuario]/' y ejecutar:
$ sudo chmod 777 -R .ecryptfs
- A continuación ejecutar en el mismo terminal:
$ ecryptfs-unwrap-passphrase .ecryptfs/wrapped-passphrase [contraseña_usuario]
- Se obtendrán dos líneas de información. Ejemplo:
dijo:Inserted auth tok with sig [9986ad986f986af7] into the user session keyring
Inserted auth tok with sig [76a9f69af69a86fa] into the user session keyring
- El código que hay entre corchetes en la segunda línea se necesitará más adelante
- Ir con un terminal al directorio '/media/[partición]/home/.ecryptfs/[usuario]/' y crear un nuevo subdirectorio. Ejemplo:
$ sudo mkdir SUBDIRECTORIO
- Seguidamente, en el mismo terminal, ejecutar:
$ sudo chmod 777 -R .Private SUBDIRECTORIO
- Montar '/media/[partición]/home/.ecryptfs/[usuario]/.Private/' en el subdirectorio creado. Ejemplo:
dijo:$ sudo mount -t ecryptfs /media/[partición]/home/.ecryptfs/[usuario]/.Private /media/[partición]/home/.ecryptfs/[usuario]/SUBDIRECTORIO
Passphrase: [INTRODUCIR AQUÍ DE NUEVO LA CONTRASEÑA DE CIFRADO Y MONTAJE]
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]:
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]: y
Filename Encryption Key (FNEK) Signature [198af172b879bb21]: [INTRODUCIR AQUÍ EL CÓDIGO ENTRE CORCHETES ANTERIORMENTE OBTENIDO (sin los corchetes)]
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_fnek_sig=6703ba6b1d20b56e
ecryptfs_key_bytes=16
ecryptfs_cipher=aes
ecryptfs_sig=198af172b879bb21
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [198af172b879bb21] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
- A partir de ahora ya es posible ver el contenido descifrado de '/.Private/' en '/SUBDIRECTORIO/'
- Para volver a ocultar el contenido de '/.Private/' desmontar el subdirectorio. Ejemplo:
$ sudo umount /media/[partición]/home/.ecryptfs/[usuario]/SUBDIRECTORIO
***NOTA: para volver a montar y descifrar '/.Private/' hay que repetir todo el proceso anterior
# DESCIFRAR DIRECTORIO CIFRADO DESDE UN LIVE-CD O LIVE-USB:
- Si, por ejemplo, el directorio cifrado se denomina '~/Privado', en un terminal ejecutar como en el ejemplo:
dijo:$ sudo mount -t ecryptfs /media/[partición]/home/[usuario]/Privado /media/[partición]/home/[usuario]/Privado
Passphrase: [INTRODUCIR AQUÍ LA CONTRASEÑA DE MONTAJE Y DESCIFRADO]
Select cipher:
1) aes: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
2) blowfish: blocksize = 16; min keysize = 16; max keysize = 56 (not loaded)
3) des3_ede: blocksize = 8; min keysize = 24; max keysize = 24 (not loaded)
4) twofish: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
5) cast6: blocksize = 16; min keysize = 16; max keysize = 32 (not loaded)
6) cast5: blocksize = 8; min keysize = 5; max keysize = 16 (not loaded)
Selection [aes]:
Select key bytes:
1) 16
2) 32
3) 24
Selection [16]: 32
Enable plaintext passthrough (y/n) [n]:
Enable filename encryption (y/n) [n]:
Attempting to mount with the following options:
ecryptfs_unlink_sigs
ecryptfs_key_bytes=32
ecryptfs_cipher=aes
ecryptfs_sig=79d78a9afb5ebc95
WARNING: Based on the contents of [/root/.ecryptfs/sig-cache.txt],
it looks like you have never mounted with this key
before. This could mean that you have typed your
passphrase wrong.
Would you like to proceed with the mount (yes/no)? : yes
Would you like to proceed with the mount (yes/no)? : yes
Would you like to append sig [79d78a9afb5ebc95] to
[/root/.ecryptfs/sig-cache.txt]
in order to avoid this warning in the future (yes/no)? : yes
Successfully appended new sig to user sig cache file
Mounted eCryptfs
- A partir de ahora el directorio del ejemplo (~/Privado) queda montado y sin cifrado
- Para desmontar y cifrar el directorio de ejemplo, ejecutar:
$ sudo umount /media/[partición]/home/[usuario]/Privado
- A partir de ese momento se puede acceder al directorio y a sus subdirectorios; se pueden ver los ficheros, pero NO pueden abrirse
# GUARDAR COPIAS DE SEGURIDAD:
> Directorio '~/Private/':
- Guardar simplemente el directorio oculto '~/.Private/'. Para poder descifrarlo desde su lugar de almacenaje, ejecutar el proceso descrito en el apartado "Descifrar directorio cifrado '~/Private/' desde un Live-CD o Live-USB"
- Opcionalmente se puede guardar el archivo cifrado '~/.ecryptfs/wrapped-passphrase', el cual contiene la contraseña de acceso. Esta contraseña puede ser visualizada con la ejecución de "$ ecryptfs-unwrap-passphrase wrapped-passphrase [contraseña_de_sesión_de_usuario_al_que_pertenecía_el_directorio]
> Otro/s directorio/s cifrado/s:
- Guardar simplemente el directorio cifrado. Para poder descifrarlo desde su lugar de almacenaje, ejecutar el proceso descrito en el apartado "Descifrar directorio cifrado desde un Live-CD o Live-USB"