Aikido

Mejores prácticas de seguridad de contenedores en 2026

Escrito por
Ruben Camerlynck

Desde aplicaciones orientadas al consumidor como Netflix y Spotify hasta plataformas empresariales críticas que gestionan RRHH, finanzas y cadenas de suministro, los contenedores se han convertido rápidamente en la columna vertebral de las soluciones de software modernas.

Sin embargo, a pesar de su adopción masiva, el uso de contenedores también provoca que los equipos de desarrollo pasen por alto importantes medidas de seguridad. A principios de 2025, atacantes publicaron una versión maliciosa del Kong Ingress Controller en Docker Hub tras violar su cadena de suministro, incrustando un criptominero dentro de una imagen en la que confían miles de equipos.

Muchas organizaciones se centran principalmente en el escaneo de imágenes de contenedores, las comprobaciones SCA y la gestión de licencias, pero estos pasos solo abordan una parte del riesgo. Incidentes como el compromiso de Kong requieren estrategias de seguridad que se extiendan mucho más allá del despliegue, incluyendo el seguimiento del fin de vida útil (EOL) y actualizaciones automatizadas tanto para dependencias como para imágenes.

En esta guía, repasaremos las mejores prácticas para asegurar contenedores en cada etapa de su ciclo de vida y proporcionaremos una lista de verificación detallada para resumirlo todo.

¿Qué es la seguridad de contenedores?

La seguridad de contenedores es la práctica de proteger aplicaciones en contenedores a lo largo de todo su ciclo de vida, desde el desarrollo y despliegue hasta el tiempo de ejecución. Dado que los contenedores comparten el kernel del host subyacente y se despliegan en grandes clústeres, cualquier configuración errónea o vulnerabilidad puede convertirse rápidamente en un vector de ataque.

Los programas integrales de seguridad de contenedores implican la validación y el endurecimiento de imágenes, la protección de registros y plataformas Kubernetes, la aplicación del acceso con privilegios mínimos y la detección de comportamientos sospechosos en producción, y eso es solo por nombrar algunos. Requiere un modelo de defensa en profundidad integrado en todo el flujo de trabajo, asegurando el cumplimiento y minimizando tu superficie de ataque.

Desafíos comunes al asegurar contenedores

Las estrategias tradicionales de seguridad de contenedores fallan porque los equipos tratan el escaneo como la meta en lugar de la base, confiando en evaluaciones estáticas y puntuales en lugar de una validación continua.

Aquí hay algunos puntos ciegos clave que los equipos pasan por alto:

  • Imágenes base de fin de vida útil (EOL): Cargas de trabajo que se ejecutan en imágenes base que ya no reciben mantenimiento.

  • Dependencias obsoletas: Contenedores que se ejecutan sin mecanismos automatizados de actualización de dependencias, acumulando vulnerabilidades silenciosamente con el tiempo.

  • Desviación en tiempo de ejecución: Los entornos son dinámicos; los cambios de configuración, los parches temporales y los sidecars inyectados hacen que las cargas de trabajo en ejecución se desvíen de la imagen original.

Principios Fundamentales de la seguridad de contenedores

Para asegurar contenedores de forma efectiva se necesita un enfoque DevSecOps, donde se considera todo el ciclo de vida del contenedor: desde la construcción y el despliegue hasta el tiempo de ejecución y el mantenimiento. Cada etapa tiene requisitos de seguridad únicos y necesita atención constante para mantener una postura de seguridad sólida.

Este proceso continuo se puede agrupar en tres áreas clave:

  • Asegurando la pipeline de construcción: Protegiendo las imágenes de contenedor y la cadena de suministro de software, una buena práctica recomendada por NIST.

  • Asegurando la Configuración y el Despliegue: Asegurando que los contenedores y sus orquestadores estén configurados correctamente.

  • Asegurando el Entorno de Tiempo de Ejecución: Monitorizando y protegiendo contenedores en vivo.

Para un análisis en profundidad concreto sobre la implementación de la seguridad de contenedores, consulta nuestro artículo sobre Seguridad de Contenedores — La Guía Completa.

Mejores Prácticas para Asegurar la pipeline de construcción

Lista de Verificación de Acciones

1. Utiliza Imágenes Base Mínimas y Confiables

Cada pieza de software en una imagen de contenedor aumenta su superficie de ataque. Usar una imagen base grande y de propósito general como el SO completo de Ubuntu introduce innumerables librerías y binarios que tu aplicación probablemente no necesita, muchos de los cuales pueden tener vulnerabilidades conocidas.

Mejores Prácticas a Adoptar:

  • Elige Imágenes Mínimas: Opta por imágenes base "distroless" o "alpine". Las imágenes distroless contienen solo tu aplicación y sus dependencias en tiempo de ejecución, mientras que Alpine Linux ofrece una alternativa mucho más pequeña con funcionalidad básica de Linux.

  • Usa Fuentes Confiables: Extrae imágenes solo de registros reputados como las imágenes oficiales de Docker Hub o registros internos de confianza. Evita usar imágenes públicas de editores desconocidos, ya que podrían contener código malicioso.

  • Fija las Versiones de las Imágenes: En lugar de usar la etiqueta :latest, especifica una versión exacta (por ejemplo, node:18.17.1-alpine). Esto evita que se introduzcan automáticamente cambios disruptivos inesperados o nuevas vulnerabilidades en tus compilaciones.

  • Usa Imágenes Firmadas: Implementa procesos de firma de imágenes (por ejemplo, usando Sigstore/Cosign) para verificar criptográficamente el origen y la integridad de la imagen que estás desplegando.

  • Rastrea Imágenes Base EOL en Tiempo de Construcción: Automatiza tus pipelines de CI para que te alerten automáticamente si la imagen base que estás utilizando ha llegado a su Fin de Vida Útil (EOL).

2. Escanea Imágenes en busca de Vulnerabilidades

Las imágenes de contenedor están compuestas por capas, incluyendo un sistema operativo, librerías del sistema y dependencias de la aplicación. Una vulnerabilidad en cualquiera de estas capas puede ser explotada, lo que lleva a una escalada de privilegios. 

Mejores Prácticas a Adoptar:

  • Integra el Escaneo en CI/CD: Automatiza los escaneos de vulnerabilidades cada vez que se construye una nueva imagen. Esto asegura que los controles de seguridad sean una parte estándar de tu flujo de trabajo de desarrollo.

  • Escanea más allá de los Paquetes del SO: Las herramientas de escaneo efectivas buscan vulnerabilidades en los paquetes del SO (como apt o yum) y en las dependencias de la aplicación (como npm, pip o Maven).

  • Bloquea las Compilaciones Vulnerables: Configura tu pipeline de CI/CD para que la compilación falle si se descubren vulnerabilidades de alta severidad. Esto impone un estándar de seguridad base antes de que el código sea incluso fusionado.

¿Tienes curiosidad sobre las herramientas de escaneo de contenedores? Consulta nuestro artículo sobre Las 13 Mejores Herramientas de Escaneo de Contenedores en 2026.

3. Gestiona las Dependencias de la Aplicación (SCA)

Tu propio código depende de decenas, si no cientos, de paquetes de código abierto. Una sola dependencia vulnerable puede comprometer toda tu aplicación. El análisis de composición de software (SCA) te ayuda a encontrar y gestionar estos riesgos. 

Mejores Prácticas a Adoptar:

  • Generación de SBOM: Una lista de materiales de software (SBOM) es un inventario completo de cada componente de su software. Esto es crucial para el seguimiento de dependencias y para identificar rápidamente el impacto de una vulnerabilidad recién descubierta.

  • Comprobar licencias obsoletas: Las herramientas SCA también pueden escanear en busca de licencias de código abierto no conformes o de riesgo, ayudándole a evitar problemas legales.

  • Priorizar correcciones: Céntrese en las vulnerabilidades que son realmente explotables. Las herramientas modernas pueden analizar si una función vulnerable está siendo invocada en su código, ayudándole a priorizar las amenazas reales sobre las teóricas.

  • Flujos de trabajo de actualización automática de dependencias: Configure flujos de trabajo automatizados para detectar dependencias obsoletas y crear automáticamente pull requests (PR) para actualizarlas a una versión segura.

  • Detección de dependencias EOL: Al igual que las imágenes base, las bibliotecas de aplicaciones tienen fechas de fin de vida útil (EOL). Realice un seguimiento de las dependencias que ya no reciben soporte de seguridad.

Realice un seguimiento de las imágenes base y los runtimes con fin de vida útil (EOL)

Muchas organizaciones se centran en gran medida en el escaneo activo de CVE, pero pasan por alto el riesgo que surge cuando una distribución (como Alpine o Debian) o una versión de runtime (como Python) llega al fin de su vida útil y deja de recibir parches de seguridad. 

Una vez que esto ocurre, cualquier vulnerabilidad descubierta después de la fecha EOL ya no recibirá parches oficiales, y seguir ejecutando estas imágenes también puede hacer que las organizaciones incumplan estándares como PCI DSS y SOC 2.

Abordar estos desafíos requiere adoptar imágenes base endurecidas y mínimas para reducir la superficie de ataque. También requiere el seguimiento del estado EOL en tiempo de compilación. Plataformas como Aikido Security pueden alertar automáticamente a los equipos cuando una imagen en su registro o pipeline de CI/CD se acerca o ha superado su fecha EOL, e incluso proporcionar mecanismos de actualización automática tanto para imágenes estándar como pre-endurecidas.

Mejores prácticas para la implementación y configuración

Una imagen segura aún puede verse comprometida si se implementa con configuraciones débiles. Asegurar el entorno donde se ejecutan sus contenedores es tan importante como asegurar los propios contenedores.

Lista de Verificación de Acciones

1. Aplicar el principio de mínimo privilegio

Los contenedores solo deben tener los permisos que necesitan estrictamente para funcionar. Ejecutar contenedores con privilegios excesivos es una de las configuraciones erróneas más comunes y peligrosas.

Mejores Prácticas a Adoptar:

  • No ejecute contenedores como root: Por defecto, los contenedores se ejecutan como usuario root. Esto es un riesgo importante. Si un atacante obtiene el control del contenedor, tendrá acceso root. Utilice la instrucción USER en su Dockerfile para especificar un usuario no root.

  • Limitar las capacidades del kernel: La configuración predeterminada de Docker otorga a los contenedores una serie de capacidades del kernel. Elimine todas las capacidades innecesarias utilizando el flag --cap-drop=all y añada solo aquellas que sean esenciales (--cap-add=...).

  • Utilice sistemas de archivos de solo lectura: Si un contenedor no necesita escribir datos en su sistema de archivos, ejecútelo en modo de solo lectura (--read-only). Esto evita que los atacantes modifiquen archivos o instalen malware.

  • Implementar perfiles de seguridad: Utilice módulos de seguridad de Linux integrados como los perfiles seccomp (secure computing) o AppArmor/SELinux para definir exactamente qué llamadas al sistema puede realizar un contenedor.

  • Evite montajes de host peligrosos: Nunca monte rutas de host sensibles, especialmente /var/run/docker.sock, en un contenedor. Este archivo otorga un control casi total sobre el demonio de Docker y el sistema host.

2. Asegure su orquestador de contenedores 

Las plataformas de orquestación añaden una capa adicional de riesgo, ya sea que aloje Kubernetes o Docker Swarm por su cuenta, o utilice servicios gestionados. Las plataformas gestionadas como Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) y Google Kubernetes Engine (GKE) minimizan estos riesgos siguiendo un modelo de responsabilidad compartida: estas aseguran la infraestructura subyacente y la capa de orquestación, mientras que los usuarios siguen siendo responsables de proteger sus contenedores y aplicaciones.

Mejores Prácticas a Adoptar:

  • Utilice políticas de red: En Kubernetes, las políticas de red actúan como un firewall para los pods. Por defecto, todos los pods pueden comunicarse entre sí. Utilice políticas de red para restringir el tráfico entre pods, permitiendo solo las conexiones necesarias.

  • Gestione los secretos correctamente: Nunca codifique directamente secretos como claves API, contraseñas o certificados en sus imágenes de contenedor o variables de entorno. Utilice las herramientas de gestión de secretos integradas de su orquestador (por ejemplo, Kubernetes Secrets) o una solución dedicada como HashiCorp Vault.

  • Habilite el control de acceso basado en roles (RBAC): Para Kubernetes, asegúrese de que RBAC esté habilitado para controlar quién puede acceder a la API de Kubernetes y qué permisos tiene. Conceda permisos basándose en el principio de mínimo privilegio.

  • Utilice controladores de admisión: Utilice herramientas de aplicación de políticas como OPA gatekeeper y Kyverno para auditar o bloquear automáticamente las implementaciones que infrinjan las reglas de seguridad de su organización

¿Busca una inmersión más profunda en la seguridad de la orquestación? Consulte nuestro artículo sobre Seguridad de contenedores Docker y Kubernetes explicada.

Uso de IA para corregir automáticamente vulnerabilidades en contenedores

El escaneo tradicional de contenedores identifica vulnerabilidades utilizando bases de datos como CVE y NVD, pero esto a menudo resulta en largas listas de alertas que los equipos de desarrollo tienen dificultades para priorizar. 

La IA aborda este desafío añadiendo contexto a cada hallazgo. Evalúa las alertas para determinar si la función o el componente vulnerable, como una imagen base obsoleta, una instrucción de Dockerfile mal configurada, un contenedor expuesto a internet o un paquete de software, se está utilizando realmente, acelerando la remediación de problemas y mejorando la productividad del desarrollador.

Plataformas como Aikido Security amplían esto ofreciendo funciones de AI-powered AutoFix como correcciones con un clic, PRs automatizados y actualizaciones de imágenes base. Para las imágenes de contenedores que pueden contener cientos de CVEs, su motor de análisis de alcanzabilidad asistido por IA filtra el ruido y destaca las vulnerabilidades que son realmente explotables.

Mejores prácticas para la seguridad y monitorización en tiempo de ejecución

Una vez que sus contenedores están en ejecución, el trabajo no ha terminado. Es necesario monitorizarlos en busca de amenazas y comportamientos anómalos. Según una investigación del Instituto Nacional de Estándares y Tecnología, la monitorización en tiempo de ejecución es un componente clave de las estrategias efectivas de seguridad de contenedores.

Lista de verificación accionable:

  • Rastrear la actividad de red: Monitorice las conexiones de red hacia y desde sus contenedores. Busque conexiones a direcciones IP sospechosas o patrones inusuales de transferencia de datos.

  • Detección de anomalías en tiempo real: Emplee herramientas como Falco y sistemas basados en eBPF para monitorizar syscalls e identificar comportamientos sospechosos de contenedores.

  • Automatizar la monitorización de cumplimiento contra benchmarks: Verifique continuamente el entorno de ejecución contra las mejores prácticas de la industria, como los CIS Kubernetes Benchmarks, para garantizar la higiene de la configuración.

  • Prevención de la fuga de contenedores: Aplique un aislamiento estricto utilizando módulos de seguridad de Linux integrados, como perfiles seccomp (secure computing) y AppArmor, para limitar el acceso de un contenedor al kernel del host.

  • Detección de deriva en tiempo de ejecución: Los cambios no autorizados en los contenedores en ejecución, en comparación con su imagen base o configuración original, indican un posible compromiso o una mala configuración.

  • Escanee regularmente los contenedores en ejecución en busca de nuevas vulnerabilidades: El panorama de las vulnerabilidades cambia a diario; asegúrese de que sus cargas de trabajo en ejecución se escanean y evalúan continuamente en busca de nuevos CVEs.
  • Registre todo: Asegúrese de que todos los eventos y actividades se capturen. Establezca sólidas canalizaciones de registro y alerta para agregar los registros en un sistema central.

Una lista de verificación práctica para la seguridad de contenedores

Aquí tiene una sencilla lista de verificación para ayudarle a implementar estas mejores prácticas de seguridad de contenedores.

Área Tarea Estado
Build y CI/CD Utilice imágenes base mínimas (distroless, alpine)
Extraiga imágenes de registros de confianza y oficiales
Fije las versiones de las imágenes base en lugar de usar :latest
Ejecute contenedores con un usuario no root
Integrar el escaneo de vulnerabilidades de imágenes de contenedores en la CI
Realizar análisis de composición de software (SCA) en las dependencias
Interrumpir las compilaciones con vulnerabilidades críticas
Generar una lista de materiales de software (SBOM) para todas las imágenes
Firmar y verificar todas las imágenes de contenedores para garantizar la procedencia y la integridad
Escanear plantillas de Infraestructura como Código (IaC) (p. ej., manifiestos de Kubernetes) en busca de riesgos de seguridad
Configuración Eliminar capacidades innecesarias del kernel
Montar el sistema de archivos raíz del contenedor como de solo lectura
Utilizar políticas de red para restringir el tráfico entre pods
Almacenar secretos de forma segura (p. ej., Kubernetes Secrets, Vault)
Implementar Control de Acceso Basado en Roles (RBAC) con privilegio mínimo
Aplicar políticas de seguridad utilizando "política como código" en el controlador de admisión
Implementar firewalls específicos para contenedores y segmentación de red
Establecer límites de recursos
Runtime Implementar detección y monitorización de amenazas en tiempo de ejecución
Centralizar y monitorizar los registros de contenedores
Escanear regularmente los contenedores en ejecución en busca de nuevas vulnerabilidades
Monitorizar el acceso al sistema de archivos y la actividad de red en busca de anomalías
Planificar y realizar simulacros regulares de respuesta a incidentes
Automatice el monitoreo de cumplimiento contra puntos de referencia (por ejemplo, CIS Kubernetes Benchmarks)

Conclusión

Dicho todo esto, es importante recordar que la seguridad del código no es una casilla de verificación. No es algo que se configure y se olvide, es una práctica continua. Cada día surgen nuevas amenazas, aparecen nuevos paquetes y afloran nuevos riesgos. La industria ha pasado del escaneo reactivo a la protección proactiva y continua, y los equipos modernos se están adaptando a ello.

Aikido Security lo facilita combinando Pruebas de seguridad de aplicaciones estáticas (SAST) impulsadas por IA, AutoFixes de un solo clic e imágenes Root.io pre-reforzadas, ayudando a los equipos a desplazar la seguridad a la izquierda sin convertirla en un cuello de botella.

¿Quiere visibilidad completa de la postura de seguridad de sus contenedores? Comience su prueba gratuita o reserve una demostración con Aikido Security hoy mismo.

Preguntas frecuentes

¿Cuáles son las mejores prácticas para escanear imágenes de contenedores en busca de vulnerabilidades?

El análisis de imágenes funciona mejor cuando se realiza en múltiples etapas, incluyendo durante las compilaciones, antes del despliegue y dentro de los registros. Los análisis deben cubrir tanto los paquetes del sistema operativo como las dependencias de las aplicaciones, verificar las firmas de las imágenes y aprovechar las imágenes base endurecidas. Plataformas como Aikido Security centralizan el análisis de imágenes y el análisis de dependencias para una gestión más sencilla.

¿Cómo puedo implementar el control de acceso basado en roles (RBAC) para la seguridad de contenedores?

RBAC permite a las organizaciones controlar los permisos asignando roles específicos a usuarios o cuentas de servicio. En Kubernetes, esto implica crear Roles y ClusterRoles y vincularlos con RoleBindings o ClusterRoleBindings. Limitando los permisos solo a lo necesario... Herramientas como Aikido Security proporcionan visibilidad sobre las configuraciones de RBAC y resaltan las configuraciones excesivamente permisivas.

¿Cómo mejoran las políticas de red la seguridad de contenedores en Kubernetes?

Las políticas de red definen cómo se comunican los pods y servicios, lo que permite controlar el flujo de tráfico y reducir el potencial de movimiento lateral después de una brecha. Por defecto, Kubernetes permite todo el tráfico, por lo que establecer políticas de denegación por defecto y especificar reglas de entrada y salida permitidas es fundamental. Plataformas como Aikido Security ayudan a los equipos a implementar una segmentación de red adecuada al señalar políticas faltantes o excesivamente permisivas.

¿Qué herramientas se recomiendan para implementar las mejores prácticas de seguridad de contenedores?

Asegurar contenedores generalmente requiere que múltiples herramientas trabajen juntas: escáneres de imágenes para vulnerabilidades, escáneres de secretos para credenciales sensibles, motores de aplicación de políticas como OPA o Gatekeeper aseguran el cumplimiento, herramientas de seguridad en tiempo de ejecución para vigilar actividades sospechosas, y soluciones CSPM para verificar la configuración de la nube. Plataformas como Aikido Security simplifican los procesos, permitiendo verificaciones automatizadas, alertas y actualizaciones en todo su ecosistema de contenedores.

También le podría interesar:

Compartir:

https://www.aikido.dev/blog/container-security-best-practices

Suscríbase para recibir noticias sobre amenazas.

Empieza hoy mismo, gratis.

Empieza gratis
Escanear Contenedores
Sin tarjeta

Asegura tu plataforma ahora

Protege tu código, la nube y el entorno de ejecución en un único sistema central.
Encuentra y corrije vulnerabilidades de forma rápida y automática.

No se requiere tarjeta de crédito | Resultados del escaneo en 32 segundos.