Resumen ejecutivo del Informe Global sobre Amenazas 2026 de CrowdStrike: el informe definitivo sobre inteligencia de amenazas para la era de la IA Descargar

Descubre el poder de las CNAPP con nuestra guía

Aprende cuáles son las ventajas clave y accede a consejos de integración para las plataformas de protección de aplicaciones nativas de la nube. Mejora tu estrategia de seguridad de la nube.

Descarga la guía ya

Descubre el poder de las CNAPP con nuestra guía

Aprende cuáles son las ventajas clave y accede a consejos de integración para las plataformas de protección de aplicaciones nativas de la nube. Mejora tu estrategia de seguridad de la nube.

Descarga la guía ya

Los contenedores se utilizan habitualmente en el ciclo de vida de las aplicaciones, ya que resuelven el problema de la falta de compatibilidad al permitir que una aplicación se ejecute de forma fiable en diferentes entornos de computación. La seguridad de los contenedores tiene como objetivo protegerlos de las brechas de seguridad en cada etapa del ciclo de vida del desarrollo de aplicaciones.

En este artículo hablaremos del concepto de seguridad de los contenedores y sus principales retos, así como de las mejores prácticas para desarrollar aplicaciones contenedorizadas seguras.

¿Qué es la seguridad de los contenedores?

La seguridad de los contenedores es el proceso continuo de utilizar controles de seguridad para proteger entornos contenedorizados frente a los riesgos de seguridad. Los entornos contenedorizados no solo incluyen los contenedores y las aplicaciones que se ejecutan en ellos, sino también la infraestructura subyacente, como el tipo de ejecución de los contenedores, el kernel y el sistema operativo host.

Según la encuesta de la CNCF de 2021, el 93 % de las organizaciones utilizan contenedores en producción o tienen previsto hacerlo. A esta tendencia se suma el hecho de que las empresas están pasando a arquitecturas nativas de la nube y necesitan satisfacer las demandas de una entrega de aplicaciones más rápida. Así, integrar las mejores prácticas de seguridad de contenedores a lo largo del ciclo de vida de DevOps es fundamental para garantizar la seguridad de las aplicaciones de contenedores y evitar graves brechas de seguridad y sus consecuencias.

cnapp-guide-temp

La guía completa para CNAPP

Descarga la guía completa para CNAPP de CrowdStrike para comprender por qué las plataformas de protección de aplicaciones nativas de la nube son un componente crítico de las estrategias modernas de seguridad en la nube, y aprende a integrarlas en los ciclos de vida de desarrollo.

Descargar ahora

Retos de la seguridad de los contenedores

Los contenedores tienen muchas ventajas que ayudan a acelerar la entrega de aplicaciones, como la portabilidad entre plataformas diferentes y la posibilidad de que aplicaciones autónomas ejecuten procesos en entornos aislados pero compartan el mismo kernel subyacente. Pese a estas ventajas, lo cierto es que los contenedores carecen de capacidades de seguridad propias y consiguen acceso al hardware a través del sistema operativo host. Un solo contenedor puede incluir múltiples imágenes de contenedor subyacentes, lo que introduce nuevas superficies de ataque que presentan desafíos de seguridad únicos, algunos de los cuales abordaremos a continuación.

Errores de configuración de los contenedores

Un error bastante frecuente que cometen los desarrolladores al desarrollar con contenedores es adoptar una mentalidad de "lo configuro y me olvido". Además, podría haber configuraciones predeterminadas no seguras de las que podrían no ser conscientes. Entre los errores de configuración de seguridad más frecuentes se incluyen:

  • Puertos expuestos no seguros que no son necesarios para la aplicación.
  • Filtración de secretos y credenciales, como contraseñas y tokens de autorización.
  • Privilegios de ejecución de contenedores demasiado permisivos, como ejecutar contenedores como root.

Si estos errores de configuración no se revisan antes de la implementación, pueden dejar los contenedores expuestos a una brecha de seguridad o dejar la puerta abierta a ataques de elevación de privilegios.

Vulnerabilidades en la infraestructura de los contenedores

La infraestructura de los contenedores suele estar compuesta del código de las aplicaciones, configuraciones, bibliotecas y paquetes integrados en la imagen del contenedor que se ejecuta dentro del contenedor en el kernel del sistema operativo host a través de la ejecución de un contenedor.

En todas las etapas del ciclo de vida de un contenedor se pueden introducir vulnerabilidades de seguridad a la infraestructura del contenedor, lo que amplía la superficie de ataque que puede aprovecharse durante la ejecución. Las vulnerabilidades también pueden heredarse de dependencias externas integradas en la imagen del contenedor o incluso existir en el tiempo de ejecución del contenedor y el host dentro de la pila.

Además, las imágenes de contenedor pueden heredar vulnerabilidades de seguridad procedentes de los paquetes y las bibliotecas de código abierto como parte de la aplicación, lo que las hace susceptibles de sufrir ataques. A veces, para el desarrollo de las imágenes de contenedor, los desarrolladores recurren a imágenes de base que pueden contener vulnerabilidades de seguridad no intencionadas o que pueden haber sido sustituidas intencionadamente por hackers por una imagen comprometida.

Por último, los contenedores y hosts pueden contener vulnerabilidades susceptibles de ser explotadas a través de redes, hosts y endpoints cuando el contenedor se ejecuta en el kernel del sistema operativo host. En concreto, las vulnerabilidades de escape de contenedores en el kernel del host y el tiempo de ejecución del contenedor pueden abrir la puerta a vectores de ataque que recurran a la elevación de privilegios locales para explotar las vulnerabilidades del host y realizar movimientos laterales en la red, comprometiendo toda tu infraestructura en la nube.

Visibilidad sobre las cargas de trabajo del contenedor

El principal desafío de la seguridad de los contenedores es la visibilidad sobre sus cargas de trabajo. Dado que las cargas de trabajo de los contenedores son altamente dinámicas y, por lo general, efímeras, a los equipos de seguridad les puede resultar difícil monitorizar y rastrear anomalías en la actividad de los contenedores.

Teniendo en cuenta que los problemas de seguridad de los contenedores pueden propagarse rápidamente al resto de contenedores y aplicaciones, es vital disponer de visibilidad sobre la información del tiempo de ejecución, tanto de contenedores y hosts, de modo que los protectores puedan detectar y corregir las vulnerabilidades presentes en los entornos contenedorizados.

Problemas a la hora de proteger las canalizaciones de IC/EC

La seguridad de los contenedores pasa por proteger todas las fases de la canalización de IC/EC, desde el código de la aplicación hasta la infraestructura y las cargas de trabajo del contenedor. Sin embargo, los desarrolladores suelen aplicar las medidas de seguridad al final del ciclo de vida de la aplicación, lo que deja muy poco tiempo para las pruebas de seguridad, ya que los desarrolladores aprovechan hasta el último minuto para cumplir con los ajustados plazos de entrega de las aplicaciones.

Siete mejores prácticas para la seguridad de los contenedores

Por suerte, hay varias formas probadas de sortear los retos arriba mencionados y optimizar la seguridad de los entornos contenedorizados y el ciclo de vida de las aplicaciones en cada fase.

1. Protege las imágenes

Si vas a desarrollar aplicaciones contenedorizadas con imágenes de base procedentes de un registro de contenedores externo, recurre a imágenes de fuentes fiables y almacénalas en un registro privado seguro para minimizar el riesgo de manipulación. Los ciberdelincuentes pueden llegar a comprometer incluso las imágenes de registros fiables, por eso, debes verificar las firmas de la imagen mediante Notary o herramientas similares.

Además, las etiquetas de la imagen pueden cambiar, lo que da lugar, por ejemplo, a que varias imágenes tengan la etiqueta de "latest" en diferentes momentos. Utiliza etiquetas de imagen fijas que sean inmutables, como el digest de la imagen, para garantizar construcciones automatizadas coherentes y evitar ataques que se aprovechen de la mutabilidad de las etiquetas.

Más información

Obtén más información sobre por qué escanear los contenedores y todos sus componentes para detectar posibles amenazas mejorará la protección de tu organización y todos sus recursos contenedorizados.

Escaneo de imágenes de contenedor

2. Administra los secretos de forma segura

Evita almacenar secretos y credenciales en archivos de configuración o código, incluido un Dockerfile. De lo contrario, esta información confidencial se copiará en los contenedores y quedará almacenada en caché en capas intermedias del contenedor cuando el contenedor se elimine. Una mejor práctica habitual para gestionar secretos de forma segura es utilizar un gestor de secretos específico, como Vault o AWS Secrets Manager, para almacenar y gestionar secretos y credenciales.

3. Restringe los privilegios de los contenedores en ejecución

El principio del mínimo de privilegios se refiere a conceder únicamente el nivel mínimo de permisos necesarios para que un usuario realice una tarea determinada. Este principio es un aspecto clave para la seguridad y también se aplica a la seguridad de los contenedores en tiempo de ejecución.

Los contenedores suelen ejecutarse como un usuario con privilegios de root para permitir diversas operaciones del sistema dentro del contenedor, como la instalación de paquetes y las operaciones de lectura y escritura en los archivos de configuración del sistema. Sin embargo, ejecutar contenedores con privilegios de root genera un riesgo notable para la seguridad, ya que abre la puerta a que los ciberdelincuentes puedan recurrir a la elevación de privilegios dentro del contenedor si el tiempo de ejecución del contenedor queda comprometido.

Por ello, para mitigar las vulnerabilidades en el kernel del host y el tiempo de ejecución del contenedor, resulta imprescindible restringir los privilegios del contenedor en ejecución. Una opción para conseguirlo es ejecutar los contenedores en modo sin privilegios de root, lo que permite que se ejecuten como usuarios no root. Otra opción es limitar las capacidades del kernel de Linux a las explícitamente necesarias, eliminando todas las capacidades predeterminadas y añadiendo solo las imprescindibles para la carga de trabajo del contenedor.

4. Identifica y corrige los errores de configuración de seguridad

Si detectas errores de configuración de seguridad durante la creación de las imágenes de contenedor, podrás corregir las vulnerabilidades antes de implementar aplicaciones contenedorizadas en producción. Este proceso pasa por comprobar los parámetros de configuración mediante análisis de configuración estáticos, que pueden resultar tediosos y son propensos a error si se realizan de forma manual.

Herramientas de seguridad de la nube como la gestión de la posición de seguridad de la nube (CSPM) de CrowdStrike Falcon Horizon™ simplifican la gestión de las configuraciones de seguridad al comparar las configuraciones con las referencias y proporcionar correcciones guiadas que permiten a los desarrolladores mitigar los riesgos de seguridad derivados de cualquier error de configuración.

5. Automatiza el escaneo y la gestión de vulnerabilidades

Automatizar el escaneo y la gestión de vulnerabilidades en la canalización de IC/EC te permite detectar vulnerabilidades de seguridad en todas las etapas del ciclo de vida del contenedor, así como mitigar los riesgos de seguridad antes de que ocurran.

En el escaneo de código, se analiza el código de la aplicación en busca de vulnerabilidades de seguridad y errores en el código. Las pruebas estáticas de la seguridad de las aplicaciones (SAST) detectan vulnerabilidades en el código de la aplicación. Por otra parte, el análisis de composición de software (SCA) ofrece visibilidad sobre los componentes de código abierto en la compilación de la aplicación al generar una lista de materiales de software (SBOM) y comparar los componentes con bases de datos de vulnerabilidades de código abierto conocidas.

En el escaneo de imágenes se analizan los contenidos y el proceso de desarrollo de las imágenes del contenedor en busca de vulnerabilidades. Puedes llevarlo a cabo con herramientas de análisis estáticos, como Clair, que escanea cada capa para detectar vulnerabilidades de seguridad conocidas, o recurrir a herramientas de análisis dinámicos, como CrowdStrike Container Security, que detectan riesgos para la seguridad rastreando el comportamiento de un contenedor en ejecución.

Por último, pero no por ello menos importante, el escaneo del host implica inspeccionar los componentes del host del contenedor, incluidos el sistema operativo y el kernel del host, en busca de errores de configuración y vulnerabilidades en tiempo de ejecución. Para este tipo de análisis, los desarrolladores utilizan pruebas dinámicas de la seguridad de las aplicaciones (DAST), una prueba de caja negra que detecta vulnerabilidades a través de ataques simulados en la aplicación contenedorizadas.

6. Configura procesos de registro, monitorización y alerta en tiempo real

Para mejorar la visibilidad sobre las cargas de trabajo de los contenedores, es imprescindible utilizar herramientas de observabilidad que habiliten el registro de eventos, la monitorización y las pruebas en tiempo real con el objetivo de detectar vulnerabilidades en todos los componentes del entorno contenedorizado. Puedes detectar amenazas de seguridad en los contenedores auditando logs y métricas de diferentes fuentes en la pila de contenedores, así como analizando los detalles y la actividad de los contenedores en busca de comportamientos anómalos en el sistema.

Contar con procesos de registro, monitorización y alertas en tiempo real te proporciona visibilidad, detección continua de amenazas y control permanente del cumplimiento para garantizar que las vulnerabilidades y los errores de configuración se rectifican nada más ser detectados.

7. Adopta la seguridad shift-left

En lugar de adoptar un enfoque shift-right que aborda la seguridad de las canalizaciones de IC/EC en las últimas fases, lo recomendable es adoptar un enfoque más proactivo que desplace la seguridad a la izquierda, es decir, al inicio del proceso.

La seguridad shift-left se refiere a la práctica de trasladar la seguridad a las primeras fases del ciclo de vida de desarrollo de aplicaciones. Permite a los desarrolladores entregar aplicaciones de contenedor seguras sin ralentizar el proceso de desarrollo de aplicaciones, ya que los equipos tienen tiempo para identificar y resolver problemas o vulnerabilidades desde el inicio. La integración del análisis de vulnerabilidades en cada etapa de la canalización de IC/EC reduce el número de problemas en producción y hace posible que los equipos de DevOps y seguridad trabajen en paralelo, lo que acelera la entrega de aplicaciones sin mermar la seguridad de los contenedores.

Conclusión

La implementación de las mejores prácticas de seguridad de contenedores implica proteger cada etapa del ciclo de vida del contenedor, empezando por el código de la aplicación y yendo más allá del tiempo de ejecución del contenedor. Como la seguridad de los contenedores es un proceso continuo y las amenazas para la seguridad evolucionan con el tiempo, los servicios y productos de CrowdStrike para la seguridad de los contenedores te ofrecen la posibilidad de implementar gradualmente algunas de estas prácticas.

Guilherme (Gui) Alvarenga es Senior Product Marketing Manager de la cartera de seguridad en la nube en CrowdStrike. Cuenta con más de 15 años de experiencia en el fomento de soluciones en la nube, SaaS, red y ML para empresas como Check Point, NEC y Cisco Systems. Se graduó en publicidad y marketing en la Universidad Paulista de Brasil y obtuvo un máster en dirección y administración de empresas en la Universidad Estatal de San José. Estudió informática aplicada en la Universidad de Stanford y se especializó en seguridad en la nube y Threat Hunting.