Si recién te estás iniciando en esta serie, quizás quieras empezar por el principio:
Conceptos básicos de seguridad de contenedores: Introducción
Conceptos básicos de seguridad de contenedores: Tubería
Conceptos básicos de seguridad de contenedores: Orquestación
Carga de trabajo es un término bastante reciente que a menudo se utiliza para describir aplicações , pero también puede referirse a servicios de infraestructura. Esto es importante porque puede haber una variedad de "cargas de trabajo" ejecutándose en sus clústeres de contenedores que no necesariamente provienen de sus desarrolladores. El uso de servicios gratuitos y de código abierto para una variedad de propósitos dentro de entornos de contenedores está creciendo. De hecho, esto es cierto en las operaciones de TI, que fue la categoría número uno en descargas de open source software durante el año pasado.
Entonces, cuando decimos seguridad de la carga de trabajo, nos referimos a cualquier pieza de software que haya descargado, desarrollado o implementado en su entorno de contenedores. Piense en Cónsul . Piense en Kubernetes mismo. Piense en Prometheus y Elasticsearch . Piense en NGINX y istio .
Y luego también coloque en esa lista cualquier puerta de enlace de API, cachés y controladores de ingreso que haya implementado para respaldar su entorno de Kubernetes. Aquí es donde una lista detallada de materiales es importante, y por qué realizar un inventario periódicamente es fundamental para mantener un entorno seguro.
Una vez que tenga su lista, es hora de abordar los problemas clave de seguridad de la carga de trabajo.
2.El contenido malicioso es malicioso
Incluso después de haber cerrado la puerta solicitando credenciales y aplicando control de acceso, todavía hay que preocuparse por el contenido malicioso. Esto es cierto para las aplicações, los microservicios y los servicios operativos en uso. Todas las cargas de trabajo que presentan una interfaz para un usuario (ya sea operador o consumidor) están potencialmente en riesgo.
Si un atacante puede explotar una vulnerabilidad en los componentes del sistema operativo, puede comprometer una o más cargas de trabajo. Esas vulnerabilidades podrían quedar expuestas si no se cierra la puerta o no se filtran las llamadas. No es un escenario descabellado, como hemos visto con CVE-2019-5736 , en el que una vulnerabilidad runc en la capa del sistema operativo provocó pánico en Internet.
El principio de seguridad central aquí fue enunciado por Dan Walsh , gurú de seguridad de contenedores de SELinux y RedHat, como sigue: "Los contenedores no contienen" .
Es importante tener en cuenta que todo el tráfico de red con servicios y usuarios fuera del nodo debe atravesar el sistema operativo host. La creación de redes entre pods y contenedores en un nodo se logra a través de redes virtuales con puentes virtuales y un uso inteligente de iptables. Pero, en última instancia, el tráfico tiene que salir de ese nodo físico y eso significa procesarlo en el sistema operativo host. Es posible que agentes, complementos y otros demonios observen o capturen ese tráfico con fines de seguridad o visibilidad. Esos son puntos potenciales de compromiso que debes agregar al inventario que comenzaste a compilar después de leer sobre Pipeline Security .
Gran parte de la seguridad de la carga de trabajo en un contexto de contenedor es la misma que la de cualquier otra carga de trabajo de aplicação que se ejecute en su entorno de producción. Controlar el acceso y exigir una autenticación fuerte, estar atento a contenidos maliciosos y estar al tanto de las vulnerabilidades compartidas y a nivel de plataforma.