Tomb: una herramienta de cifrado de archivos y copia de seguridad personal para Linux
Tomb es una herramienta gratuita, de código abierto, pequeña, potente y sencilla 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 GNU genéricas del sistema de archivos y la API criptográfica del kernel de Linux (cryptsetup y LUKS).
También emplea varias herramientas GNU/Linux como steghide, lsof, 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 cifrados y protegidos con contraseña llamados tombs. Estos directorios sólo 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 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 tumba está en su computadora portátil o de escritorio, puede ocultarlo dentro del sistema de archivos o, como opción más segura, almacenar la clave en una unidad USB.
Además, puedes 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.
Requisitos
Tomb necesita algunos programas como zsh, gnupg, cryptsetup y pinentry-curses . debe instalarse en un sistema para poder funcionar.
Cómo instalar Tomb en sistemas Linux
Primero comience instalando las siguientes herramientas requeridas usando el administrador de paquetes predeterminado de su 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 código fuente estable de la tumba para su distribución o use el siguiente comando wget para descargarlo 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 tomb, puede generar una tumba creando una nueva clave y estableciendo su contraseña como se explica a continuación.
Para crear una tumba, utilice el subcomando dig y la bandera -s
para establecer su tamaño en MB (Este tamaño se puede aumentar cuando una tumba se llena al máximo de su capacidad 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 tardará algún tiempo en completarse, simplemente siéntese y relájese o prepárese una taza de café.
sudo tomb forge tecmint.tomb.key
Mientras crea la clave, tomb se quejará si existe espacio de intercambio en el disco y finalizará 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 de 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 intenta crear la llave de la tumba una vez más.
A continuación, formatee tecmint.tomb
para bloquearlo con la clave anterior. El indicador -k
especifica la ubicación del archivo clave que se utilizará.
sudo tomb lock tecmint.tomb -k tecmint.tomb.key
Cómo abrir una nueva tumba
Para abrir una tumba, use el subcomando open; se le pedirá que ingrese la contraseña que estableció al crear la tumba.
sudo tomb open -k tecmint.tomb.key tecmint.tomb
Según el resultado del comando anterior, la tumba se abrió y se montó 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
Cómo copiar archivos para abrir Tomb
Ahora puedes agregar tus archivos secretos o importantes a la tumba de la siguiente manera. Cada vez que necesite agregar más archivos, abra primero la tumba, 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 cerrar para cerrar el archivo de la tumba. Pero si un proceso está funcionando con una tumba abierta, es posible que no pueda cerrarse.
sudo tomb close
Puedes cerrar todas las tumbas corriendo.
sudo tomb close all
Para forzar el cierre de una tumba abierta, incluso cuando un proceso interactúa con ella, utilice el subcomando slam.
sudo tomb slam
OR
sudo tomb slam all
Cómo ocultar la llave de la tumba en una imagen
También es posible ocultar/codificar la llave de la tumba en una imagen usando el subcomando enterrar, 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 puedes 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, moveremos la clave para tecmint.tomb
a una ubicación secreta (puede usar su propia ubicación) o la guardaremos en un medio externo o la moveremos 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 la 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 la contraseña de una tumba, cambiar su tamaño y mucho más.
man tomb
Repositorio de Tomb Github: https://github.com/dyne/Tomb
Resumen
Tomb es una herramienta de cifrado 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.