miércoles, 24 de noviembre de 2010

El candadito…


Los candaditos son buenos,  nos transmiten seguridad y nos gusta verlos por todas partes, en el navegador, en las carpetas, y si los tenemos en las unidades de disco (internas y externas) ya es la bomba!
Este post es un relato de mis experiencias con el Bitlocker, y su aplicación en escenarios un poco más complejos, combinando esta tecnología de cifrado con instalaciones del sistema operativo en discos virtuales, cifrado de unidades compartidas entre arranques de Windows 7 y Windows Server 2008 R2 y unidades donde se almacenan máquinas virtuales de Hyper-V.

¿Para qué cifrar?

Este fin de semana, mientras cenaba con una amiga y le enseñaba mi flamante Windows Phone 7, me decía “Wow! Increíble, la cantidad de cosas que llevas en el teléfono. Para ti perder el móvil tiene que ser lo peor de lo peor”. La verdad es que le contesté al segundo: “Pues no te creas, al final todo lo que llevo aquí está salvaguardado en otro sitio. Por ejemplo, la información de mis contactos está toda en el servidor de correo de la empresa (Exchange Server), en Facebook y en Windows Live, mis citas de calendario están en el Exchange y en Windows Live, mis correos están en el Exchange y en Hotmail, y las fotos según las estoy sacando ya se están replicando en Skydrive. Además, tengo el móvil protegido con un código y lo puedo borrar remotamente desde cualquier ordenador”.
Llevando estos conceptos al mundo de los PCs, los que habéis estado en alguno de los eventos de nuestra gira del año pasado, seguro que os acordáis de una historia que contaba Chema acerca de dejar el portátil olvidado en el aeropuerto… El siguiente comentario que hacía, a los que contestaban que al darse cuenta que se les había olvidado el cacharrito salían corriendo como alma que se lleva el diablo, era “Seguro que vosotros no tenéis vuestro ordenado cifrado ni hacéis copias de seguridad”. La historia no es tan descabellada y hace un par de años Dell presentaba un informe (Airport Insecurity: The Case of Lost Laptops) sobre este problema, algunos números de los que salían en dicho informe eran impresionantes.
Los más atentos, seguro que se an fijado que cuando Chema hacía la pregunta yo me quedaba callado, calladito! He de confesar que por aquel entonces no cumplía con las buenas prácticas, cosa que se solucionó inmediatamente después de la gira. Quedando las copias de seguridad diarias a cargo de mi Windows Home Server y los mandos de seguridad en manos del Bitlocker. Y todo esto para deciros, que lo más importante es la información, no el dispositivo que utilizamos para acceder a ella, pero para conseguir quitar importancia al dispositivo físico es necesario que se cumplan dos cosas en caso de pérdida o robo:
  • Exista un mecanismo de seguridad que no permita ver la información que se encuentra en el dispositivo (en este caso el cifrado Bitlocker).
  • Exista una copia de seguridad que nos permita de forma rápida y fácil, recuperar esa información en un nuevo dispositivo.

¿Y por dónde empiezo?

Antes de darle al botón, hay que pensar en la estrategia a seguir para cifrar nuestros equipos, pero sobretodo hay que preparar un plan de recuperación para el día que las cosas vayan por mal camino. Esto implica ver donde, y como, vamos a guardar las claves de recuperación para que estén accesibles cuando las necesitemos. En mi caso, independientemente de que esas claves se guarden en AD (por políticas), o no, yo las estoy guardando en un pendrive. Lógicamente que este está cifrado con Bitlocker To Go y su paradero es secreto de estado. Por otro lado, hay una copia de las claves de recuperación (incluida la del pendrive cifrado) en el Mysite del Sharepoint corporativo, en una biblioteca de documentos  que solo tiene permisos para mi usuario. En resumen, hay 3 posibilidades de obtener mis claves de recuperación: 1- Pendrive cifrado, 2- Mysite en Sharepoint, 3- Active Directory.
Uno de los requisitos que verifica el asistente de Bitlocker,  es que toda la información de la base de datos de arranque (BCD) para el sistema operativo que se quiere cifrar sea correcta. Por este motivo, es muy recomendable que le echéis un vistacillo con bcdedit, para confirmar que todo es correcto, que las rutas están bien y que apuntan a donde tienen que apuntar. Secciones del BCD que son especialmente importantes: {bootmgr}, {current}, recoverysequence, resumeobject y {memdiag}.
No nos olvidemos que para poder cifrar nuestro disco, es necesario tener una partición no cifrada donde instalar el sistema de arranque (bootmgr). Ahora ya sabéis el motivo por el cual, por defecto,  Windows 7 y Windows Server 2008 R2 os crean una pequeña partición de 100MB al principio del disco. :-)

¿Qué unidad debo cifrar?

Y finalmente llegamos a la pregunta del millón… ¿Es suficiente con cifrar una partición de datos? ¿Debo cifrar la unidad del sistema operativo?
La respuesta a esto, como a tantas otras cosas es “Depende”. Depende de donde guardáis información sensible en vuestros equipos, depende del uso que queréis hacer del sistema de cifrado y depende de lo transparente que queréis que este sea para el usuario. En el caso de las particiones de datos, Bitlocker permite definir una contraseña para acceder a las unidades cifradas (o usar el certificado de una smart card), además de la clave de recuperación que obtenemos al cifrar la unidad. Para que estas unidades se puedan desbloquear de forma automática y transparente para el usuario (sin pedirle contraseñas o elementos adicionales) es necesario que nuestra unidad de sistema operativo también esté cifrada, ya que es en ese volumen que se van a guardar los identificadores necesarios para acceder a los demás volúmenes de datos cifrados.
Otro aspecto a tener en cuenta es si vais a tener varios arranques distintos que acceden a una misma partición de datos, como es mi caso, en estos escenarios no poder contar con el desbloqueo automático es muy engorroso, por lo que la mejor opción pasa por cifrar las unidades de sistema operativo.
Nota: en el caso de los dispositivos extraíbles cifrados con Bitlocker To Go, no tenemos este requisito, aunque la partición de sistema. operativo no esté cifrada podemos seguir guardando la información que nos permite el desbloqueo automático.
Las unidades de sistema operativo cifradas pueden ser desbloqueadas mediante, uno (o una combinación) de 3 mecanismos posibles:
  • Clave de arranque guardada en el chip TPM
  • Código PIN, que incrementa el nivel de seguridad de la opción anterior
  • Clave de arranque guardada en un dispositivo USB externo.
La opción más cómoda es la que usa el chip TPM, ya que no supone un cambio perceptible para el usuario en relación a un sistema no cifrado, el PC arranca como siempre sin necesidad de conectar dispositivos adicionales. En este caso, la recomendación es que se establezca un código PIN de arranque para incrementar la seguridad de la solución. Para aquellos casos en que las máquinas no incorporan un chip TPM, la clave de arranque la tendríamos que guardar en un pendrive que habría que conectar siempre durante el proceso de arranque del sistema operativo.

Mi entorno…

Mi portátil, además de ser mi entorno de escritorio que uso a diario, es  a la vez mi máquina de demos, por lo que tengo dos arranques distintos, uno con Windows 7 Ultimate y otro con Windows Server 2008 R2 Enterprise y su maravilloso Hyper-V. Las principales carpetas de mi perfil de usuario, en Windows 7, están redirigidas a una partición de datos, que es también un almacén de máquinas virtuales cuando estoy trabajando con Windows Server 2008 R2. En mi caso estaba claro que esta partición había que cifrarla y que además tenía que estar visible desde cualquiera de las instancias de sistema operativo. Para no entorpecer mi trabajo introduciendo la contraseña cada vez que accedo a esa partición y también porque una buena parte de mi perfil está ahí, lo suyo sería usar el mecanismo de desbloqueo automático, está claro que además tenía que cifrar las unidades de sistema operativo. Mi portátil cuenta con un chip TPM por lo que el desbloqueo de las unidades de sistema durante el arranque iba a ser transparente. Finalmente, y de cara a incrementar la seguridad, no prescindo del uso de un código PIN de arranque…
Esta es la “foto” a nivel de Bitlocker que tengo implementada actualmente:



Y ahora qué? Bueno, que no cunda el pánico… Hibernación, hibernación… Ahí está una característica que no uso, siempre duermo la máquina, así que esto para mí no iba a ser un impedimento. No soportado, no soportado… Aquí ya se me presentaba el dilema “ético”, pero como Evangelista me siento en la obligación de probar esto al límite para contároslo todo, tooodo. Teniendo en cuenta que tengo copias de seguridad diarias de mi portátil, tampoco iba a ser un problemón la recuperación en caso de fallo. Así que puse manos a la obra…
Lo primero, cifrar las unidades de sistema operativo. Este proceso es bastante sencillo con la ayuda del asistente de cifrado de Bitlocker (Panel de Control –> Sistema y Seguridad –> Cifrado de unidad Bitlocker). Tuve que habilitar previamente el chip TPM y asumir el control del mismo, esto requiere un reinicio. En el asistente de Bitlocker también elegí la opción de usar un código PIN, que por defecto no aparece, para que tengamos esta opción disponible en nuestro entorno es necesario habilitar una política previamente (Configuración de ordenador –> Plantillas administrativas –> Componentes de Windows –> Cifrado de unidad Bitlocker –> Unidades de sistema operativo). Teniendo en cuenta el incremento a nivel de seguridad que este mecanismo aporta, habilitar esa política es algo que recomiendo que se haga a nivel de dominio.




Una vez terminado el cifrado de las unidades de sistema operativo (C:) con Bitlocker, las claves correspondientes ya están guardadas en mi chip TPM, ya puedo seguir con el cifrado de las demás unidades, en mi caso la de datos que comparto entre los dos sistemas operativos. El cifrado de estas unidades se hace mediante el mismo asistente del paso anterior, seleccionando la opción de desbloqueo automático. Está claro que esto lo hice desde uno de los sistemas operativos (en mi caso desde Windows 7), con lo cual al arrancar por primera vez con el otro (Windows Server 2008 R2), este no sabía cómo acceder al volumen. No pasa nada, cuando nos pida la contraseña se la damos y además marcamos la opción de desbloqueo automático para que no nos la vuelva a pedir.

¡Et voilá!

¡Tchan, tchaaan!… Todo funcionando perfectamente y sin pasos adicionales para acceder a la información. Así da gusto trabajar de forma segura, uno ni se entera que toda su información por debajo está protegida una vez que la experiencia de usuario es igual a la que tenía antes del Bitlocker, sin necesidad de realizar acciones extra. El PIN inicial para mí no es ninguna molestia, todo lo contrario, es lo que me hace sentir seguro cuando uso mi PC, al igual que el PIN de la tarjeta de crédito cuando voy al cajero, o el del móvil cuando lo enciendo.
Aquí os dejo con la “foto” final de mi sistema, este es el mapa de particiones y discos para que tengáis una idea clara de cómo quedó el resultado final:







¡Ah! Si os estáis preguntando si bitlocker e Hyper-V son compatibles, por eso de tener los vhds de las máquinas virtuales en una partición cifrada, la respuesta es sí, y además de compatible y soportado es recomendable. (http://www.microsoft.com/downloads/details.aspx?FamilyID=2c3c0615-baf4-4a9c-b613-3fda14e84545&DisplayLang=en). De hecho en mi entorno, incluso las máquinas virtuales que tengo configuradas en Windows Server 2008 R2 con arranque automático, y que están almacenadas en la unidad de datos, se arrancan perfectamente como si el volumen no estuviera cifrado.
¡Acordaros, los candaditos son buenos!






No hay comentarios: