BLOG

La encuesta dice: La seguridad de los contenedores (aún) es motivo de preocupación

Miniatura de Lori MacVittie
Lori MacVittie
Publicado el 17 de diciembre de 2019

El uso de contenedores continúa creciendo. Ya sea que se trate de aplicaciones nativas de la nube y sin servidor, o de un deseo de modernizar monolitos, los contenedores se están convirtiendo rápidamente en la plataforma preferida para implementar aplicaciones.

Sysdig publicó recientemente su informe de uso de contenedores de 2019 basado en datos recopilados de clientes de sus servicios locales y de nube pública. Los datos cubrieron más de dos millones de contenedores.

Además del descubrimiento realmente emocionante (si eres como yo) de que el 60% de esos contenedores ejecutan NGINX, Sysdig descubrió algunas estadísticas de seguridad bastante preocupantes.

Considere esto: El 54% de los contenedores duraron menos de cinco minutos. En 2018, esto fue cierto solo para el 20%.

¿Por qué es esto preocupante? Seguridad, por supuesto. Si está intentando proteger el acceso (y debería hacerlo) y proteger la aplicación o API que se ejecuta en ese contenedor, debe asegurarse de que sus servicios de seguridad ajusten constantemente las políticas para que coincidan con el estado actual del clúster. Esto significa que las políticas deben aplicarse a los contenedores cuando se lanzan y eliminarlas cuando se dan de baja. Se están produciendo muchos cambios, lo que implica una gran sobrecarga operativa. Es bastante difícil lograr la seguridad correcta en una aplicação relativamente estática. Es realmente difícil hacerlo a gran velocidad con algo tan volátil.

Si eso no le molesta, pruebe esta estadística: aunque el 60% de las imágenes de contenedores se extraen de registros privados (¡buen trabajo!), el 52% de ellos fallan en los escaneos de imágenes. Esto significa que tenían vulnerabilidades conocidas con una severidad alta o mayor.

Puaj. Ni siquiera puedo.

Resulta que muchísimas personas están ejecutando el contenedor como root (media por host: 21) o en modo privilegiado (mediana por host: 4). Otros no tienen privilegios restringidos (una media de 28 por host). Esto es particularmente frustrante ya que Docker (el entorno de ejecución de contenedores más común) comienza con un conjunto restringido de capacidades de manera predeterminada. Eso significa que alguien cambió intencionalmente la configuración de seguridad predeterminada. Ejecutarse sin restricciones puede dar como resultado la capacidad de escalar privilegios o salir del contenedor (lo que permite el acceso al sistema). 

Ahora haremos una pausa para recordar los conceptos básicos de seguridad de los contenedores:

  • Cierre la puerta. La autenticación no es opcional. Asegúrese de exigir credenciales sólidas y rotarlas con frecuencia. Utilice la autenticación de dos factores siempre que sea posible, especialmente para el acceso privilegiado a las consolas de orquestación y a la infraestructura crítica.
  • Esconde tus objetos de valor. No comparta inadvertidamente secretos (como claves y credenciales) en un repositorio o una fuente compartida de fácil acceso.
  • Filtra tus llamadas. No todas las solicitudes son válidas y algunas contienen código malicioso. Ya sea una aplicación o un servicio de infraestructura, inspeccione y evalúe el contenido para detectar intenciones maliciosas. Optimice consolidando el escaneo con terminación SSL/TLS para compensar la ligera pérdida de rendimiento.
  • Parche los agujeros. Si sabe que una imagen, un servicio, una carga de trabajo u otro componente es vulnerable, parcheelo. Esto es especialmente cierto en el caso de las vulnerabilidades en componentes de origen externo porque son objetivos de alto perfil. Esto se debe a que es un campo rico en oportunidades cuando una vulnerabilidad aparece en aplicações o infraestructura comúnmente implementadas como Apache Struts y requiere poca inversión por parte de un atacante para encontrarla y explotarla.

Es absolutamente fundamental para la seguridad de las aplicaciones (y, por lo tanto, del negocio) que las buenas prácticas de seguridad de contenedores se pongan en práctica. Nuestro próximo informe Estado de los servicios de aplicação 2020 descubrió que los microservicios/nativos de la nube comprenden en promedio el 15 % de una cartera de aplicaciones empresariales. Ese porcentaje se da a pesar de los hallazgos que indican que existen largos retrasos en la tramitación de nuevas aplicações. Esto significa que las aplicaciones en contenedores solo crecerán. Y si no podemos proteger un pequeño porcentaje de aplicaciones, ¿cómo podemos esperar escalar para proteger un porcentaje significativo de ellas?

Practique la contenedorización segura.

Si está interesado en repasar los conceptos básicos de seguridad de contenedores, consulte esta serie basada en la experiencia de mi colega de F5, Jordan Zebor:

  1. Conceptos básicos de seguridad de los contenedores: introducción
  2. Conceptos básicos de seguridad de contenedores: Tubería
  3. Conceptos básicos de seguridad de los contenedores: orquestación
  4. Conceptos básicos de seguridad de los contenedores: carga de trabajo
  5. Conceptos básicos de seguridad de los contenedores: conclusión