Mis necesidades de espacio en disco me han hecho prescindir por varios meses de un backup completo con lo cual he vivido al limite tecnológicamente hablando. Antes de que el cataclismo maya acabe con mis datos acabo de adquirir un disco Buffalo Technology MiniStation Stealth que se veía bastante prometedor y con buenos comentarios.
Todo informático que se respete encripta sus discos duros removibles y pendrives cuando transporta información sensible y en un país como Guatemala esto tiene más sentido ya que en cualquier momento te asaltan con tortilla tiesa o patadas voladoras acompañadas de desarmadores y revolvers.
0.- Preeliminares
El tema de encripción es por demás un tema bastante amplio y complicado 😀 donde tenemos mil opciones para asegurar nuestros datos, por tal motivo presento un método que va con mis necesidades las cuales se limitan a una partición encriptada y que Gnome reconozca automáticamente al montarla. Algunos conceptos antes de empezar
– Dm-crypt un device mapper que hace la encripción de datos transparente, en otras palabras lo que hará que nuestra partición encriptada termine como un dispositivo transparente /dev/mapper/foo
– LUKS uno de los muchos estandares de encripción disponibles para Linux, es ideal para discos duros externos porque guarda la configuración de encripción en la partición (algoritmo, modo de trabajo, etc.) y no en archivos externos lo cual nos asegura portabilidad entre distribuciones o incluso Windows. LUKS basicamente generará y encriptará mediante una clave maestra que a su vez se encriptará con una clave que el usuario proporciona, si deseamos cambiar nuestra clave o utilizar más de una clave, solo se reencriptara la clave maestra y nos evitara reencriptar todos nuestros datos ¿interesante no?.
– AES y SHA256 algoritmos seguros de encripción y hashing respectivamente que no explicare en este documento, pero son bastante seguros 🙂 (Tanto que se AES esta aprobado por la NSA).
– Todos los comandos en este mini-tutorial se ejecutan con privilegios de root.
1.- Particionando
Como un paso previo podemos llenar el disco duro entero con datos random y de esta forma agregamos un poco más de dificultad al intentar crackear el disco. Ya que estamos trabajando sobre un disco duro externo, haremos de cuenta que el dispositivo esta ubicado en /dev/sdb
dd if=/dev/urandom of=/dev/sdb bs=4K |
Antes de comenzar debemos de instalar el paquete cryptsetup disponible en nuestra distribución favorita, por ejemplo en Gentoo
emerge cryptsetup |
Luego de esto debemos preparar el disco con LUKS, el metodo más facil es utilizar una partición sin formatear.
En mi caso el disco duro externo tendrá dos particiones, una partición /dev/sdb1 convenientemente formateada bajo NTFS para compartir las ultimas peliculas pr0n independientes con mis amigos usuarios de Windows con un maximo de 50 GB y otra particion /dev/sdb2 que tendrá todos mis datos encriptados bajo el esquema dm-crypt/LUKS de aproximadamente 950 GB las particiones las podemos crear con fdisk, cfdisk o incluso gparted.
Como primer paso preparamos la partición para soportar LUKS, cryptsetup hara este trabajo y nos preguntara una clave que no debemos olvidar:
cryptsetup --verify-passphrase luksFormat /dev/sdb2 -c aes -s 256 -h sha256 |
Las opciones fueron las siguientes
- –verify-passphrase – verifica el password que introducimos
- -c aes -s 256 – configuramos una encripción AES de 256 bits
- -h sha256 – y tambien configuramos el algoritmo de hashing SHA de 256 bits
Una vez configuramos la partición es momento de desbloquearla para trabajar con ella y poder formatearla
cryptsetup luksOpen /dev/sdb2 discoseguro |
El nombre en el parametro final sera el que utilizara dm-crypt para poder trabajar con la partición la cual encontraremos en /dev/mapper/discoseguro y procedemos a formatear, en mi caso con ext4.
mkfs -t ext4 /dev/mapper/discoseguro |
Y con esto tenemos lista nuestra partición encriptada, ya podemos montarla de manera transparente con nuestro siempre confiable comando mount
mount /dev/mapper/discoseguro /media/disk |
Hasta el momento el dueño de los datos aun es root, lo cual podemos cambiar con
chown tuxtor:users /media/disk |
En mi caso quiero que el dueño sea el usuario tuxtor y que el grupo sea users. La próxima vez que conectemos nuestro disco Gnome nos preguntara por nuestra clave para utilizar la partición encriptada.
The Incutio XML-RPC PHP Library -- WordPress/3.4.1
[…] varios minutos (incluso horas) en la creación de nuestros archivos BibTeX Puede que te interese:Encriptando un disco duro externo con LUKS en LinuxAlgunos reproductores de audio alternativos en LinuxNimbus look and feel+looks globales para […]