¿Qué es la seguridad de contenedores?

La seguridad de contenedores es:

La seguridad de contenedores es el proceso de implementación de políticas y herramientas de seguridad para garantizar que todo lo relativo a su contenedor funciona como debería, incluida la protección de infraestructura, la cadena de suministro de software, el tiempo de ejecución y todo lo demás.

Seguridad de contenedores

La seguridad de contenedores es el proceso de implementación de políticas y herramientas de seguridad para garantizar que todo lo relativo a su contenedor funciona como debería. Esto incluye la protección de la infraestructura, la cadena de suministro de software, el tiempo de ejecución y todo lo demás.

En este sentido, el proceso de protección de contenedores es un proceso continuo. Se debería integrar en su proceso de desarrollo, de forma automatizada para eliminar los puntos de contacto manuales y extendida en el mantenimiento y la operación de la infraestructura subyacente. Esto implica la protección de sus imágenes de contenedor en la canalización de desarrollo, de la plataforma del host en tiempo de ejecución y las capas de aplicación. La implementación de la seguridad como parte del ciclo de vida de entrega continua implica la reducción del riesgo y de las vulnerabilidades de su empresa en la siempre cambiante superficie de ataque.

Cuando se trata de proteger los contenedores, las principales inquietudes giran en torno a:

  • La seguridad del host del contenedor
  • El tráfico de red del contenedor
  • La seguridad de su aplicación en el contenedor
  • El comportamiento malicioso en su aplicación
  • La protección de su pila de administración de contenedores
  • Las capas principales de su aplicación
  • La integridad de la canalización de desarrollo

El objetivo de la ciberseguridad es garantizar que todo lo que desarrolle siempre funcione como debería.

Familiarícese con algunos de los nombres que las empresas utilizan para las necesidades de los contenedores: Docker®, Kubernetes®, Amazon Web Services™ (AWS) y Microsoft®.

Protección del Docker

Antes de que comience a proteger sus contenedores, necesita conocer los principales agentes en los contenedores. Docker, un líder en el mercado de contenedores, proporciona una plataforma de contenedores para desarrollar, administrar y proteger aplicaciones. Desde las aplicaciones tradicionales hasta los microservicios más recientes, Docker permite que los clientes los implementen en cualquier lugar. Al igual que ocurre con cualquier otra plataforma de contenedores, necesita asegurarse de que cuenta con la protección adecuada. Obtenga más información acerca de la seguridad de contenedores de Docker.

Protección de Kubernetes

Kubernetes es el siguiente nombre importante que conocer. Kubernetes proporciona una plataforma de código abierto, extensible y portátil para la gestión de servicios y workloads en contenedores. Si bien Kubernetes ofrece funciones de seguridad, necesita una solución de seguridad dedicada para que le proteja, dado que ha habido un aumento de los ataques en clústeres de Kubernetes. Obtenga más información acerca de la protección de Kubernetes.

Seguridad de contenedores y Amazon Web Services (AWS)

El siguiente en la lista es AWS. AWS comprende la necesidad de contenedores y su capacidad para empoderar a desarrolladores para entregar aplicaciones más rápido y más uniforme. Es por ello que ofrecen Amazon Elastic Container Service (Amazon ECS), un servicio de orquestación de contenedores de alto rendimiento y escalable que admite contenedores de Docker, elimina las dependencias en la gestión de su propias máquinas virtuales y entorno de contenedores, y le permite ejecutar y escalar aplicaciones en contenedores en AWS con gran facilidad. Sin embargo, al igual que los otros agentes mencionados anteriormente, es necesario contar con seguridad para obtener todos los beneficios de este servicio. 

Protección de las instancias de contenedores de Microsoft Azure

Por último, pero no por ello menos importante, tenemos a Microsoft® Azure™ Container Instances (ACI). Esta solución empodera a los desarrolladores a implementar contenedores en la nube pública de Microsoft® Azure™ sin necesidad de ejecutar ni administrar una infraestructura subyacente. Simplemente puede lanzar un nuevo contenedor utilizando el portal de Microsoft® Azure™, donde a continuación, Microsoft provisionará y escalará los recursos informáticos básicos. Azure Container Instances le permite ganar una mayor agilidad y velocidad, pero es necesario protegerlo adecuadamente para aprovechar todos los beneficios. 

Ahora que ya conoce a los principales agentes, analicemos cómo protegerlos o acceda a los enlaces anteriores para obtener más información sobre la protección de cada solución. Obtenga más información sobre la protección de las instancias de contenedores de Microsoft Azure.

Protección del host

La protección del host comienza con la selección del sistema operativo que lo ejecuta. Siempre que sea posible, debería utilizar un sistema operativo distribuido que esté optimizado para ejecutar contenedores. Si utiliza las distribuciones de material de Linux® o Microsoft® Windows®, querrá asegurarse de que deshabilita o elimina los servicios innecesarios y fortalece el sistema operativo en general. A continuación, añada una capa de seguridad y herramientas de supervisión para garantizar que su host se está ejecutando tal y como debería. Las herramientas como el control de aplicaciones o un sistema de prevención de intrusiones (IPS) siempre son útiles en esta situación.

Una vez que su contenedor se esté ejecutando en la producción, tendrá que interactuar con otros contenedores y recursos. Este tráfico interno se debe supervisar y proteger garantizando que todo el tráfico de red desde sus contenedores pasa a través de un IPS, esto modifica la forma en la que implementa el control de la seguridad. En lugar de implementar un pequeño número de grandes motores IPS tradicionales en el perímetro, estaría implementando el IPS en cada host, lo que permite supervisar todo el tráfico de forma efectiva sin repercutir significativamente en el rendimiento.

Protección de la aplicación en el contenedor

Una vez que su contenedor se está ejecutando en la producción, está constantemente procesando datos para su aplicación, generando archivos de registro, archivos de caché, etc. Los controles de seguridad pueden ayudar a garantizar que estas actividades sean cotidianas y no maliciosas. Resulta fundamental que los controles anti-malware en tiempo real que se ejecutan en el contenido en el contenedor funcionen a la perfección.

Un IPS también desempeña un papel aquí, utilizando un patrón llamado parche virtual. Si una vulnerabilidad queda expuesta de forma remota, el motor del IPS puede detectar intentos de exploit y lanzar paquetes para proteger

su aplicación. Esto le proporciona el tiempo que necesita para abordar la causa raíz en la siguiente versión del contenedor en lugar de forzar una solución de emergencia.

Supervisión de su aplicación

Un control de seguridad de autoprotección de aplicación en tiempo de ejecución (RASP) puede ayudar cuando se trata de implementar su aplicación en un contenedor. Estos controles de seguridad se ejecutan en su código de aplicación y, a menudo, interceptan o enlazan llamadas claves en su código. Además de las características de seguridad como la supervisión del lenguaje de consulta estructurado (SQL), la remediación y comprobación de dependencias, la verificación de URL y demás controles, el RASP también puede solucionar uno de los desafíos más grandes en materia de seguridad: la identificación de la causa raíz.

Al colocarlos en el código de la aplicación, estos controles de seguridad pueden ayudar a conectar los puntos entre una incidencia de seguridad y la línea de código que lo creó. Resulta difícil competir con ese nivel de conocimiento y proporciona un gran impulso en su postura de seguridad.

La protección de su pila de administración de contenedores

Desde una perspectiva de seguridad, la pila de administración que ayuda a coordinar sus contenedores, a menudo, se pasa por alto. Toda organización que se tome en serio la implementación de sus contenedores inevitablemente llegará a dos fragmentos críticos de la infraestructura para ayudar a gestionar el proceso: un registro de contenedores privado como Amazon ECS y Kubernetes (para ayudar a orquestar la implementación del contenedor).

La combinación de un registro de contenedor con Kubernetes le permite reforzar automáticamente un conjunto de estándares de seguridad y calidad para sus contenedores antes, y durante, la nueva implementación en su entorno.

Los registros simplifican el intercambio de contenedores y ayudan a los equipos a construir sobre el trabajo de sus compañeros. Sin embargo, para garantizar que cada contenedor cumple sus líneas base de seguridad y desarrollo, necesita un analizador automatizado. Analizar cada contenedor en busca de vulnerabilidades, malware y cualquier secreto expuesto antes de que quede a disposición en el registro ayuda a reducir las incidencias posteriores.

Asimismo, querrá asegurarse de que el registro en sí mismo está correctamente protegido. Se debería ejecutar en un sistema reforzado o en un servicio de nube con gran prestigio. Incluso en el caso del servicio, necesita comprender el modelo de responsabilidad compartida e implementar un sólido enfoque basado en funciones para acceder al registro.

En lo que respecta a la orquestación, una vez que Kubernetes se ejecuta y está implementado en su entorno, ofrece un gran número de ventajas que ayuda a garantizar que sus equipos obtienen el máximo beneficio de su entorno. Kubernetes también proporciona la capacidad de implementar una variedad de controles de seguridad y operacionales, como las políticas de seguridad de red y pod (recursos a nivel del clúster), permitiéndole reforzar numerosas opciones para cumplir con su tolerancia de riesgo.

Desarrollo de su aplicación sobre unos pilares protegidos: análisis del contenedor

Necesita contar con un flujo de trabajo de análisis de imágenes de contenedor para garantizar que los contenedores que ha utilizar como base son fiables y están protegidos frente a amenazas comunes. Esta clase de herramientas analizarán el contenido de un contenedor, buscando incidencias antes de que se utilicen como base para su aplicación, así como un conjunto final de comprobaciones antes implementar un contenedor en la producción.

Cuando está correctamente implementado, el análisis se convierte en una parte natural de su proceso de codificación. Es un proceso completamente automatizado que puede identificar rápida y fácilmente cualquier incidencia a medida que desarrolla su aplicación y sus contenedores. 

Garantizar la integridad de la canalización de desarrollo

Los atacantes han comenzado a modificar sus ataques enfocándolos en fases más tempranas de su constante canalización de entrega (CI/CD) o integración. Si un agente malicioso compromete exitosamente su servidor de compilación, repositorio de código o estaciones de trabajo de desarrolladores, pueden residir en su entorno durante un periodo de tiempo significativamente más largo. Necesita un sólido conjunto de controles de seguridad que se mantengan constantemente actualizados.

Implementando una sólida estrategia de control de acceso a lo largo de la canalización, comenzando en su repositorio de código y estrategia de ramificación, extendiéndola por todo el trayecto hasta el repositorio del contenedor. Necesita garantizar la implementación del principio del menor privilegio (proporcionando únicamente el acceso necesario para cumplir con las tareas requeridas) y realizar una auditoría periódicamente sobre dicho acceso.

Uniendo las piezas

La protección de sus contenedores requiere un enfoque integral de la seguridad. Debe asegurarse de que aborda las necesidades del resto de los equipos en su organización y de que es posible automatizar su enfoque para que se ajuste a sus procesos de DevOps, asegurándose de que cumple los plazos de entrega y de que finaliza las aplicaciones rápidamente sin descuidar su protección. Ya no es posible relegar la seguridad a un vistazo o análisis de último minuto exigiendo cambios en su flujo de trabajo. El desarrollo de controles de seguridad y procesos automatizados fiables desde el inicio aborda sus inquietudes y facilita la interconexión de los equipos. 

Temas de seguridad de contenedores