Tomb: una herramienta de cifrado de archivos y copia de seguridad personal para Linux


Tomb es una herramienta gratuita, pequeña, potente y sencilla de código abierto para cifrar archivos en GNU/Linux. En el momento de escribir este artículo, se compone de un script de shell (zsh) que utiliza herramientas genéricas de sistema de archivos GNU y la API de cifrado del kernel de Linux (LUKS).

También emplea varias herramientas GNU/Linux como steghide, mlocate, resizefs, dcfld y muchas más, para ampliar su funcionalidad.

Tomb se utiliza para crear copias de seguridad seguras de archivos secretos o personales en directorios encriptados y protegidos con contraseña llamados tumbas. Estos directorios solo se pueden abrir utilizando sus archivos de claves y contraseñas asociados.

Después de crear una tumba, puede almacenar sus archivos clave por separado, por ejemplo, su archivo de tumba puede existir en un servidor remoto mientras el archivo clave está en su computadora portátil o de escritorio en casa o en la oficina. Si el archivo de la tumba está en su computadora portátil o de escritorio, puede ocultarlo dentro del sistema de archivos o, como una opción más segura, almacenar la clave en una unidad USB.

Además, puede ocultar una tumba en el sistema de archivos o moverla de forma segura a través de una red o en un medio de almacenamiento externo; compártelo con otros amigos o colegas. También puedes ocultar una clave en una imagen como veremos más adelante.

Tomb necesita algunos programas como zsh, gnupg, cryptsetup y pinentry-curses para ser instalados en un sistema para que funcione.

Cómo instalar Tomb en sistemas Linux

Primero comience instalando las siguientes herramientas requeridas usando su administrador de paquetes predeterminado de distribución y también instalaremos steghide para agregar funcionalidad para ocultar claves en imágenes.

$ sudo apt install gnupg zsh cryptsetup pinentry-curses steghide	#Debian/Ubuntu
$ sudo yum install gnupg zsh cryptsetup pinentry-curses steghide	#CentOS/RHEL
$ sudo dnf install gnupg zsh cryptsetup pinentry-curses steghide	#Fedora 22+

Después de instalar los paquetes requeridos, descargue el comando wget para descargar directamente en la terminal como se muestra.

$ cd Downloads/
$ wget -c https://files.dyne.org/tomb/Tomb-2.5.tar.gz 

A continuación, extraiga el archivo tar que acaba de descargar y muévalo a la carpeta descomprimida.

$ tar -xzvf Tomb-2.5.tar.gz
$ cd Tomb-2.5

Finalmente, ejecute el siguiente comando, como root o use el comando sudo para obtener privilegios de root, para instalar el binario en /usr/local/bin/.

$ sudo make install

Cómo crear tumbas en sistemas Linux

Después de instalar la tumba, puede generar una tumba creando una nueva clave para ella y estableciendo su contraseña como se explica a continuación.

Para crear una tumba, use el subcomando dig y el indicador -s para establecer su tamaño en MB (este tamaño se puede aumentar cuando una tumba alcanza su capacidad máxima después de agregar archivos).

$ sudo tomb dig -s 30 tecmint.tomb      

Luego cree una nueva clave para tecmint.tomb con el subcomando forge y establezca su contraseña cuando se le solicite. Esta operación tomará algún tiempo en completarse, simplemente siéntese y relájese o vaya a prepararse una taza de café.

$ sudo tomb forge tecmint.tomb.key

Al crear la clave, Tomb se quejará si existe espacio de intercambio en el disco, y terminará si esa memoria de intercambio está activada como se muestra en la siguiente captura de pantalla. Esto se debe a un riesgo de seguridad asociado con la memoria de intercambio en el disco (consulte la documentación o la página del manual para obtener más información).

Puede usar el indicador -f para forzar la operación o desactivar la memoria de intercambio con el siguiente comando.

$ sudo swapoff -a

Luego intente crear la clave de la tumba una vez más.

A continuación, formatee tecmint.tomb para bloquearlo con la tecla anterior. El indicador -k especifica la ubicación del archivo de claves que se utilizará.

$ sudo tomb lock tecmint.tomb -k tecmint.tomb.key

Para abrir una tumba, use el subcomando abrir, se le pedirá que ingrese la contraseña que estableció al crear la tumba.

$ sudo tomb open -k tecmint.tomb.key tecmint.tomb  

Desde la salida del comando anterior, la tumba se ha abierto y montado en /media/tecmint/; aquí es donde puede agregar sus archivos secretos.

Si tiene numerosas tumbas, puede enumerar todas las tumbas abiertas y obtener información sobre ellas como se muestra.

$ sudo tomb list 

Ahora puede agregar sus archivos secretos o importantes a la tumba de la siguiente manera. Cada vez que necesite agregar más archivos, abra la tumba primero, como se muestra arriba.

$ sudo cp -v passwds.txt accounts.txt keys.txt -t /media/tecmint/

Después de abrir una tumba, una vez que haya terminado de usarla o agregarle archivos, use el subcomando close para cerrar el archivo de la tumba. Pero si un proceso está funcionando con una tumba abierta, es posible que no se cierre.

$ sudo tomb close

Puede cerrar todas las tumbas corriendo.

$ sudo tomb close all

Para forzar el cierre de una tumba abierta, incluso cuando un proceso está interactuando con ella, use el subcomando slam.

$ sudo tomb slam 
OR
$ sudo tomb slam all 

También es posible ocultar/codificar la clave de la tumba en una imagen usando el subcomando bury, de la siguiente manera

$ sudo tomb bury -k tecmint.tomb.key zizu.jpg 

Luego use la imagen jpeg recién creada para abrir la tumba, como se muestra.

$ sudo tomb open -k zizu.jpg tecmint.tomb

También puede recuperar una clave codificada en una imagen jpeg con el subcomando exhume.

$ sudo tomb  exhume zizu.jpg -k tecmint.tomb.key
OR
$ sudo tomb -f exhume zizu.jpg -k tecmint.tomb.key   #force operation if key exists in current directory

Atención: Recuerde ocultar la clave de la tumba, no la guarde en el mismo directorio que la tumba. Por ejemplo, trasladaremos la clave de tecmint.tomb a una ubicación secreta (puede usar su propia ubicación) o la guardaremos en un medio externo o la trasladaremos a un servidor remoto a través de SSH.

$ sudo mv tecmint.tomb.key /var/opt/keys/  

Desafortunadamente, no podemos explotar todos los comandos y opciones de uso de tumba en esta guía, puede consultar su página de manual para obtener más información. Allí, encontrará instrucciones sobre cómo cambiar la clave y contraseña de una tumba, cambiar su tamaño y mucho más.

$ man tomb 

Repositorio de Tomb Github: https://github.com/dyne/Tomb

Tomb es una herramienta de encriptación simple pero poderosa y fácil de usar para manejar archivos tan delicados como secretos, en sistemas GNU/Linux. Comparta sus pensamientos al respecto a través del formulario de comentarios a continuación.