CEFIROS

¿Como segmentamos un entorno virtual? (I)

03.09.18 9:46 Por Marcos Caballero

El paradigma de la segmentación

Las organizaciones de seguridad de TI hoy se enfrentan una doble situación. Por una parte, los ataques persistentes (no me refiero a las APT, si no a los atacantes pesados, que no paran de intentar asaltar nuestras defensas) que buscan nuevas forma de acceder a nuestros mas preciados "tesoros", es decir nuestros datos mas sensibles, secretos industriales, para una vez dentro, exfiltrar toda esa información valiosa para nosotros y hacerla pública, venderla al mejor postor, o entregársela a la competencia (de esta última conozco un caso). Y por la otra parte, los directivos del negocio (y alguno pensará si no está ligado a IT seguro que no pasa), lo que quieren es que el equipo de seguridad, liderados por el CISO, no estorben a la hora de poner en producción nuevas aplicaciones o nuevas tecnologías, vamos que somos los "malos". ¿quién no ha vivido eso del…Será del antivirus, o el apaga el IPS que me retrasa las transacciones 0,1 ms de cara al usuario?

Todas estas presiones hay que valorarlas, o reforzamos la seguridad a expensas de perder flexibilidad o avanzamos a nuevas situaciones, asumiendo mucho mas riesgo. Es complicado estar en la piel del responsable de seguridad, visto del punto de vista de cliente final, o ser el consultor de seguridad que debe aconsejar a la compañía X para estar protegida y a la vez manteniendo todo funcionando.

En este nuevo "Status QUO" donde hemos pasado de tener una sala de 400m2 llena de racks con switches, servidores, cabinas de discos, aparatos raros de comunicaciones (si eso que da mucho la lata con que el puerto del emule no funciona), a tener esa misma sala casi vacía manteniendo únicamente 12 racks (4 cabinas de discos, 2 de comunicaciones core, 1 para los dispositivos de seguridad, y el resto tenemos host de virtualización con vmware u OpenStak, donde tenemos ya todo consolidado)

Antes de llegar a este punto, siempre se hablaba de la segmentación de redes, no por motivos de seguridad, sino para evitar que los dominios de broadcast demasiado grandes tumbasen todos los sistemas, pero ahora ¿cómo hacemos esa segmentación? Alguno dirá, de manera lógica en los switches virtuales usando vlans diferentes como si fueran físicos. Pues esto no es suficiente.

Y os preguntareis  ¿porqué? , Pues debido a los diferentes amenazas que existen en el mundo virtual, y ya no por las vulnerabilidades, si no porque ya no hay un control sobre ese switch virtual en el sentido que si alguien consigue levantar un equipo virtual en ese host de virtualización, tenemos que el switch virtual tiene todos los puertos UP, con lo que podremos conectarnos a cualquier switch virtual y llegar donde sea. Aquí no tratamos como llegamos al host de virtualización y podemos crear equipos virtuales…que esto también es otra fiesta, que si queréis lo tratamos otro día.

Para protegernos de estos posibles efectos, y agilizar el funcionamiento del negocio para evitar paradas inesperadas, o vulnerabilidades críticas en esos sistemas, existen tecnologías específicas

 

Pero hay algunas tecnologías que tienen el potencial de mejorar tanto la seguridad como la agilidad comercial al mismo tiempo. La microsegmentación es una de esas tecnologías raras y punteras.

Grandes Desafios a los que nos enfrentamos

Detener Movimientos laterales entre VLANS y dentro de la misma subred:

Las defensas perimetrales de toda la vida, ya no nos fiamos de ellas para mantener al "malo" de turno alejado de nuestra red, pero tampoco nos funciona para los insiders internos, si aquellos de los que hable en la charla en el Aslan de este año, ver video.

La mayoría de nosotros, profesionales con muchos años en el mundo de la seguridad IT, estamos familiarizados con los marcos de trabajo como el de Lockheed Martin Cyber Kill Chain® . (Ver fuente)


Estos marcos explican cómo los "malos", que pueden ser insiders u outsiders, pueden abrirse paso dentro de una red corporativa mediante la explotación de una vulnerabilidad o la adquisición de credenciales legítimas de los usuarios. Con ello, exploran la red para encontrar vulnerabilidades adicionales, y finalmente exfiltrar (o destruir) la información confidencial, que al fin y al cabo, es lo que han "venido" a hacer.

Las estadísticas, según los informes de Verizon de los últimos 3 años, indican que es muy muy complicado reducir el "tiempo de permanencia" de los "malos" dentro de la infraestructura. La virtualización y la tecnología Cloud, agrava este problema. Es muy complicado proteger las aplicaciones y servicios SaaS.

En estos entornos, la limitación de los movimientos laterales se convierte en una prioridad para profesionales de Seguridad IT, con sus limitaciones obviamente. Si un cibercriminal pone en peligro las credenciales de un empleado que usa la aplicación A, ¿podemos tener la certeza de que no pueda acceder a las aplicaciones B, C y D?

Si aplicamos lo mismo, a una red corporativa, y el cibercriminal descubre la contraseña de un administrador del sistema, ¿podemos tener la certeza de que no pueda conectarse al resto de sistemas?

Resumiendo, NO, no tenemos certeza, para ello tenemos que cubrirlo con 2 soluciones, de las cuales hablaremos mas adelante.

Implementando seguridad dinámica

Erase una vez, en los que se instalaban los sistemas, redes y aplicaciones, y podían estar así toda la vida, eran totalmente estáticos. Todo era estático, reglas de Firewall, cantidad de datos que viajaban por la red, las ACL que daban acceso a las diferentes VLANS (eso el que lo tenía así definido, que durante mi carrera solo lo he visto 2 veces)

Pero los entornos de ahora, no tienen nada que ver con aquellos, y muchos administradores y responsables de IT/Comunicaciones, siguen pensando en el entorno "pasado":

  • Aplicaciones multicapa con múltiples flujos:
  • Frontend
  • Middleware
  • Backend
  • Las aplicaciones y los sistemas, reciben actualizaciones casi diarias, con lo que ello implica
  • Los diferentes módulos que se necesitan, están distribuidos dentro del CPD Virtual, en diferentes centros de datos físicos, en ubicaciones separadas por varios cientos de kilómetros, (si usamos un centro de datos en la Nube)
  • Las empresas, "reciclan" continuamente los servidores físicos y virtuales, para aprovechar los recursos de manera óptima, y consolidan en sistemas virtuales, para tener una carga de trabajo óptima.

La mayoría de las empresas, con un fuerte departamento de IT, están empezando a coquetear con la automatización, que ha permitido nuevos conceptos, tanto en el área de comunicaciones, como de sistemas, como son Virtualización, Orquestación, implementación continua, SDN, SDWAN, etc.

Sin embargo, la mayoría de los procesos de seguridad IT, son manuales, o no nos atrevemos a "Automatizarlos". Por lo que tenemos un freno o cuello de botella, a la hora de implementar mejoras técnicas en los sistemas IT, como los indicados anteriormente.

Por ejemplo, antes de desplegar una nueva aplicación, el equipo de seguridad puede requerir semanas para analizar un flujo de tráfico y las propuestas de cómo se desplegará la aplicación (Arquitectura de la misma), documentar que políticas harán falta (y siempre faltan políticas porque la documentación del producto es pobre en esta parte, y no digo nada si la aplicación es creada 100% en casa),crear la nuevas reglas de firewall y probar los flujos de datos resultantes.

Y si nos metemos en el "charco" de una migración, esto se multiplica por 1000, porque en la mayoría de los casos, esos flujos se desconocen. Y esto se complica muchísimo mas, si nos metemos en el proyecto de consolidación de centro de datos o la migración de un Centro de datos, a otro, en el que hay que documentar todo.

La Segmentación de red sin control, no sirve de nada

Parafraseando un conocido anuncio de neumáticos, la segmentación "tradicional" puede ser eficaz hasta cierto punto, pero esa segmentación es de "punto gordo", y es totalmente inflexible.

Hoy día, la mayoría de CPD, ya sean tradicionales, VPC (donde puedas "jugar" con tu instancia de VMWARE/OpenStack) o similares, se dividen en dominios de broadcast, y estos dominios se separan mediante un firewall lógico, que en el mejor de los casos tiene en cada VLAN una red de tipo C, como os muestro en la imagen. El tráfico entre zonas, pasa por el firewall, pero es "engorroso" y poco flexible.

Cierto que aquí protegemos las zonas, entre el tráfico entre zonas, y solo podremos tener permitido un trafico concreto entre una zona y otra, pero el atacante puede aprovechar la vulnerabilidad del protocolo, para liarla. ¿Os acordáis del wanacry?

Sin embargo, la segmentación de red convencional tiene serias limitaciones:

  • Al ser una zona grande, el atacante que pueda "colarse" en un servidor, o puesto de usuario, tiene barra libre para todo movimiento lateral (E-O) sin restricciones
  • El alto precio de los firewalls tradicionales, y en consecuencia, la segmentación de la red en subredes mas pequeñas, hace casi inviable el proceso, aunque con nuestro fabricante este coste baja considerablemente
  • Los firewalls, por lo general tienen cientos de reglas, y si se modifica algo en las aplicaciones, toca revisar, modificar y probar, y se lía siempre, ya que el que modifica la aplicación no se acuerda de avisar al equipo de administración de seguridad, y siempre toca cambiar reglas fuera de hora, fuera del ciclo de aplicación.
  • Los firewalls y NGFW convencionales no pueden controlar efectivamente el tráfico entre máquinas virtuales en el mismo hypervisor, vamos que un firewall virtual en un VMWARE, solo protege del tráfico entre redes, no dentro de la misma red. 

Principios de la micro segmentación

La microsegmentación es una técnica de seguridad que permite asignar políticas de seguridad granulares a las aplicaciones. Se basa en dos principios clave: granularidad y adaptación dinámica.

Estos principios hacen que la microsegmentación sea fundamentalmente diferente de la segmentación de red convencional.

Segmentación Granular

El truco es encontrar puntos de monitorización y siempre disponible para hacer que la segmentación sea granular y sobre todo FACIL.

La monitorización de la aplicación se pueden realizar:

  • En la red virtual
  • En los hosts virtuales

Hay que tener encuenta que la granularidad al 100%, puede ser muy muy compleja, aunque sea fácil implantarla. De esta manera, podemos tener en el mismo segmento de red (vlan), entornos de Desarrollo y pruebas, sin necesidad de complicar la arquitectura de red.

Segmentación dinámica

En los entornos actuales, donde se requiere agilidad y la no dependencia de los administradores, necesitamos una solución que se pueda adaptar de manera dinámica a esto cambios.

Si lo hacemos manualmente, tendríamos menos flexibilidad, mas errores y mas carga de trabajo para el administrador, con lo que al final no tendríamos una política efectiva.

La "segmentación dinámica" nos permite poder tener un control granular de la segmentación al combinar la abstracción, la inteligencia y la automatización.

  • Abstracción: capacidad de crear políticas de seguridad basadas en aplicación (como web, aplicaciones y niveles de bases de datos) más que en datos de red (direcciones IP, subredes y VLAN).
  • Inteligencia: capacidad de detectar cuándo hay cambios en las aplicaciones o la infraestructura, y luego reconfigurar las políticas con esos cambios.
  • Automatización: capacidad de implementar políticas de seguridad nuevas, o modificar políticas, sin intervención humana.

Conclusiones

La micro segmentación, es la segmentación para aquellos que quieren acotar los grandes problemas de las infraestructuras IT, sobretodo llevado a los entornos virtuales mas extendidos (VMWARE y OpenStack) en entornos propios. El principal desafío es detener los movimientos laterales, dividiendo los activos IT virtuales, en compartimientos controlables y pudiendo aplicar seguridad de manera dinámica a estos compartimientos permitiendo o denegando tráfico de aplicaciones, o reconfigurando de manera automática cuando un componente de la aplicación cambia.

Adicionalmente, esta solución es muy económica y no requiere adquirir costosas soluciones o distribuir agentes en los equipos, lo que hace que el ROI de la solución es muy alto en muy corto plazo, y lo mas importante de todo, es que no necesitas desplegar agentes, como con otras soluciones, con lo que no interfieres en el Sistema Operativo, y no "molestas" los procesos habituales.

De que hablamos? Pues de la solución de microsegmentación de HillStone, CloudHive (Ver video 1, Ver Video 2)

En otros "episodios", hablaremos de la solución, y del resto de soluciones que dejo entrever en el artículo.

Si quieres saber mas, no dudes en contactar conmigo, o solicitar información aquí

Créditos:

https://jisajournal.springeropen.com/articles/10.1186/s13174-014-0015-z

https://www.uila.com/blog/Microsegmentation-Challenges

es.wikipedia.org

Marcos Caballero