PDA

Ver la versión completa : Seguridad en entornos virtualizados Vmware



LUK
21-04-2010, 00:46
Cada vez más empresas optan por la opción de la virtualización como solución a diversos problemas que se les plantea a diario. ¿Pero en qué consiste exactamente la virtualización?

La virtualización permite la creación de versiones virtuales de dispositivos y equipos. Esto se consigue utilizando una capa de abstracción de los recursos hardware del equipo físico en el que se llevará a cabo la virtualización (anfitrión). Sobre esta capa, se pueden crear todo tipo de dispositivos y sistemas como medios de almacenamiento, redes, unidades de CD-ROM o, incluso, ordenadores completos con características hardware (CPU, RAM...) configurables y restringibles en los que se puede instalar cualquier sistema operativo. Esto permite, por ejemplo, crear múltiples máquinas virtuales sobre un único equipo físico siendo todas ellas independientes entre sí y del anfitrión.

De esta manera se consiguen múltiples mejoras como el ahorro de dinero al reducir la necesidad de comprar equipos hardware a los que no se les acaba sacando el máximo rendimiento o la mejora de la disponibilidad y continuidad de negocio debido a que los sistemas virtualizados pueden ser copiados y restaurados en caliente y en mucho menos tiempo que un sistema normal.

Otra mejora es la comodidad que proporciona para conseguir segregación de tareas al permitir utilizar un único equipo físico para virtualizar diferentes servidores y que cada uno de ellos ofrezca un único servicio en lugar de compartir servicios dentro del mismo servidor.

Algunos de los entornos de virtualización permiten, incluso, crear redes virtuales con hardware específico de red como switches o firewalls que pueden comunicarse y compartir características con los dispositivos de red reales facilitando, de este modo, la administración de toda la red corporativa (tanto física como virtual).

La solución que propone VMware a nivel empresarial para construir una arquitectura de virtualización es la suit vSphere, o su versión anterior VMware Infrastructure 3. Aunque estas suites están compuestas por diversos productos, tienen una arquitectura similar. Por un lado encontraremos servidores encargados de virtualizar todas las máquinas virtuales. Estos servidores, ESX ó ESXi, representan el núcleo principal de la arquitectura de virtualización y son los que gestionan todos los recursos hardware que comparten las máquinas virtuales: medios de almacenamiento masivo, CPU, memoria RAM, interfaces de red, etc.

La diferencia principal entre un servidor ESX y un servidor ESXi es el sistema operativo y los servicios que ofrecen. ESX está basado en una distribución Linux Red Hat y, además de todos los servicios de virtualización, ofrece diversos servicios propios de un sistema operativo como Linux: un servicio de línea de comandos en local, administración remota a través de protocolos como SSH, una gestión de usuarios y contraseñas robusta, etc. Por el contrario, ESXi sólo proporciona servicios de virtualización obligando a una administración remota a través de HTTPS o CIM. ESXi no dispone de una consola de órdenes local, desde el terminal físico tan sólo se pueden llevar a cabo algunas tareas de administración como configurar las interfaces de red o cambiar la contraseña de la cuenta de usuario root.


Para construir una estructura de virtualización segura, conviene tener en cuenta ciertos aspectos. El primero y más importante es la construcción de una topología de red basada en la segregación. Los servidores ESX/ESXi requieren de interfaces de administración para poder gestionarlos de manera remota y centralizada en caso de tener varios de estos servidores. Aunque todas las comunicaciones entre productos VMware se cifran utilizando SSL, conviene utilizar una red física o VLAN independiente para estas tareas. Además, los certificados por defecto de VMware están firmados por el propio software; conviene, por tanto, sustituirlos por otros que hayan sido firmados por una CA externa o interna que provea cierta confianza.


Otra red que debería estar separada a nivel físico o lógico es la red de almacenamiento. Lo habitual es que los servidores ESX/ESXi utilicen sistemas de almacenamiento masivo como SAN para almacenar todas las máquinas virtuales, ficheros de auditoría de eventos, etc. Dependiendo del tipo de dispositivos de almacenamiento utilizados, además de cifrado en la transmisión de datos, se puede implementar autenticación. iSCSI soporta el uso del protocolo CHAP para autenticar a los servidores que se intentan conectar a los medios de almacenamiento.

Las máquinas virtuales conviene que utilicen interfaces de red y, por tanto también redes, independientes de las dos anteriores. Además, esta red se puede segregar tanto como se desee en función de la topología que se necesite construir, pudiendo introducir firewalls y switches virtuales entre las diferentes zonas para aumentar la seguridad.


Otro aspecto a tener en mente es la gestión de usuarios. Tanto en los servidores ESX como ESXi existen dos tipos de usuarios. Por un lado están los usuarios del servidor a nivel de sistema operativo y por otro, los usuarios que administran o gestionan las máquinas virtuales pero que no tienen privilegios sobre el equipo físico. Para ambos tipos se debe implementar una política de contraseñas robusta que asegure unos mínimos de complejidad. A nivel de sistema operativo, es recomendable deshabilitar la cuenta del usuario root para que no pueda iniciar sesión desde ningún servicio y utilizar cuentas especializadas para las labores de administración. En el caso del servidor ESX es recomendable utilizar cuentas no administrativas y utilizar el comando 'sudo', mientras que en ESXi es necesario crear una cuenta con privilegios de administración antes de deshabilitar la cuenta root, lo que se consigue activando el modo Lockdown. Desde el punto de vista de la gestión del sistema de virtualización, prima la segregación de tareas, debiéndose procurar que cada cuenta tenga los permisos mínimos necesarios para que el usuario pueda realizar las tareas que le corresponden.

Toda la administración de los servidores ESX y ESXi puede centralizarse desde un servidor vCenter, o VirtualCenter, dependiendo de la suit que se utilice. Desde él se gestionan los firewall y toda la topología de red virtual incluyendo los dispositivos que la conforman. También se administran los usuarios que tengan algún tipo de papel sobre la arquitectura de virtualización y sus privilegios, los dispositivos de almacenamiento, el sistema de alertas, la configuración de los servidores ESX/ESXi, etc. También se pueden programar tareas como realizar copias de seguridad de las máquinas virtuales en caliente y, por medio de una utilidad de la suit, VMware Update Manager, permite centralizar las actualizaciones de todos los servidores ESX, ESXi y vCenter.


En resumen, la virtualización es una tecnología cada vez más frecuente en el mundo empresarial. Esto obliga a hacer frente a los diversos riesgos de seguridad que puedan presentarse por su uso. A nivel general, la virtualización no supone un riesgo frente a los sistemas tradicionales. Esto se debe, en parte, a que desde el exterior tanto los equipos virtualizados como la arquitectura de red virtual son totalmente transparentes. De esta manera, la seguridad de los sistemas virtualizados recae en la configuración de los propios sistemas operativos, a los que se les deben aplicar las mismas políticas de seguridad que se aplicaría a un sistema real.


No obstante, hay que tener en cuenta que al igual que sucede con cualquier otro sistema centralizado, la seguridad de un gran número de elementos (en este caso las máquinas virtuales) está determinada por la seguridad de unos pocos (los servidores ESX, ESXi y vCenter). Por tanto, una configuración incorrecta podría repercutir en la pérdida de confidencialidad, integridad o disponibilidad de un gran número de sistemas.


Julio Gómez
S21sec Auditoría
http://blog.s21sec.com/2010/04/seguridad-en-entornos-virtualizados.html