esenfrdeitptru

Los pros y los contras de usar el software de seguridad Kubernetes de código abierto

AS-089-2022

Fecha: 17/Nov/2022

Notificado por: Correo-CTI-FIRST

Definiciones:

  • DevSecOps. es un marco de colaboración que amplía el impacto de DevoOps al agregar prácticas de seguridad al proceso de desarrollo y entrega de software.
  • DevSecOps. resuelve la tensión entre los equipos de DevOps que desean lanzar software rápidamente y los equipos de seguridad que priorizan la seguridad sobre todo lo demás.
  • Kubernetes. es una plataforma portable y extensible de código abierto para administrar cargas de trabajo y servicios. Kubernetes facilita la automatización y la configuración declarativa. Tiene un ecosistema grande y en rápido crecimiento. [1]

Resumen:

Las herramientas de código abierto son una parte clave del entorno de seguridad de Kubernetes,

La investigación de ARMO ha revelado que la mayoría de empresas usan el software de seguridad Kubernetes de código abierto. El 55% de los encuestados respondieron que usan al menos algunas herramientas de código abierto para guardar los clusters Kubernetes, esto incluye aquellos que usan código abierto y aquellos que combinan soluciones de código abierto y propietarias.

¿Porqué usar contenedores?

La Manera Antigua de desplegar aplicaciones era instalarlas en un servidor usando el administrador de paquetes del sistema operativo. La desventaja era que los ejecutables, la configuración, las librerías y el ciclo de vida de todos estos componentes se entretejían unos a otros. Podíamos construir imágenes de máquina virtual inmutables para tener rollouts y rollbacks predecibles, pero las máquinas virtuales son pesadas y poco portables. [1]

La Manera Nueva es desplegar contenedores basados en virtualización a nivel del sistema operativo, en vez del hardware. Estos contenedores están aislados entre ellos y con el servidor anfitrión: tienen sus propios sistemas de archivos, no ven los procesos de los demás y el uso de recursos puede ser limitado. Son más fáciles de construir que una máquina virtual, y porque no están acoplados a la infraestructura y sistema de archivos del anfitrión, pueden llevarse entre nubes y distribuciones de sistema operativo. [1]

Estadísticas:

Casi una cuarta parte de los encuestados usan cinco o más herramientas de seguridad de código abierto diferentes para Kubernetes. Muchas de las herramientas de código abierto solo realizan una tarea relacionada con la seguridad, lo que obliga al uso de varias herramientas para obtener una cobertura completa.

Sin embargo, este enfoque mixto plantea desafíos, especialmente con la integración. Los usuarios consideran que las soluciones de seguridad de código abierto son difíciles de integrar con otras herramientas DevOps (62 %), de administrar (51 %) y de configurar (45 %). Profundizando más, el 69 % admite que es difícil o muy difícil integrar herramientas de seguridad de código abierto en su pila de Kubernetes existente. Estos desafíos pueden verse exacerbados por el hecho de que las herramientas de código abierto, por su naturaleza, a menudo tienen documentación, soporte y orientación limitados. [2]

Este entorno de seguridad fracturado puede conducir a otros problemas. El 68 % de los profesionales mencionaron "demasiadas alertas" como uno de sus mayores desafíos con la seguridad de Kubernetes, junto con soluciones excesivamente fragmentadas (62 %), complejidad (51 %) y la falta de soluciones integrales (47 %). El otro gran problema planteado fue que la seguridad interfiere con la agilidad y el tiempo de comercialización (54%). [2]

Sin embargo, las soluciones propietarias también presentan desafíos. El 69 % de los encuestados mencionó que las herramientas de seguridad propietarias son "cajas negras", que brindan a los usuarios poca información sobre cómo funcionan y cómo están codificadas, y dificultan su modificación según las necesidades particulares de una empresa.

La encuesta reveló un consenso significativo sobre la responsabilidad de la seguridad de Kubernetes , un 58 % que dijo que era una responsabilidad de DevSecOps y un 63 % que debería serlo; esto sugiere cierta desalineación en la práctica. Sin embargo, esto plantea la pregunta de qué es DevSecOps, precisamente, y dónde se ubica en una organización, ya sea como una subdisciplina de DevOps o como una función centrada en Dev y Ops dentro de la seguridad.

Esta encuesta muestra que incluso las organizaciones que usan costosas soluciones propietarias de caja negra a menudo también eligen usar algunas opciones de código abierto. Otro enfoque que están adoptando algunas empresas es improvisar una cobertura de seguridad completa de Kubernetes a partir de múltiples herramientas, pero luego se encuentran con desafíos de integración y pueden verse sepultadas en alertas.

La encuesta fue realizada por Global Surveyz entre julio y agosto de 2022. Los encuestados fueron 200 usuarios de Kubernetes en empresas que variaban en tamaño desde >100 hasta más de 5000 empleados. Todos eran desarrolladores de software o partes interesadas de equipos de ciberseguridad, DevOps y DevSecOps.

Recomendaciones para asegurar Kubernetes:

Primero: administración de la postura de seguridad de Kubernetes (KSPM): el proceso, los métodos y los controles para escanear, encontrar y reparar las vulnerabilidades del software lo antes posible, para evitar que lleguen a producción. El objetivo aquí es minimizar la superficie de ataque y endurecer el entorno K8 tanto como sea posible. [3]

Segundo: protección en tiempo de ejecución: el proceso, los métodos y los controles para detectar y prevenir ataques cibernéticos cuando ocurren (en la mayoría de los casos, durante la producción). El objetivo aquí es maximizar la resiliencia del entorno K8s a los ataques cibernéticos. [3]

Referencias:

[1] https://kubernetes.io/es/docs/concepts/overview/what-is-kubernetes/
[2] https://www.helpnetsecurity.com/2022/11/21/open-source-kubernetes-security/
[3] https://www.helpnetsecurity.com/2021/09/20/securing-kubernetes/