EncFS (Español)

EncFS es un sistema de archivos criptográfico apilable ejecutado en el espacio de usuario similar a eCryptfs, y tiene como objetivo asegurar los datos con las mínimas complicaciones. Utiliza FUSE para montar un directorio encriptado en otro directorio especificado por el usuario. No utiliza un sistema loopback como algunos otros sistemas comparables como TrueCrypt y dm-crypt.

Esta traducción de EncFS fue revisada el 2020-08-06. Si existen cambios puede actualizarla o avisar al equipo de traducción.

Definitivamente EncFS es el software más simple si desea probar el cifrado de disco en Linux.

Esto tiene una serie de ventajas y desventajas en comparación con otros sistemas. En primer lugar, no requiere ningún privilegio de root para implementarlo; cualquier usuario puede crear un repositorio de archivos cifrados. En segundo lugar, no necesita crear un único archivo ni un sistema de archivos dentro de ese; funciona en el sistema de archivos existente sin modificaciones.

Sin embargo, esto implica algunas desventajas; debido a que los archivos cifrados no se almacenan en su propio archivo, alguien que tuviere acceso al sistema (a pesar del cifrado) podría ver la estructura de los directorios subyacentes, la cantidad de archivos, sus tamaños y cuándo se modificaron. Sin embargo, no podrían ver los contenidos.

Este método de asegurar los datos en particular, obviamente no es perfecto, pero hay situaciones en las que es útil.

Para obtener más detalles sobre EncFS en comparación con otras soluciones de cifrado de disco, consulte Data-at-rest encryption (Español)#Cuadro comparativo.

Comparación con eCryptFS

ECryptfs se implementa en el espacio del kernel y, por lo tanto, es un poco más difícil de configurar. Con este método se deben recordar varias opciones de cifrado (algoritmo de cifrado usado, tipo de clave, etc.). No es el caso con EncFS, porque este almacena la información de metadatos de cifrado en un archivo de configuración por directorio (.encfs6.xml). Por lo tanto, no tiene que recordar nada (excepto la frase de contraseña).

El rendimiento de ambos depende del tipo de actividad del disco. Si bien eCryptFS puede funcionar más rápido en algunos casos porque hay menos sobrecarga por el contexto en el que opera (entre el kernel y el espacio de usuario). EncFS tiene ventajas en otros aspectos, porque los metadatos de cifrado están centralizados y no almacenados en los encabezados de los archivos individuales. Para obtener más información, el proyecto EncFS proporciona ejemplos de referencia.

Instalación

Instale el paquete encfs.

Advertencia: Una review de seguridad de encfs (febrero de 2014) descubrió una serie de problemas de seguridad en la versión estable 1.7.4 (junio de 2014). Tenga presente este informe y sus referencias para tener información actualizada antes de usar dicha versión.

Utilización

Para crear un repositorio seguro, escriba la orden siguiente:

$ encfs ~/.cifrado ~/original

Tenga en cuenta que se deben utilizar rutas absolutas. Esta orden vendrá seguida por un mensaje preguntándole sobre si desea optar por las opciones predeterminadas o por una configuración experta. La configuración predeterminada es bastante segura. La experta permite especificar algoritmos y otras opciones. Después de ingresar una clave para el cifrado, se creará y montará el sistema de archivos codificado. Los archivos codificados se almacenarán, en este ejemplo, en ~/.cifrado, y sus versiones no cifradas en ~/original.

Sugerencia: El uso de EncFS en un sistema de archivos FUSE, por ejemplo NTFS-3G, puede abocar a un rendimiento lento. En este caso, considere la posibilidad de cambiar el sistema de archivos.

Para desmontar el sistema de archivos, escriba:

$ fusermount -u ~/nombre

Para volver a montar el sistema de archivos, emita la primera orden e ingrese la clave utilizada para codificarlo. Una vez ingresada la clave, el sistema de archivos se volverá a montar.

Cambiar la contraseña

Para cambiar la contraseña de un directorio cifrado por EncFS se puede usar la siguiente orden:

$ encfsctl passwd ~/.nombre

En este ejemplo, ~/.nombre es la ruta al directorio que contiene los archivos codificados. El programa le pedirá su contraseña actual y luego podrá establecer una nueva.

Herramientas para facilitar el montaje

Gnome Encfs Manager

Gnome Encfs Manager es un administrador y montador de encfs fácil de usar, con una configuración predefinida, con soporte para Gnome Keyring, con un menú de bandeja inspirado en Cryptkeeper pero usando la API AppIndicator y otras características propias.

Tiene disponible tanto el paquete como el más actualizado .

Montar utilizando gnome-encfs

gnome-encfs integra las carpetas EncFS en el escritorio de GNOME, almacenando sus contraseñas en el depósito de claves y, opcionalmente, montándo dichas carpetas al iniciar sesión utilizando el mecanismo de inicio automático de GNOME. Este método tiene la ventaja de que se puede montar y automatizar, y la contraseña no tiene que ser la misma que su contraseña de usuario.

Montar utilizando el icono CryptKeeper

Aplicación bastante simple, basta instalar y añadirla a su sesión X.

Montar utilizando encfsui

El script de bash encfsui proporciona una interfaz gráfica de usuario simple diseñada con , creada en torno de la utilidad de línea de órdenes de EncFS, para montar y desmontar un directorio cifrado. Incluye un lanzador de escritorio. Instálelo con encfsuiAUR.

Montar con fstab

Añadir una entrada en le permitirá montar el volumen encfs con un simple y luego se le pedirá su contraseña.

La opción noauto evita el intento de montar el volumen en el arranque, lo que podría retrasar el proceso de arranque mientras el sistema espera que se ingrese una contraseña. Se puede omitir si se quiere que solo el usuario pueda montar el volumen.

Montar al iniciar sesión utilizando pam_encfs

Instale . Véase también:

/etc/pam.d/

Tenga en cuenta que cuando utilice el parámetro try_first_pass en pam_unix.so, deberá configurar EncFS para que use la misma contraseña que está utilizando para iniciar sesión (o viceversa) y bastará ingresar una única contraseña. Sin este parámetro, deberá ingresar dos contraseñas.

configurar pam_encfs para todos los métodos de inicio de sesión

Coloque la línea encfs en /etc/pam.d/system-login como sigue:

inicio de sesión

En esta sección se explica cómo hacer que encfs se monte automáticamente cuando inicie sesión con un terminal virtual.

Nota: Si solo desea usar encfs a través de GDM, puede saltarse esta sección e ir directamente a la sección GDM.

Edite el archivo :

gdm

Esta sección explica cómo hacer que encfs se monte automáticamente al iniciar sesión con GDM (GNOME Display Manager).

Edite el archivo .

Inserte (no sobrescriba) lo siguiente en la parte inferior de gdm-password:

Guarde y salga.

Configuración

Edite /etc/security/pam_encfs.conf:

Recomendado: comente la línea:

encfs_default --idle=1

Este indicador desmontará su carpeta cifrada después de 1 minuto de inactividad. No obstante, si la carpeta se ha montando automáticamente al iniciar sesión, probablemente deseará mantenerla montada durante el tiempo que esté conectado.

En la parte inferior, comente las entradas de demostración existentes y añada:

Además, si ve la línea de abajo, elimine de las opciones. De lo contrario, entrará en conflicto con allow_other definido anteriormente.

A continuación, edite y descomente:

user_allow_other

Para probar su configuración, abra una nueva terminal virtual (por ejemplo con ) e inicie sesión. Debería comprobar que pam monta con éxito su carpeta EncFS.

Montar al iniciar sesión utilizando pam_mount

Instale y configure pam_mount como se explica en su página wiki. Los montajes de EncFS se pueden especificar en el archivo de configuración de pam_mount de la siguiente manera:

Los montajes de EncFS deben tener la misma contraseña que su cuenta de usuario. La opción hace posible montar el sistema de archivos cifrados incluso cuando el punto de montaje no está vacío. Puede eliminar esta opción si este no es el comportamiento deseado.

Es posible montar múltiples carpetas EncFS al iniciar sesión especificando múltiples entradas consecutivas en el archivo de configuración.

Montar cuando se inserta una unidad USB con carpetas EncFS utilizando fsniper

Este es un método simple para montar automáticamente encfs (solicitando contraseña) cuando se inserta una unidad USB con una o más carpetas cifradas con EncFS en su raíz. Usaremos (sistema de archivos que explora utilizando el demonio inotify) y (para pedir contraseñas binarias).

Para conocer más, consulte https://github.com/Harvie/Programs/tree/master/bash/encfs/automount (última versión de los archivos utilizados en #Cómo hacerlo).

Cómo hacerlo

1. Necesitará un montaje automático de USB que funcione para esto, como lo hace Thunar o Gnome Files.
2. Cree una carpeta cifrada en su unidad extraible, por ejemplo: encfs /media/USB/somename /media/USB/somename.plain (y ​​luego desmonte todo).
3. Cree un archivo en su unidad local : 4. Instale el script de ayuda:

#!/bin/sh
#	~/.config/fsniper/scripts/encfs-automount.sh
# Quick & dirty script for automounting EncFS USB drives
# TODO:
#  - Unmounting!!!
#
ASKPASS="/usr/lib/git-core/git-gui--askpass"

lock=/tmp/fsniper_encfs.lock
lpid=$(cat "$lock" 2>/dev/null) &&
ps "$lpid" | grep "$lpid" >/dev/null && {
	echo "Another instance of fsniper_encfs is running"
	exit;
}
echo $BASHPID > "$lock";
sleep 2;

echo
echo ==== EncFS automount script for fsniper ====

list_mounts() {
	cat /proc/mounts | cut -d ' ' -f 2
}

list_mounts | while read mount; do
	config="$mount"'/*/.encfs*';
	echo Looking for "$config"
	config="$(echo $config)"
	[ -r "$config" ] && {
		cyphertext="$(dirname "$config")";
		plaintext="$cyphertext".plain
		echo Found config: "$config";
		echo Trying to mount: "$cyphertext to $plaintext";
		list_mounts | grep "$plaintext" >/dev/null && {
			echo Already mounted: "$plaintext"
		} || {
			echo Will mount "$cyphertext to $plaintext"
			"$ASKPASS" "EncFS $cyphertext to $plaintext" | encfs --stdinpass "$cyphertext" "$plaintext"
		}
	}
done
echo

rm "$lock" 2>/dev/null

5. Asegúrese de que /usr/lib/git-core/git-gui--askpass funciona (es por eso que necesita el paquete git, aunque también podría reajustar el script de ayuda).
6. Pruebe en la terminal (la petición de contraseña debe aparecer cuando se inserte la unidad USB).
7. Agregue a su sesión.
8. No olvide desmontar encfs antes de quitar la unidad extraible.

Montar utilizando KDE KWallet

Esto se puede hacer en KDE con el script kdeencfs. También deberá instalar los paquetes , , y desde los repositorios oficiales. kwallet-pam tiene que comenzar con la sesión por defecto (si no es así, agregue /usr/lib/pam_kwallet_init al inicio de sesión). El script se puede usar llamandolo con kdeencfs carpeta-cifrada carpeta-descifrada.

Copia de seguridad cifrada

Advertencia: Si se siguen los siguientes ejemplos para separar el archivo de opciones de cifrado de los datos, evidentemente también debe asegurarse de tener una copia de seguridad separada del archivo de opciones en texto sin formato. Si su disco se bloquea y no ha hecho una copia de seguridad del texto sin formato, la copia de seguridad por sí sola no ayudará en nada porque el archivo contiene metadatos criptográficos. Lo bueno es que el archivo es estático, no necesita repetir la copia de seguridad una y otra vez a menos que cambie la contraseña.

Copia de seguridad del directorio cifrado

Se puede hacer una copia de seguridad de un directorio cifrado y restaurarlo en otra ubicación. Esto es posible porque el archivo de configuración con las opciones de cifrado/metadatos se almacena en el propio directorio en texto sin formato en el archivo oculto .encfs6.xml. Esto no compromete la seguridad, porque la contraseña no está en él.

Sin embargo, si, por ejemplo, almacena la copia de seguridad en una ubicación remota (por ejemplo, en la nube) o en un dispositivo portátil, puede sentirse incómodo al respecto. En este caso, tampoco es un problema mover manualmente el archivo oculto fuera del directorio antes de crear la copia de seguridad. Incluso puede moverlo permanentemente y aún montar y acceder a los archivos cifrados, si pasa su ubicación a encfs a través de la variable de entorno . Para el ejemplo anterior dado en #Utilización:

$ mv ~/.nombre/.encfs6.xml ~/.
$ ENCFS6_CONFIG=~/.encfs6.xml encfs ~/.nombre ~/nombre

Copia de seguridad del directorio de texto sin formato

El siguiente ejemplo supone que desea crear una copia de seguridad cifrada del directorio de texto sin formato existente que contiene el archivo .

Primero, creamos la copia de seguridad cifrada del directorio de texto sin formato existente:

$ encfs --reverse ~/mythesis /tmp/thesisbackup

Tenga en cuenta que en este caso el orden del directorio se invierte respecto al uso normal. El uso de la opción tiene dos efectos: en primer lugar, el archivo de configuración ahora se almacena en el directorio de texto sin formato y /tmp/thesisbackup solo lo contiene en forma cifrada. En segundo lugar, los archivos en /tmp/thesisbackup no son persistentes. Se eliminarán una vez que se desmonte (no, esto no se debe al uso del punto de montaje en ).

En segundo lugar, ahora es el momento de copiar los archivos cifrados en la ubicación deseada antes de desmontar nuevamente el directorio temporal encfs:

$ cp -R /tmp/thesisbackup/* /mnt/usbstick/
$ fusermount -u /tmp/thesisbackup 

y hecho.

Para restaurar (o ver) la copia de seguridad, necesitamos acceso a las opciones de cifrado en texto sin formato, que debe pasarse a encfs con la variable de entorno (utilizamos un directorio diferente para no estropear el archivo existente):

$ ENCFS6_CONFIG=~/mythesis/.encfs6.xml encfs ~/mnt/usbstick/thesisbackup ~/restoremythesis

Si ahora lista el contenido restaurado, contendrá dos archivos:

$ ls -la ~/restoremythesis
... 
-rw-r--r--  1 student student    1078  3. Jan 12:33 .encfs6.xml
-rw-r--r--  1 student student      42  3. Jan 12:33 thesis.txt
...

Véase también

gollark: No. I will. Not.
gollark: Ubgroducingt beds.
gollark: Alternatively, there just aren't that many people with the relevant skillsets who aren't doing other things, and none of them care about it/have gotten around to it.
gollark: Cheaper/easier personalization presumably.
gollark: I think people working on it are concerned about the potential for scams and such and are less willing to release models etc.
This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.