Diseño de seguridad para aprovechar los beneficios de los contenedores

Los contenedores se han convertido rápidamente en una parte fundamental de DevOps. Su naturaleza liviana y portátil los hace atractivos para organizaciones de todos los tamaños, desde pequeñas empresas nuevas que intentan reducir costos hasta grandes empresas multimillonarias que desean garantizar la disponibilidad del servicio.

En comparación con la virtualización tradicional basada en hipervisor, los contenedores no se ven abrumados por el hardware emulado ni por la sobrecarga que genera la replicación de un sistema operativo completo. Esto hace que los contenedores sean más rápidos de girar, más fáciles de transportar y considerablemente más escalables.

Como resultado, las máquinas virtuales se ven eclipsadas por la adopción generalizada de contenedores, y las tendencias no parecen mostrar signos de que esta popularidad disminuya.

Virtualización basada en hipervisor frente a basada en contenedores

El diseño es clave para brindar ventajas de escalabilidad, velocidad y seguridad

Según una investigación de DataDog, la cantidad de pods de Kubernetes que se implementaron se duplicó entre 2019 y 2021. Esto, combinado con el aumento de contenedores con estado, implica que más organizaciones están migrando sus aplicaciones monolíticas tradicionales a Kubernetes, lo que para muchas significa pasar a un enfoque de desarrollo basado en microservicios.

Cambiar a una arquitectura de microservicios puede brindar más flexibilidad y, si se administra correctamente, mayor seguridad. Esto se debe a la naturaleza de la arquitectura, donde cada servicio recibe recursos para cumplir con sus propios requisitos y se trata como una entidad separada. Esto permite editar o eliminar servicios con poco impacto en el resto de la aplicación.

Es probable que un atacante que obtenga acceso a una aplicación monolítica tenga acceso a todos los recursos que contiene, pero en una solución en contenedores, puede estar restringido a un solo módulo. Los contenedores también permiten la renovación continua de la aplicación, liberándola de vulnerabilidades con poco impacto en la experiencia del usuario.

Más contenido para leer:  The outlook for open source? Growing, but there are challenges

Una cosa a tener en cuenta al aumentar la cantidad de pods en un grupo determinado es el peligro de la expansión de contenedores. Tener contenedores separados para todo puede ser atractivo por las razones mencionadas anteriormente, pero esto puede ser exagerado. Demasiados contenedores pueden conducir a una falta de observabilidad y dificultar la resolución de problemas. Esto puede crear rutas de ataque no intencionales, ya que los usuarios maliciosos pueden explotar los contenedores heredados que se han olvidado.

Arquitecturas monolíticas frente a microservicios

Inversión en seguridad por parte de los proveedores de la nube

Otra tendencia reciente, que se siente como un resultado natural de una mayor adopción de contenedores, es el cambio hacia soluciones de contenedores más administradas y el uso de productos como AWS Fargate. Las soluciones de orquestación de contenedores, como Kubernetes, son conocidas por ser complicadas de mantener y, a menudo, requieren una gran inversión de tiempo para configurar los clústeres de manera competente.

Tener su clúster orquestado para usted por un proveedor de la nube hace que la implementación sea más rápida y sencilla que los métodos tradicionales de autogestión. Sin embargo, siempre está sujeto al modelo de responsabilidad compartida de los proveedores, y la seguridad de los contenedores siempre será responsabilidad de su equipo.

Vulnerabilidades y exposiciones comunes

El atractivo de que los contenedores puedan “ejecutarse en la máquina de cualquier persona” es un arma de doble filo porque significa que también son vulnerables en la máquina de cualquier persona. Tal vez en parte debido a su facilidad y popularidad, los contenedores suelen ser el objetivo de los atacantes y todo el software relacionado con ellos tiene una cantidad considerable de vulnerabilidades y exposiciones comunes (CVE). Estas vulnerabilidades pueden estar en cualquier parte del contenedor, desde la imagen hasta el propio tiempo de ejecución, pasando por las aplicaciones de terceros que se ejecutan en su interior.

Más contenido para leer:  Vodafone inicia una importante migración de sistemas SAP de tres años a Google Cloud

Un ejemplo clave de esto es mirar los CVE para Docker en 2020. Los 32 tienen un puntaje del Sistema de puntuación de vulnerabilidad común (CVSS) de 10.0 y se relacionan con el mismo problema para imágenes oficiales separadas de Docker. Todas estas imágenes no tenían contraseñas de administrador por defecto; si un desarrollador decidiera no establecer su propia configuración de seguridad en estas imágenes, entonces un usuario malintencionado podría escalar fácilmente sus privilegios para explotar todo el clúster.

Incluso cuando se consideran imágenes de repositorios acreditados, se pueden extraer muchas bibliotecas de terceros, lo que aumenta el riesgo de la cadena de suministro. Para estas situaciones, tener controles establecidos para desmantelar, crear una lista de materiales de software (SBOM) y verificar cada componente, se convierte en un requisito obligatorio.

Además, las canalizaciones de desarrollo deben verificar automáticamente que los contenedores se desarrollen de forma segura y, cuando sea necesario, hacer cumplir la política de seguridad de la organización. Todo esto debe llevarse a cabo de forma autónoma, dependiendo en gran medida de la implementación de medidas de seguridad, la automatización de la seguridad mediante agentes de políticas y la aplicación del tiempo de ejecución.

Diseño de seguridad para aprovechar todos los beneficios de los contenedores

Los contenedores no van a desaparecer pronto, y esto no es algo malo. La contenedorización brinda muchos beneficios para todo tipo de aplicaciones, pero la seguridad no debe sacrificarse por conveniencia. Las organizaciones deben asegurarse de que, independientemente de cómo se gestionen sus contenedores, comprendan y construyan cuidadosamente el entorno adecuado, con los controles adecuados para gestionar el riesgo.

Más contenido para leer:  Kao Data obtiene hasta 130 millones de libras esterlinas en fondos para financiar expansiones de centros de datos de colocación

Las medidas básicas, como el uso de software/imágenes base verificadas de terceros y/o imágenes y bibliotecas firmadas, asegurando una observabilidad profunda y actualizaciones automáticas aseguran que no haya ningún contenedor de “eslabón débil” que pueda proporcionar un punto de pivote para los atacantes.

Siempre que los conceptos básicos de seguridad de contenedores estén integrados en su entorno de desarrollo y tiempo de ejecución desde el principio, los servicios y aplicaciones en contenedores pueden proporcionar un logro rápido (y seguro) de los objetivos comerciales.

Mairi MacLeod y Farrukh Ahmad son expertos en seguridad cibernética en PA Consulting

Nuestro objetivo fué el mismo desde 2004, unir personas y ayudarlas en sus acciones online, siempre gratis, eficiente y sobre todo fácil!

¿Donde estamos?

Mendoza, Argentina

Nuestras Redes Sociales