Saltar al contenido principal

¿Qué es la seguridad de contenedores y por qué es importante?

La seguridad de contenedores es la práctica de proteger las aplicaciones en contenedores y la infraestructura de contenedores (Kubernetes y otros orquestadores, registros de imágenes, etc.) a lo largo de la canalización de CI/CD.

¿Por qué las organizaciones necesitan seguridad para contenedores?

Los contenedores ayudan a los equipos a acelerar el tiempo de comercialización y a aumentar la agilidad, la escalabilidad y la tolerancia a fallos; sin embargo, esa velocidad y portabilidad también concentran el riesgo en el ciclo de vida de entrega de software. Una vulnerabilidad en una imagen base, un secreto expuesto, un manifiesto de Kubernetes mal configurado o unos permisos excesivos en el clúster pueden generar riesgos en distintas etapas del pipeline, especialmente, cuando los controles son débiles.

Para los equipos empresariales, esto es importante porque la seguridad de los contenedores no es solo un problema de tiempo de ejecución. Afecta a la integridad del software, la resiliencia operativa, el cumplimiento y la respuesta ante incidentes.

En la práctica, la seguridad avanzada de los contenedores abarca el almacenamiento de imágenes, el desarrollo, la implementación, la detección en tiempo de ejecución, la corrección y la respuesta ante incidentes, en lugar de actuar como un control de tiempo de ejecución limitado. La seguridad avanzada de los contenedores abarca el almacenamiento de imágenes, el desarrollo, la implementación, la orquestación, la detección en tiempo de ejecución, la reparación y la respuesta a incidentes, en lugar de actuar como un control de tiempo de ejecución estrecho.

¿Qué abarca la seguridad de los contenedores?

La seguridad de los contenedores generalmente abarca cinco capas.

  1. Imágenes y dependencias: los equipos deben saber qué hay dentro de una imagen de contenedor, si incluye vulnerabilidades conocidas, secretos incrustados, paquetes desactualizados o componentes innecesarios. El análisis de imágenes es una importante primera línea de defensa, pero es solo una parte del panorama. Los equipos también deben gestionar la procedencia de las imágenes, la aplicación de parches y el uso de imágenes base aprobadas.
  2. Registros y almacenes de artefactos: una imagen segura no basta si el propio registro carece de controles adecuados. El control de acceso, el análisis y la procedencia son importantes porque los registros son puntos de distribución del software que pasa a producción. Un proceso deficiente de control de entrada puede socavar unas prácticas de construcción que, por lo demás, serían sensatas.
  3. Orquestación y configuración: en entornos Kubernetes, la seguridad depende en gran medida de las definiciones de carga de trabajo, el control de acceso basado en roles (RBAC), el control de admisión, la aplicación de políticas y la segmentación de red. El riesgo suele provenir de lo que se permite ejecutar y del nivel de acceso que se concede, no solo de lo que contiene la imagen.
  4. Comportamiento del tiempo de ejecución: la supervisión del tiempo de ejecución también es importante, ya que la actividad sospechosa dentro de los contenedores y las vulnerabilidades en las aplicaciones en ejecución pueden no ser visibles durante la fase de compilación. Un contenedor que parecía seguro en el momento de la compilación aún puede comportarse de forma inesperada durante la producción.
  5. Hosts, nodos e infraestructura circundante: los contenedores comparten el kernel del host, por lo que el endurecimiento de los nodos y el aislamiento en tiempo de ejecución siguen siendo importantes. Los sistemas operativos host, los componentes de tiempo de ejecución y la infraestructura del clúster siguen siendo parte de la superficie de ataque en entornos con contenedores.

¿Dónde suele manifestarse el riesgo asociado a los contenedores en entornos reales?

En la práctica, el riesgo asociado a los contenedores rara vez comienza con un fallo espectacular. Con mayor frecuencia, aparece como una cadena de debilidades menores. Un equipo puede utilizar una imagen base sobredimensionada, pasar por alto un secreto incluido en un artefacto de compilación, otorgar permisos excesivamente amplios en un manifiesto de despliegue y, luego, implementar la carga de trabajo en un clúster con una aplicación deficiente de las políticas de seguridad. Ningún paso parece catastrófico por sí solo, pero juntos crean un camino mucho más fácil para el riesgo o el uso indebido.

Por este motivo, la seguridad de los contenedores debe tratarse como una disciplina del ciclo de vida. Los equipos de seguridad no pueden depender de un punto de control para compensar los procesos débiles en otros lugares. Una imagen analizada no elimina los riesgos derivados de permisos inseguros en tiempo de ejecución. Un clúster reforzado no resuelve un secreto expuesto en el pipeline. Los controles deben funcionar juntos.

¿Por qué es importante la seguridad de los contenedores en este momento?

La seguridad de los contenedores es importante porque los contenedores ya no son una infraestructura de nicho, sino que se han convertido en un componente estándar del desarrollo y la entrega de aplicaciones modernas, especialmente, en entornos nativos de la nube, donde las aplicaciones se desarrollan, implementan y actualizan de forma continua.

También es importante porque los contenedores reducen la distancia entre el desarrollo y la producción. Un problema introducido en un Docker file, un gráfico de Helm o una plantilla de infraestructura como código puede convertirse rápidamente en un problema de producción si el pipeline carece de mecanismos de protección. Por eso, los programas consolidados de seguridad de contenedores trasladan los controles de seguridad a las primeras etapas del ciclo de desarrollo, pero no se detienen ahí. Combinan comprobaciones en tiempo de compilación, controles de implementación y visibilidad en tiempo de ejecución. En la práctica, eso significa añadir controles de calidad para imágenes y código de infraestructura, y luego, mantener la visibilidad de la actividad del contenedor después de la implementación.

¿Qué hace que la seguridad de los contenedores sea un desafío?

El principal desafío no es la falta de herramientas, es la cantidad de equipos y procesos involucrados. El desarrollo, la ingeniería de plataformas, las operaciones en la nube, DevOps y la seguridad influyen en el resultado. Si la asignación de responsabilidades no está clara, los controles son inconsistentes o las verificaciones de seguridad llegan demasiado tarde para ser prácticas, el riesgo se acumula rápidamente.

Los contenedores también cambian el ritmo del trabajo de seguridad. Los entornos son más dinámicos, las cargas de trabajo son más efímeras y la frecuencia de implementación suele ser mucho mayor. Eso hace que la visibilidad, la automatización y la coherencia de las políticas sean más importantes de lo que eran en entornos más lentos y centrados en el servidor.

Dónde se equivocan las organizaciones

El error más común es considerar la seguridad de los contenedores únicamente como el análisis de imágenes. El análisis de imágenes es importante, pero no resuelve una configuración de carga de trabajo insegura, un control de acceso débil, una aplicación deficiente de las políticas o un comportamiento en tiempo de ejecución sospechoso.

Otro error es suponer que los contenedores son seguros de manera predeterminada porque son efímeros. La naturaleza efímera puede limitar la persistencia, pero también puede dificultar la visibilidad y el análisis forense si el registro de eventos, el inventario y la supervisión son deficientes.

Un tercer error es abordar la seguridad de los contenedores demasiado tarde. Si la primera conversación seria sobre seguridad ocurre justo antes de la implementación, el equipo ya se encuentra en una posición difícil.

Una buena seguridad de los contenedores funciona mejor cuando comienza antes y se mantiene durante todo el ciclo de vida.

Conclusión clave

La seguridad de contenedores es la disciplina que consiste en proteger las aplicaciones y la infraestructura de contenedores a lo largo de todo su ciclo de vida, y no solo en analizar imágenes antes de la implementación. Las organizaciones que lo hacen bien combinan controles de la cadena de suministro de software, endurecimiento de la configuración, acceso con privilegios mínimos, aplicación de políticas y visibilidad en tiempo de ejecución.


La seguridad de los contenedores debe proteger más que las imágenes. Kaspersky Container Security ayuda a asegurar el ciclo de vida completo de las aplicaciones en contenedores, desde el desarrollo hasta la operación, con protección para imágenes de contenedores, contenedores en ejecución, orquestación, cumplimiento y recursos del clúster.

Explorar

Fuentes y lecturas adicionales:

¿Qué es la seguridad de contenedores y por qué es importante?

La seguridad de contenedores es la práctica de proteger las aplicaciones en contenedores y la infraestructura de contenedores (Kubernetes y otros orquestadores, registros de imágenes, etc.) a lo largo de la canalización de CI/CD.
Kaspersky logo

Artículos relacionados