GNU/Linux >> Tutoriales Linux >  >> Ubuntu

Cifre sus datos con EncFS en Ubuntu 15.10

EncFS proporciona un sistema de archivos encriptado en el espacio del usuario. Se ejecuta sin ningún permiso especial y utiliza la biblioteca FUSE y el módulo del kernel de Linux para proporcionar la interfaz del sistema de archivos. Es un sistema de archivos de transferencia, no un dispositivo de bloque cifrado, lo que significa que se crea sobre un sistema de archivos existente. Este tutorial muestra cómo puede usar EncFS en Ubuntu 15.10 (Wiley Werewolf) para cifrar sus datos.

1 nota preliminar

Estoy usando el nombre de usuario falko en mi sistema Ubuntu 15.10 en este tutorial. Una auditoría de seguridad ha revelado algunos problemas en la implementación actual de encfs. Consulte la advertencia de seguridad a continuación para decidir si la forma en que desea usar encfs se ve afectada por estos problemas. Una alternativa a encfs es ecryptfs (https://launchpad.net/ecryptfs) que trataré en otro tutorial.

Información de seguridad de Encfs

"Según una auditoría de seguridad realizada por Taylor Hornby (Defuse Security), la implementación actual de Encfs es vulnerable o potencialmente vulnerable a múltiples tipos de ataques. Por ejemplo, un atacante con acceso de lectura/escritura a datos cifrados podría reducir el descifrado complejidad para los datos cifrados posteriormente sin que un usuario legítimo se dé cuenta, o podría usar el análisis de tiempo para deducir información. Hasta que se resuelvan estos problemas, encfs no debe considerarse un hogar seguro para datos confidenciales en escenarios donde tales ataques son posibles".

2 Instalación de EncFS

EncFS se puede instalar de la siguiente manera (necesitamos privilegios de root, por lo que usamos sudo):

sudo apt-get install encfs

Ahora debería echar un vistazo a la página de manual de EncFS para familiarizarse con sus opciones:

man encfs

3 Usando EncFS

Ahora crearé los directorios cifrados y descifrados en mi directorio de inicio:

mkdir -p ~/encrypted
mkdir -p ~/decrypted

El directorio descifrado actúa como punto de montaje para el directorio cifrado. Para montar ~/encrypted a ~/decrypted, simplemente ejecute:

encfs ~/encrypted ~/decrypted

Si ejecuta este comando por primera vez, se inicia la configuración de EncFS y debe definir una contraseña para el volumen cifrado:

[email protected]:~$ encfs ~/encrypted ~/decrypted
Creating new encrypted volume.
Please choose from one of the following options:
enter "x" for expert configuration mode,
enter "p" for pre-configured paranoia mode,
anything else, or an empty line will select standard mode.
?> <-- p
Paranoia configuration selected.
Configuration finished. The filesystem to be created has
the following properties:
Filesystem cipher: "ssl/aes", version 3:0:2
Filename encoding: "nameio/block", version 4:0:2
Key Size: 256 bits
Block Size: 1024 bytes, including 8 byte MAC header
Each file contains 8 byte header with unique IV data.
Filenames encoded using IV chaining mode.
File data IV is chained to filename IV.
File holes passed through to ciphertext.
-------------------------- WARNING --------------------------
The external initialization-vector chaining option has been
enabled. This option disables the use of hard links on the
filesystem. Without hard links, some programs may not work.
The programs 'mutt' and 'procmail' are known to fail. For
more information, please see the encfs mailing list.
If you would like to choose another configuration setting,
please press CTRL-C now to abort and start over.
Now you will need to enter a password for your filesystem.
You will need to remember this password, as there is absolutely
no recovery mechanism. However, the password can be changed
later using encfsctl.
New Encfs Password: <-- Enter a secure password here
Verify Encfs Password: <-- Enter the secure password a second time

¡Asegúrese de recordar la contraseña porque no hay forma de recuperar sus datos cifrados si olvida la contraseña!

Ahora debería encontrar el volumen EncFS en las salidas de

mount
[email protected]:~$ mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=1006420k,nr_inodes=251605,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204480k,mode=755)
/dev/mapper/server1--vg-root on / type ext4 (rw,relatime,errors=remount-ro,data=ordered)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
pstore on /sys/fs/pstore type pstore (rw,nosuid,nodev,noexec,relatime)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset,clone_children)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=21,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
hugetlbfs on /dev/hugepages type hugetlbfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sda1 on /boot type ext2 (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=204480k,mode=700,uid=1000,gid=1000)
encfs on /home/falko/decrypted type fuse.encfs (rw,nosuid,nodev,relatime,user_id=1001,group_id=1001)

y

df -h
[email protected]:~$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 983M 0 983M 0% /dev
tmpfs 200M 4.9M 195M 3% /run
/dev/dm-0 28G 1.7G 25G 7% /
tmpfs 999M 0 999M 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 999M 0 999M 0% /sys/fs/cgroup
/dev/sda1 236M 51M 173M 23% /boot
tmpfs 200M 0 200M 0% /run/user/1000
encfs 28G 1.7G 25G 7% /home/falko/decrypted

Para guardar sus datos en forma cifrada, coloque sus datos en el directorio descifrado, tal como lo haría con un directorio normal:

cd ~/decrypted
echo "hello foo" > foo
echo "hello bar" > bar
ln -s foo foo2

Si revisa el contenido del directorio, verá que puede verlo en forma no cifrada...

ls -l
[email protected]top:~/decrypted$ ls -l
total 8
-rw-rw-r-- 1 falko falko 10 Nov 10 14:57 bar
-rw-rw-r-- 1 falko falko 10 Nov 10 14:57 foo
lrwxrwxrwx 1 falko falko 3 Nov 10 14:57 foo2 -> foo

... mientras está en el directorio encriptado, está encriptado:

cd ~/encrypted
ls -l
[email protected]:~/encrypted$ ls -l
total 8
lrwxrwxrwx 1 falko falko 24 Nov 10 14:57 gIKlbEtIpTfiGOCy,wKFpMFd -> nZgFI3s62v5LtaHOu-V4lUSy
-rw-rw-r-- 1 falko falko 26 Nov 10 14:57 mEqwt,ssEJhGYpN8HfJMoVxk
-rw-rw-r-- 1 falko falko 26 Nov 10 14:57 nZgFI3s62v5LtaHOu-V4lUSy

Para desmontar el volumen cifrado, ejecute:

cd
fusermount -u ~/decrypted

Comprobar las salidas de...

mount

... y...

df -h

... y verá que el volumen EncFS ya no aparece en la lista.

Para volver a montarlo, ejecute

encfs ~/encrypted ~/decrypted

Se le pedirá la contraseña que definió anteriormente:

[email protected]:~$ encfs ~/encrypted ~/decrypted
Contraseña EncFS:<-- tucontraseñasecreta

Si especifica la contraseña correcta, esto montará el directorio ~/encrypted en ~/decrypted desde donde podrá acceder a sus datos cifrados sin cifrar. ¡Si olvida la contraseña, perderá sus datos cifrados!

Si desea cambiar la contraseña, puede hacerlo con el

encfsctl passwd ~/encrypted

comando.

[email protected]:~$ encfsctl passwd ~/encrypted
Ingrese la contraseña actual de Encfs
Contraseña de EncFS:<-- su contraseña secreta
Ingrese la nueva contraseña de Encfs
Nueva contraseña de Encfs:<-- newsecretpassword
Verifique la contraseña de Encfs:<-- newsecretpassword
La clave de volumen se actualizó correctamente.

4 Enlaces

  • EncFS:http://www.arg0.net/encfs
  • Ubuntu:http://www.ubuntu.com/

Ubuntu
  1. Cómo proteger Nginx con Lets Encrypt en Ubuntu 20.04/18.04

  2. Protegiendo tu chat con qTox en Ubuntu Linux

  3. Asegure Nginx con Lets Encrypt en Ubuntu 18.04

  4. Asegure Nginx con Lets Encrypt en Ubuntu 16.04

  5. Encfs:cómo cifrar y proteger con contraseña los datos en Ubuntu/Debian/Linux Mint

Cómo cifrar sus datos con EncFS en Debian 8 (Jessie)

Copiar datos con rsync en Ubuntu

Cómo cifrar el almacenamiento en la nube con EncFS en Ubuntu

Cómo grabar tu pantalla en Ubuntu con SimpleScreenRecorder

Lee tus cómics con OpenComic en Ubuntu 20.04

Cómo proteger su sitio web con Let's Encrypt en Ubuntu 20.04