¿Cómo encriptar en ubuntu un filesystem al vuelo?

Imagen de Epe

hola,

Hace un tiempo publiqué un tutorial para encriptar un filesystem en centos al vuelo.Ahora lo podré en ubuntu ya que es bastante fácil realmente.

De antemano advierto: Es un howto para usuarios medio técnicos. Si no tienes la expertise suficiente quizá debas solicitar ayuda a un técnico con conocimiento.

Segunda y más importante: Si se te daña el disco, rompe, destruye, secuestran los extraterrestres, o lo que sea que suceda con tu información, es tú problema, no el mío. Lee bien, Linux exige que lees y pruebes y verifiques todo. Yo no he perdido mi información, pero eso no significa que tu mediante una bonita burrada puedas perder la tuya, cosa de la cual no deseo me culpes. SI crees que la puedes perder, no sigas leyendo.

Al instalar Ubuntu:

Te sugiero que dejes una partición vacía, sin utilizar. Esta partición es la que usaremos par encriptar luego. Yo por ejemplo dejé /dev/sda5 vacía y tiene 1.5GB de tamaño. Esta será la partición que usaré en mi ejemplo.Tu usarás la partición que dejaste vacía en tu instalación.

¿Por qué tan poco? Porque mi información privada cabe y sobra en este espacio. Al momento uso nada más que 600MB de documentos y correos que nunca borro... así que con 1.5GB sé que me alcanzará por mucho tiempo

Una vez instalado Ubuntu:

instala por favor el siguiente paquete:

sudo aptitude install cryptsetup

El cryptsetup te instalará además los módulos del kernel para realizar encriptación al vuelo. Y el criptsetup es el encargado de servir de capa intermedia para encriptar los datos hacia el disco (y desencriptarlos), le llamaré mapper o dispositivo de mapper.

ahora procedo a crear un dispositivo de mapper para esta partición que encriptaré:


sudo cryptsetup --verbose --verify-passphrase create sda5 /dev/sda5

El anterior comando nos pedirá la clave de encriptación DOS veces. Por el amor de dios pongan una clave medio que compleja para que no sea fácil de averiguar.

Desde ya te comento: NO hay forma trivial de recuperar esta clave. Y aqui está la ganancia. Si no te acuerdas de la clave: olvídate de los datos. Esta clave no se almacenará en ningún lugar más que en tu mente y en el sticker que seguramente pegarás al display de la máquina, pero dentro de la máquina no se almacenará.

En serio: Te sugiero que no la escribas, manténla en tu mente.

Al terminar de ejecutar el anterior comando, tendrás ahora un dispositivo llamado: /dev/mapper/sda5, mira:


sudo ls -l /dev/mapper/

A partir de ahora, cualquier cosa que hagamos con /dev/mapper/sda5 realmente se escribirá al disco de forma encriptada.

Así que hagamos algo con esta nueva partición encriptada, formateémosla:


sudo mkfs.ext3 /dev/mapper/sda5

Fíjate que formateo a la partición encriptada... de esta forma estará lista para recibir datos.

Y listo, podemos montarla donde querramos, por ejemplo podría montarla así:

sudo mount /dev/mapper/sda5 /home/eperez/Documents

En este caso he montado la partición encriptada en /home/eperez/Documents... ahora todo lo que yo copie hacia /home/eperez/Documents se escribirá de forma encriptada.

Si quisiera que este punto de montaje fuera permanente hago lo siguiente:

Edito /etc/crypttab

sudo vi /etc/crypttab

Al final de este archivo agrego esto:


sda5 /dev/sda5 none checkargs=ext3,tries=3

Grabo y salgo.

Este anterior cambio lo que hará es que cada vez que ubuntu arranque, nos pedirá la clave conque encriptamos el FS y una vez le pongamos la clave continuará arrancando ubuntu ya con /dev/mapper/sda5 creado.

Entonces edito /etc/fstab:

sudo vi /etc/fstab

y al final agrego esto:

/dev/mapper/sda5 /home/eperez/Documents ext3 defaults,noatime 0 0

Grabo y salgo.

El anterior cambio lo que hará es montar /dev/mapper/sda5 en /home/eperez/Documents siempre que arranque el sistema.

Veamos posibles escenarios:

Vas por la calle y se te acerca el futuro dueño de tu laptop con una pistola.

Por supuesto se la cedes y no pides factura por la transacción. Este actual dueño va a su casa, y aparte de manejar una pistola es muy conocedor de linux; por tanto te cambia la clave de root y de tu usuario de ubuntu y entra al sistema... pero como no tiene la clave de tu partición no te habrá robado los datos. Wow, sufres de una pérdida del hardware pero no se pierde la información confidencial que ahí tenías.

Por supuesto podrán formatear la máquina o lo que sea.. pero no podrán tomar los datos si no tienen la clave puesta por tí. Aplicarle un ataque de diccionario es medio complejo pues no es de este tipo de claves que te dice "clave incorrecta". Sencillamente si pones la clave mal, el sistema encriptará/desencriptará de una forma diferente lo que hará imposible que se lean los datos.

Con mucha calma, muchos meses o años quizá el atacante descruba tu clave, pero mientras tanto podrás confiar que no será leída.

Resumen:

Este sistema es muy útil para todo tipo de organización en la cual se corra el riesgo de perderse la confidencialidad de la información producto de un robo o pérdida o de accesos no autorizados al sistema.. de esta forma realmente está bien segura la información y todavía yo no comprendo por qué la gente no acaba de implementar esto en cada una de las máquinas de organizaciones importantes.

Ah sí: se puede encriptar ya no sólo una partición pequeña como yo hice, quizá quieras encriptar todo /home o lo que desees, pero aqui ya tienes el cómo.

Saludos

epe

--
http://www.NuestroServer.com/

USA: +1 305 359 4495 / España: +34 91 761 7884
Ecuador: +593 2 600 4454 / Mexico: +52 55 1163 8640
Italia: +39 06 916504876 / Argentina: +54 11 598 39321
Colombia: +57 2 891 2748 / Rep. Dominicana: +1 829 952 8501

Comentarios

sí, estoy utilizando esta

Imagen de Epe

sí, estoy utilizando esta distribución de Linux en mi escritorio. He presentado varios problemas pero al menos ya le voy conociendo y sabiendo de qué pata cojea.

Saludos
epe
--
NuestroServer.com
Ecuador: +(593) 9 9246504, +(593) 2 600 4454
USA: +1 305 359 4495, España: +34 91 7617884


Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

me dió un

Imagen de Epe

me dió un trabajooooooooooooooo poner todos esos sudo del carajo!!! pero na, es cuestión de acostumbrarse, al menos pongo sudo su - y me evito todos los sudos del documento

Saludos
epe
--
NuestroServer.com
Ecuador: +(593) 9 9246504, +(593) 2 600 4454
USA: +1 305 359 4495, España: +34 91 7617884


Saludos
epe

EcuaLinux.com

+(593) 9 9924 6504

Servicios en Software Libre

Hola, Es necesario meter la

Hola,

Es necesario meter la clave cada vez que se reinicia la PC?
A ver, lo consulto porque tengo una serie de scripts en php y perl, que se ejecutan en el sistema, digamos los ejecuta el cron, entonces... como podria hacer crontab para poder ejecutar los scripts en php o perl que estan encriptados?

Gracias.
Maxi.

Ok, entonces sera en cada

Ok, entonces sera en cada reiniciado, ya que hay que montar la unidad para que los cron encuentren a los scripts para ejeutarlo...

Conoces si hay algo en Linux que permita encriptar archivos perl? Para PHP encontre, es el programa ioncube, pero para perl no he encontrado nada aun.

Gracias !!!