¿En qué consiste la contenerización de aplicaciones y cómo influye en la ciberseguridad?

Tiempo de lectura: 3 minutos

Esta tendencia puede ayudar a proteger la red corporativa de las empresas.

¿En qué consiste la contenerización de aplicaciones y cómo influye en la ciberseguridad?

La contenerización no solo es una base muy interesante de DevOps sino que también es una respuesta a varias cuestiones operativas críticas de desarrollo. Para los desarrolladores, construir un software una vez, empaquetarlo y ejecutarlo en cualquier lugar, independiente de las versiones de la biblioteca, dependencias o hardware subyacente y sistema operativo es un desafío.

Para el equipo de operaciones, la configuración de un ambiente que pueda ejecutar cualquier aplicación nueva, constantemente es reconfortante, de manera que, cuando la aplicación entra en producción, el sistema es seguro y puede ser confiable para funcionar sin problemas. Por otro lado, para el equipo de producción, implementar un nuevo paquete representa un gran ahorro de tiempo.

Para todos esos profesionales, los contenedores están ayudando a hacer un sueño en realidad.

 

 

Pero, ¿qué son los contenedores?

A pesar de que, los contenedores sean una tendencia, no son una tecnología tan reciente. Se utiliza desde hace muchos años, principalmente en Linux como LXC. Los contenedores son paquetes de software portátiles y ligeros con todo lo que es necesario en el momento de ejecución de una aplicación: código, herramientas de sistema y bibliotecas.

Sin importar la similitud de esa tecnología con las máquinas virtuales (VM), los contenedores son mucho menores y más eficientes. Junto con la propia aplicación, una VM incluye la sobrecarga de todo el sistema operativo huésped, sistemas binarios y bibliotecas, además de un hypervisor para supervisión en el servidor. Un contenedor es un paquete mucho más ligero (imagine 20Mb en lugar de 20Gb), que comparte el kernel del sistema operativo a través de llamadas API con otros contenedores en un anfitrión.

Los contenedores son un medio para mover e implementar aplicaciones de forma consistente en diferentes entornos, porque esa tecnología incluye todo el ambiente de tiempo de ejecución necesario para la aplicación -bibliotecas, dependencias, archivos de configuración, y más.- eliminando las diferencias en las distribuciones del sistema operacional y garantizando que el software siempre ejecutará de la misma forma, independientemente del ambiente.

 

Los beneficios de los contenedores

Los contenedores son pequeños, eficientes y altamente dinámicos. Pueden iniciar o terminar rápidamente y pueden funcionar por horas o por días. Además, pueden ser sustituidos fácilmente.

Cada vez se utilizan con mayor frecuencia servicios de la Web, como el Google Apps. Esa tecnología facilita el desarrollo de aplicaciones de la web que son compuestos por cientos de microservicios, sustituyendo al backend monolítico. Los microservicios aceleran el desarrollo, separando la funcionalidad para la eficiencia y mantenimiento.

La contenerización provee aislamiento para los microservicios de otros procesos, un mecanismo de implantación leve, un paquete desnacionalizado y la capacidad de construir y reconstruir servicios durante la ejecución del mismo. Los contenedores contribuyen para una entrega de aplicaciones más fácil y rápida y para una implantación más ágil y confiable. Cientos de contenedores pueden ser ejecutados en apenas un servidor, economizando un valioso presupuesto de la Base de Datos. Además, se puede ejecutar la tecnología desde casi cualquier computadora, infraestructura o la Nube, y la gestión es mucho más sencilla para los operadores.

La seguridad de los contenedores

Como los contenedores no son aislados unos de los otros en el mismo grado que las máquinas virtuales en un host compartido, y debido al hecho que los contenedores generalmente no son verificados para vulnerabilidades antes o después de ser implantados en la producción, los profesionales de seguridad de la información generalmente los consideran menos seguros que las VM. Una vulnerabilidad en un kernel de un sistema operativo compartido puede potencialmente proveer un camino para un contenedor. Los scans activos pueden no encontrar la mayoría de ellos.

Otro punto es que los contenedores normalmente tampoco incluyen el daemon SSH (un protocolo criptográfico de red para operar servicios de red de manera segura en una red no segura), por lo tanto, los scans acreditados no funcionan con la mayoría de ellos. Los microservicios y contenedores pueden introducir centenas de endpoints y reducir la visibilidad de los riesgos de seguridad.

 

Fuentes:

https://en.wikipedia.org/wiki/Secure_Shell
http://searchitoperations.techtarget.com/definition/application-containerization-app-containerization
http://www.cio.com/article/2924995/enterprise-software/what-are-containers-and-why-do-you-need-them.html

 

Contenidos relacionados