Llegamos a ustedes gracias a:



Reportajes y análisis

Los microservicios ofrecen velocidad y flexibilidad

Pero tienen un precio

[03/04/2017] Los microservicios son la evolución más reciente de la arquitectura orientada a los servicios, donde una aplicación es construida de muchas piezas independientes que trabajan juntas, y con frecuencia se despliegan en contenedores.

Los beneficios incluyen su velocidad de llegada al mercado, costos más bajos, y más flexibilidad -pero también cuentan con sus propios retos de seguridad y administración.

Lattice Engines, que ofrece analítica de ventas y de marketing, está planificando una programación de lanzamiento muy prudente.

"Estamos tomándonos el tiempo para crear esto, afirmó Walt Williams, jefe de seguridad de la compañía. "No vamos a permitir que cualquiera genere un nuevo servicio o proceso. Esto es algo que va a estar estrictamente controlado por Lattice. Van a haber algunas capacidades de servicio a demanda, pero no se va a producir un alza espontánea en la demanda que exceda por mucho a nuestros planes, y estamos restringiendo el uso de la automatización para crear nuevos servicios.

Actualmente, la compañía se encuentra mudando su ambiente de producción a la nube de Amazon, utilizando el enfoque de los microservicios.

"No queremos hacer esto haciendo uso del enfoque tradicional -desplegar sus servidores, mantener sus servidores, colocar su aplicación en el servidor, y mantener la aplicación, afirmó.

Estas van a ser aplicaciones orientadas al cliente, así que la seguridad es algo crítico.

El uso de los microservicios y contenedores de Docker permite a la compañía tener flexibilidad y rapidez a la hora de desplegar aplicaciones, y la arquitectura del contenedor significa que los propios servicios estarán estructuralmente aislados del sistema operativo.

"Así que podemos actualizar los servicios independientemente de cualquier cambio en el sistema operativo donde habita el contenedor, afirmó.

Eso ofrece beneficios operativos y beneficios de seguridad.

"De esta manera, si es que existe una vulnerabilidad en el sistema operativo, estamos aislados de ésta, afirmó. "Evita que el problema crezca. Estamos aprovechando la naturaleza modular del ambiente para mejorar la seguridad.

Sin embargo, también existen desafíos de administración y preocupaciones respecto al control de acceso y la programación de las actualizaciones.

Para lidiar con estos problemas desde el inicio, Lattice utiliza Chef, la herramienta de gestión de la configuración de contenedores.

"Entonces, todos los contenedores de Docker que estamos desplegando se administrarán centralmente, afirmó.

Eso deja una brecha cuando se trata de la administración de las actualizaciones, indicó.

En ese caso, Lattice utiliza herramientas de Tenable Network Security, uno de los pocos proveedores que está empezando a ofrecer productos de administración y de seguridad de contenedores.

"Francamente, nosotros vemos a estos contenedores como una manera de asegurar la administración de las actualizaciones, afirmó Williams. "Esa es una de las áreas donde el producto de Tenable nos está ayudando -podemos realizar un escaneo de las vulnerabilidades en el propio contenedor antes de que pase a producción.

Comunicación y bibliotecas

Las compañías antes podían proteger las comunicaciones de sus aplicaciones debido a que éstas operaban en un número fijo de servidores físicos o virtuales.

"Ahora, es más difícil identificar dónde residen esos microservicios, afirmó Dave Burton, vicepresidente de marketing del proveedor de seguridad GuardiCore.

Además, todos los microservicios necesitan comunicarse unos con otros, y ahora existen más que nunca.

"Esto incrementa dramáticamente la superficie de ataques que los atacantes pueden aprovechar, señaló.

Para establecer políticas para esas comunicaciones, los equipos de seguridad necesitan entender dónde están los microservicios, y como se comunican entre sí.

Los proveedores, incluyendo a GuardiCore, están empezando a proporcionar herramientas que pueden identificar puntos finales de comunicación en ambientes de nube, afirmó.

"Y pensamos que debe llegar aún más lejos, y trazar un mapa de las comunicaciones entre los procesos individuales para obtener una visión más detallada de cómo los microservicios se comunican entre sí, sostuvo. "Uno necesita un autodescubrimiento ahí, y hacer que éste sea actualizado automáticamente. La siguiente acción que debe tomar -y ésta es una tendencia que estamos viendo en el mercado- es pasar hacia políticas de seguridad más detalladas para el interior de los centros de datos y las nubes.

Esto se llama microsegmentación, y permite a las compañías establecer políticas respecto al tráfico entre procesos individuales.

"En el caso de que uno de esos servicios se vea afectado y se utilice como una huella para lanzar un ataque, ellos serán capaces de contener el ataque, afirmó.

Asimismo, todos esos mensajes individuales necesitan estar autentificados y cifrados apropiadamente, sostiene Owen Garrett, jefe de producto en NGINX, empresa que fabrica un popular servidor web de código abierto y un balanceador de carga.

Él sugirió que las empresas observen cuidadosamente cómo despliegan sus firewalls de aplicación web, su cifrado y su segmentación de red.

Garantizar la seguridad de las comunicaciones fue un problema grande para Alkami Technology, que desarrolla y aloja software de banca online.

La industria financiera está muy regulada, y los proveedores tienen que estar seguros de que cumplen con los mejores procedimientos de la industria, afirmó. "¿Todos los datos que ciframos se encuentran en reposo? ¿Están cifrados con los mejores procedimientos en tránsito?.

Para asegurar que la seguridad está habilitada, Alkami utiliza NGINX como su capa de middleware.

"Nos permite asegurarnos de que podemos propagar las mejores prácticas para contar con controles seguros, en vez de tener que depender de que cada desarrollador lo haga para cada microservicio en particular, afirmó McElroy. "Queremos que los desarrolladores desarrollen con mayor rapidez, pero no queremos renunciar a nada desde el campo del diseño de la seguridad.

Para buscar vulnerabilidades externas, Alkami usa Veracode, añadió.

"Veo un enorme valor en ello, afirmó. "Si no tuviésemos algo que se ocupe de algunos aspectos básicos, estaríamos empleando mucho tiempo en perseguir fantasmas.

Los ciclos de vida cortos requieren de automatización

Además de ayudar a acelerar el desarrollo, las herramientas de seguridad automatizada también ayudan a que las compañías lidien con el problema relacionado a los microservicios de los contenedores.

Los contenedores son una forma bastante popular de desplegar microservicios, y debido a lo fácil que son de instalar, cualquier servicio particular podría estar operativo por solo un par de días -o incluso solo por unos minutos, afirma Gavin Millard, director técnico en Tenable Network Security.

"Permite que las organizaciones sean hiperescalables cuando sea necesario, indicó.

La facilidad y velocidad para desplegar los contenedores frecuentemente significa olvidarse de la seguridad.

"Con mucha frecuencia, los CISOs ni siquiera saben que Docker está operando dentro de sus infraestructuras, afirmó. "Con la falta de visibilidad, uno también tiene falta de entendimiento de qué vulnerabilidades y configuraciones erróneas existen en esos sistemas.

Por ejemplo, recientemente escaneó unos populares contenedores basados en Linux y encontró 80 vulnerabilidades, antes de comenzar a usarlos. Éstas tienen que ser parchadas antes de que el contenedor se coloque en producción oficialmente.

Cuando no son parchadas, la superficie de ataque de una compañía podría expandirse considerablemente de un día para el otro.

"Nosotros adquirimos una compañía de seguridad para contenedores, lo que nos dio la capacidad de revisar esas imágenes de contenedores, afirmó Millard.

FlawCheck, que fue adquirida por Tenable el otoño pasado, escanea las imágenes de los contenedores en busca de vulnerabilidades, malware y otros riesgos, y también proporciona un monitoreo continuo para asegurarse de que los contenedores se mantengan al día después de haber sido desplegados.

"Incluso si descarga una imagen vulnerable, tendrá la posibilidad de tomar el paso apropiado para subsanar y deshacerse de esas vulnerabilidades antes de que sea expedida hacia el ambiente de producción, afirmó.

Este proceso tiene que ser automatizado. Los servidores físicos tradicionales durarían de tres a cinco años por lo general, y las compañías podrían manejarlos manualmente.

"Hace 15 años, yo sabía exactamente cuántos servidores tenía, afirmó Millard. "Inclusive les puse nombres de caballos de carrera famosos.

El tiempo de vida promedio de los servidores virtuales es de dos a tres semanas, añadió.

Los contenedores, sin embargo, tienen un tiempo promedio de vida de solo 9,25 horas, de acuerdo a la compañía de análisis del desempeño de software, New Relic. Y el crecimiento más grande del año pasado se dio en contenedores que tienen un tiempo de vida menor a un minuto.

El verano pasado, el CEO de Docker, Ben Golub, reportó (ver video abajo) que más de cuatro mil millones de contenedores habían sido desplegados, con más de 460 mil aplicaciones relacionadas a Docker, un crecimiento de 3.100% en los últimos dos años.

https://www.youtube.com/watch?v=vE1iDPx6-Ok

Y las compañías que ya estaban operando contenedores vieron que su uso aumentó en 192% entre el 2015 y el 2016, de acuerdo a New Relic. Y más dramático aún, el número máximo de contenedores dentro de una sola compañía aumentó de 1.596 en el 2015 a 135.630 en el 2016. El número promedio de contenedores activos en una sola compañía ahora es de 28 mil.

De acuerdo al reporte emitido por RightScale a comienzos de este mes, 40% de las empresas ya están utilizando contenedores de Docker, y otro 30% planea hacerlo en el futuro.

"Está explotando masivamente, afirmó Jay Leek, director administrativo de la consultora de seguridad cibernética, ClearSky Cyber Security. "La mayoría de los CISOs no tienen idea de la magnitud del problema que están enfrentando.

El impulso del desarrollo

Una razón por la que la adopción de contenedores está creciendo tan rápido, y con frecuencia sin que se supervise la seguridad, es que los desarrolladores los están utilizando para crear aplicaciones rápidamente.

Y no solo se está ignorando la organización de la seguridad, afirmó Leek. A veces también ocurre que los CIO no están enterados.

Después, cuando las aplicaciones se concluyen, la compañía enfrenta un dilema: ¿colocan los contenedores dentro de producción, o se deshacen de todo el trabajo?

"Después se genera una gran revuelta para asegurar y respaldar al ambiente nuevo, afirmó. "Este es un problema actual muy grande con el que todas las organizaciones tienen que lidiar -así se hayan percatado o no. Podría estar pasando fuera del alcance de su equipo, hasta que se estrella en su cara.

Y no solo se trata de los desarrolladores intentando cumplir con las fechas límite.

"A las personas en finanzas o en negocios que tienen habilidades de desarrollo, les es muy fácil configurar un contenedor para que haga las cosas rápido, afirmó. "Así que la manera en la que concibe el desarrollo tradicional se ve ampliada.

Mientras tanto, el número de proveedores que ofrece herramientas de administración y seguridad pueden contarse con los dedos de las dos manos - y le van a sobrar dedos, afirmó.

"Estamos en la línea de partida, aquí realmente no hemos empezado la carrera, afirmó. "Pero los beneficios son muy significativos, y tan importantes para que los negocios sean capaces de innovar más rápido, que no tenemos más alternativa que aceptarlo.