miércoles, 15 de enero de 2014

Instalar Emergency Self-Destruction of LUKS en Ubuntu 13.10


Posiblemente ya sepan que la distribución Kali Linux 1.0.6 cuenta con un nuevo módulo con una herramienta para autodestruir los datos personales del disco duro. Se conoce como Emergency Self-Destruction of LUKS y emplea una doble contraseña para hacer su trabajo. Antes, poseía una sola contraseña que al introducirla descifraba los datos personales del disco y permitía al usuario autorizado acceder a ellos. Esto es bastante seguro, pero si la clave cae en manos de alguien no deseado o alguien la consigue por los métodos conocidos, tendría acceso total a tus datos personales. 
Con la doble contraseña, se intenta camuflar la contraseña real que sigue haciendo su mismo acometido. En cambio, la contraseña maestra que nos ofrece esta implementación hace algo realmente extraordinario. Si tienes datos que no quieras que nadie vea, los intrusos no autorizados se llevaran una sorpresa cuando intenten conseguir tu contraseña maestra e introducirla... Ellos creerán que tienen la contraseña real y, al introducir esta contraseña maestra, el sistema Emergency Self-Destruction of LUKS se pone en marcha, borrando de forma irreversible de forma segura e irreversible los datos personales.

Esto que en principio es una característica para Kali Linux 1.0.6, puede instalarse en otras distribuciones como Ubuntu 13.10 (y otras basadas en Debian/Ubuntu) y eso es lo que vamos a explicar. Como esta nueva implementación está añadida en el paquete crypsetup, vamos a instalarlo:

  • Primero debemos instalar las dependencias para asegurarnos que existe todo lo necesario para que funcione el paquete cryptsetup (se trata de una única linea, aunque por falta de espacio esté partida en tres):

sudo apt-get install libgcrypt11-dev libdevmapper-dev libpopt-dev uuid-dev libtool automake autopoint debhelper xsltproc docbook-xsl dpkg-dev
  • En el paso anterior y en todos los que uses “sudo”, evidentemente debes introducir tu contraseña, no lo he especificado pero es lógico... Ahora vamos con el código fuente de cryptsetup haciendo lo siguiente:

sudo apt-get source cryptsetup
  • Tras eso, si todo ha ido bien, veremos como existe un nuevo directorio llamado cryptsetup-X.Y.Z (siendo X.Y.Z la versión). Ahora vamos con el parche necesario para que funcione el sistema que hemos explicado en la introducción (debes crear un directorio llamado cryptsetup-nuke-keys para hacer el siguiente paso dentro de él):

git clone https://github.com/offensive-security/cryptsetup-nuke-keys
  • Ahora, volviendo a cryptsetup-X.Y.Z tecleamos lo siguiente para aplicar el parche al código fuente (en una misma línea):

patch -p1 < ../cryptsetup-nuke-keys/cryptsetup_X.Y.Z+nuke_keys.diff
  • Asegurate de sustituir X.Y.Z por la versión correspondiente, en la actualidad 1.6.1, pero puede que salgan nuevas versiones pronto... Finalmente, debemos construir los paquetes finales para instalarlos y poder contar con esta nueva tecnología:

dpkg-buildpackage -b -uc 
  • Cuando termine el proceso tendremos dos paquetes cryptsetup*.deb y otros dos paquetes libcryptsetup*.deb que tendremos que instalar para terminar:

dpkg -i ../libcryptsetup*.deb
dpkg -i ../cryptsetup*.deb
  • Ya esta listo, solo queda ponerlo en marcha para especificar la partición que se debe borrar y meter la contraseña maestra que borrará dicha partición o dispositivo de almacenamiento:

cryptsetup luksAddNuke /dev/sdaX
Sustituye sdaX por la partición donde tengas tus datos personales o por el dispositivo que quieres que se borre al introducir el intruso la contraseña maestra. Después te pedirá la contraseñas (passphrase) para desencriptar tus datos y acceder, además de la contraseña maestra (nuke) que lo borra. Recuerda introducir y confirmar las contraseñas adecuadamente. 

En el próximo inicio del sistema te pedirá la contraseña para desencriptar la partición. Recuerda introducir la buena...