viernes, 5 de agosto de 2011

Mandos, o cómo cifrar por completo tus servidores de forma desatendida

The Halls of Mandos es, en el mundo ficticio de J.R.R. Tolkien, el lugar al que los espíritus de elfos fallecidos van a ser juzgados, y posiblemente reencarnados.

Y de aquí viene el nombre de Mandos, un programa cuya función es hacer algo parecido.

Cifrar el sistema de ficheros de nuestro servidor puede darnos ventajas muy interesantes de cara a posibles intrusiones físicas, robos, sustracciones, e incluso fugas de datos gracias a recuperación de información tras desechar el hardware del mismo.

Pero claro, ¿y si se cae el servidor?, ¿y si queremos reiniciarlo?

Tendríamos que estar presencialmente allí para introducir la contraseña que descifre el disco duro en el arranque. Si además tenemos cientos de servidores, ésto es absolutamente inviable.

Mandos permite hacer ésto de una forma automática, desatendida, segura y escalable.

Nuestro servidor, que para entendernos lo llamaremos servidor esclavo, tendrá el sistema de ficheros raiz cifrado.

La clave de cifrado está almacenada en otro ordenador, al que llamaremos servidor de Mandos, y que podrá almacenar claves de varios servidores esclavos cifrados.

La clave no estará almacenada en texto claro en el servidor de Mandos, estará cifrada con OpenPGP. Para descifrar la clave, es necesaria la otra clave, con la que está cifrada, y que está en cada servidor esclavo.

Por lo tanto, en el momento del arranque de nuestros servidores cifrados (esclavos), estos pedirán al servidor Mandos los datos con los que están cifrados (una clave única para cada uno), descifrarán está información con su propia clave, y con ello descifrarán su sistema de ficheros para poder seguir con el arranque.


Todo el intercambio de datos está cifrado mediante TLS (SSL).

Alguien podría pensar, ¿y qué pasa si alguien roba un servidor esclavo y extrae la clave para acceder a la información del servidor Mandos, que le podría permitir descifrar todo el sistema de ficheros del servidor esclavo?

Para evitar ésto, podemos configurar el servidor Mandos para que no envíe nunca más la información de descifrado de un ordenador si éste ha estado offline por X tiempo. Con ésto a un atacante no le daría tiempo a desconectar el servidor, extraer la clave y pedir la información.

El timeout es configurable, y evidentemente deberá ser menor cuanto mayor sea el grado de paranoia.

Si confiamos en los algoritmos de cifrado, a priori éste es el único aspecto débil de Mandos, por lo que habría que buscar un punto entre fiabilidad y seguridad.

Por cierto, Mandos ya está disponible en los repositorios de Ubuntu desde Karmic y en Debian desde el lanzamiento de "squeeze" en Febrero de 2011.

No hay comentarios:

Publicar un comentario