GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo cifrar archivos con gocryptfs en Linux

Gocryptfs es un programa de cifrado de nivel de archivo montado en Filesystem in Userspace (FUSE). Montado en FUSE significa que los archivos cifrados se almacenan en un único árbol de directorios que se monta, como una llave USB, mediante la interfaz FUSE. Esto permite que cualquier usuario realice el montaje, no es necesario que sea root. Debido a que gocryptfs encripta a nivel de archivo, las operaciones de sincronización que copian sus archivos pueden funcionar de manera eficiente en cada archivo. Esto contrasta con el cifrado a nivel de disco, donde todo el disco se cifra como un solo blob binario grande.

Cuando usa gocryptfs en su modo normal, sus archivos se almacenan en su disco en un formato encriptado. Sin embargo, cuando monta los archivos cifrados, obtiene acceso sin cifrar a sus archivos, como cualquier otro archivo en su computadora. Esto significa que todas sus herramientas y programas regulares pueden usar sus archivos sin cifrar. Los cambios, los archivos nuevos y las eliminaciones se reflejan en tiempo real en la versión cifrada de los archivos almacenados en su disco.

Instalar gocryptfs

Instalar gocryptfs es fácil en Fedora porque está empaquetado para Fedora 30 y Rawhide. Por lo tanto, sudo dnf install gocryptfs hace todo el trabajo de instalación requerido. Si no está usando Fedora, puede encontrar detalles sobre la instalación desde la fuente, en Debian o a través de Homebrew en el Inicio rápido.

Inicialice su sistema de archivos cifrado

La terminal de Linux

  • Los 7 mejores emuladores de terminal para Linux
  • 10 herramientas de línea de comandos para el análisis de datos en Linux
  • Descargar ahora:hoja de referencia de SSH
  • Hoja de trucos de comandos avanzados de Linux
  • Tutoriales de línea de comandos de Linux

Para comenzar, debe decidir dónde desea almacenar sus archivos cifrados. Este ejemplo mantendrá los archivos en ~/.sekrit_files para que no aparezcan al hacer un ls normal .

Comience por inicializar el sistema de archivos. Esto requerirá que elija una contraseña. Le recomendamos enfáticamente que use una contraseña única que nunca haya usado en ningún otro lugar, ya que esta es su clave para desbloquear sus archivos. Los autores del proyecto recomiendan una contraseña con entre 64 y 128 bits de entropía. Suponiendo que usa letras mayúsculas y minúsculas y números, esto significa que su contraseña debe tener entre 11 y 22 caracteres. Si está utilizando un administrador de contraseñas, esto debería ser fácil de lograr con una contraseña generada.

Cuando inicialice el sistema de archivos, verá una clave única. Guarde esta clave en algún lugar seguro, ya que le permitirá acceder a sus archivos si necesita recuperarlos pero ha olvidado su contraseña. La clave funciona sin su contraseña, ¡así que manténgala en privado!

La rutina de inicialización se ve así:

$ mkdir ~/.sekrit_files
$ gocryptfs -init ~/.sekrit_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs filesystem has been created successfully.
You can now mount it using: gocryptfs .sekrit_files MOUNTPOINT

Si miras en los ~/.sekrit_files directorio, verá dos archivos:un archivo de configuración y un vector de inicialización de nivel de directorio único. No necesitará editar estos dos archivos a mano. Asegúrese de no eliminar estos archivos.

Utilice su sistema de archivos cifrado

Para usar su sistema de archivos encriptado, necesita montarlo. Esto requiere un directorio vacío donde pueda montar el sistema de archivos. Por ejemplo, utilice ~/my_files directorio. Como puede ver en la inicialización, el montaje es fácil:

$ gocryptfs ~/.sekrit_files ~/my_files
Password:
Decrypting master key
Filesystem mounted and ready.

Si consulta ~/my_files directorio, verás que está vacío. Los archivos vectoriales de configuración e inicialización no son datos, por lo que no aparecen. Pongamos algunos datos en el sistema de archivos y veamos qué sucede:

$ cp /usr/share/dict/words ~/my_files/
$ ls -la ~/my_files/ ~/.sekrit_files/
~/my_files/:
.rw-r--r-- 5.0M bexelbie 19 Jul 17:48 words

~/.sekrit_files/:
.r--------@  402 bexelbie 19 Jul 17:39 gocryptfs.conf
.r--------@   16 bexelbie 19 Jul 17:39 gocryptfs.diriv
.rw-r--r--@ 5.0M bexelbie 19 Jul 17:48 xAQrtlyYSFeCN5w7O3-9zg

Observe que hay un nuevo archivo en ~/.sekrit_files directorio. Esta es la copia cifrada del diccionario que copió (el nombre del archivo variará). Siéntete libre de usar gato y otras herramientas para examinar estos archivos y experimentar agregando, eliminando y modificando archivos. Asegúrese de probar con algunas aplicaciones, como LibreOffice.

Recuerde, este es un montaje de sistema de archivos, por lo que el contenido de ~/my_files no se guardan en el disco. Puede verificar esto ejecutando mount | grep mis_archivos y observando la salida. Solo los archivos cifrados se escriben en su disco. La interfaz FUSE realiza el cifrado y descifrado en tiempo real de los archivos y los presenta a sus aplicaciones y shell como un sistema de archivos.

Desmontar el sistema de archivos

Cuando haya terminado con sus archivos, puede desmontarlos. Esto hace que el sistema de archivos sin cifrar ya no esté disponible. Los archivos cifrados en ~/.sekrit_files no se ven afectados. Desmonte el sistema de archivos usando el programa de montaje FUSE con fusermount -u ~/my_files .

Copia de seguridad de sus datos

Uno de los beneficios geniales de gocryptfs que usa el cifrado a nivel de archivo es que facilita la copia de seguridad de sus datos cifrados. Los archivos se pueden almacenar de forma segura en un sistema de sincronización, como OwnCloud o Dropbox. Se aplica el descargo de responsabilidad estándar sobre no modificar el mismo archivo al mismo tiempo. Sin embargo, se puede hacer una copia de seguridad de los archivos incluso si están montados. También puede guardar sus datos de cualquier otra forma en que normalmente haría una copia de seguridad de los archivos. No necesitas nada especial.

Cuando haga copias de seguridad, asegúrese de incluir el gocryptfs.diriv expediente. Este archivo no es un secreto y se puede guardar con la copia de seguridad. Sin embargo, su gocryptfs.conf es un secreto. Cuando controla la totalidad de la cadena de copia de seguridad, como con una cinta, puede realizar una copia de seguridad con el resto de los archivos. Sin embargo, cuando se realiza una copia de seguridad de los archivos en la nube o públicamente, es posible que desee omitir este archivo. En teoría, si alguien obtiene este archivo, lo único que protege sus archivos es la seguridad de su contraseña. Si ha elegido una contraseña segura, eso puede ser suficiente; sin embargo, debe considerar su situación con cuidado. Hay más detalles en este número ascendente de gocryptfs.

Bonificación:modo inverso

Una característica interesante de gocryptfs es la función de modo inverso. En modo inverso, apunte gocryptfs a sus datos no cifrados y creará un punto de montaje con una vista cifrada de estos datos. Esto es útil para cosas como la creación de copias de seguridad cifradas. Esto es fácil de hacer:

$ gocryptfs -reverse -init my_files
Choose a password for protecting your files.
Password:
Repeat:

Your master key is:

    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX-
    XXXXXXXX-XXXXXXXX-XXXXXXXX-XXXXXXXX

If the gocryptfs.conf file becomes corrupted or you ever forget your password,
there is only one hope for recovery: The master key. Print it to a piece of
paper and store it in a drawer. This message is only printed once.
The gocryptfs-reverse filesystem has been created successfully.
You can now mount it using: gocryptfs -reverse my_files MOUNTPOINT

$ gocryptfs -reverse my_files sekrit_files
Password:
Decrypting master key
Filesystem mounted and ready.

Ahora sekrit_files contiene una vista encriptada de sus datos no encriptados de my_files . Esto se puede respaldar, compartir o manejar según sea necesario. El directorio es de solo lectura, ya que no hay nada útil que pueda hacer con esos archivos, excepto hacer una copia de seguridad de ellos.

Un nuevo archivo, .gocryptfs.reverse.conf , se ha agregado a my_files para proporcionar una vista cifrada estable. Este archivo de configuración garantizará que cada montaje inverso utilice la misma clave de cifrado. De esta forma, podría, por ejemplo, hacer una copia de seguridad solo de los archivos modificados.

Gocryptfs es una herramienta de cifrado de archivos flexible que le permite almacenar sus datos de forma cifrada sin cambiar significativamente su flujo de trabajo o procesos. El diseño se ha sometido a una auditoría de seguridad y los desarrolladores tienen experiencia con otros sistemas, como encfs. . Lo animo a agregar gocryptfs a su sistema hoy y comenzar a proteger sus datos.


Linux
  1. Cómo cifrar una partición con DM-Crypt LUKS en Linux

  2. Cómo descomprimir archivos en Linux (con ejemplos)

  3. Cómo cifrar un solo sistema de archivos Linux

  4. Cómo encontrar archivos con el comando fd en Linux

  5. ¿Cómo puedo mover archivos con xargs en Linux?

Cómo cambiar el nombre de un archivo (s) en Linux

Cómo sincronizar archivos con Unison en Linux

Cómo eliminar archivos con extensión específica en Linux

Cómo encontrar archivos con el comando fd en Linux

Cómo descargar archivos con el comando Curl en Linux

Cómo descargar archivos con el comando Wget en Linux