1. Temas
  2. Seguridad
  3. ¿Qué es la seguridad de Kubernetes?

¿Qué es la seguridad de Kubernetes?

CopiadoError al copiarCopiar URL

Kubernetes, también conocida como "K8s" o "Kube", es una plataforma open source de organización de contenedores que automatiza la implementación, la gestión y el ajuste de las aplicaciones en contenedores. Se encarga de organizar los contenedores de Linux en clústeres y utiliza las interfaces de programación de aplicaciones (API) para conectar los microservicios allí alojados. Dado que cualquier capa o servicio que participe en una implementación de Kubernetes puede presentar puntos vulnerables, proteger los clústeres de Kubernetes puede ser un proceso complejo. 

Para la seguridad de Kubernetes, algunos equipos adoptan un enfoque centrado en los contenedores, cuyo objetivo principal es proteger las imágenes y el tiempo de ejecución de los contenedores. Sin embargo, otros optan por la seguridad de Kubernetes, que implica un enfoque más amplio, en el cual se obtiene el contexto de la plataforma y se utilizan sus controles integrados para implementar las prácticas recomendadas de seguridad basadas en los riesgos durante todo el ciclo de desarrollo de las aplicaciones. Este segundo enfoque también aborda los riesgos y los puntos vulnerables específicos de Kubernetes, como los errores en la configuración de las políticas de control de acceso basado en funciones (RBAC), los elementos no seguros del plano de control y el uso indebido de los secretos de la plataforma.

Kubernetes es una tecnología relativamente nueva que ha experimentado una gran adopción en los últimos años, pero este aumento en la adopción no siempre ha ido acompañado de una mayor inversión en seguridad. Los incidentes de seguridad, combinados con la falta de especialistas y de conocimiento en la materia, pueden tener graves consecuencias. Los problemas de seguridad retrasan o ralentizan el desarrollo y la implementación de las aplicaciones. Cuando se produce un incidente, los problemas de seguridad de los contenedores y de Kubernetes también influyen en la pérdida de ingresos o clientes y el despido de personal, además de generar otros impactos en las operaciones empresariales.

Kubernetes y la organización en contenedores facilitan la adopción de DevOps con mayor rapidez y capacidad de ajuste, pero también conllevan riesgos de seguridad. A medida que se implementan más contenedores, se amplía la superficie de ataque y se vuelve más complejo identificar los contenedores que tienen puntos vulnerables o errores de configuración.

Riesgos y desafíos comunes

Redes entre los pods de Kubernetes

Una de las principales ventajas de Kubernetes es que ofrece muchísimas opciones para configurar la red, lo cual permite controlar la forma en que se comunican los pods en un clúster. Sin embargo, Kubernetes no restringe la comunicación de forma predeterminada, lo que significa que cada pod puede comunicarse con cualquier otro hasta que se asigne una política de red adecuada. Por lo tanto, si un agente malintencionado accede a un solo pod, este puede usarse como vector para atacar a todos los demás pods en ese clúster. Las políticas de red de Kubernetes se escriben con archivos YAML. Esta es solo una de las muchas razones por las que la aplicación de políticas de red de Kubernetes puede resultar compleja, lo que puede llevar a evitar segmentar las redes para no perder agilidad. 

Gestión de la configuración

Los errores de configuración, que suelen deberse a errores humanos y a la falta de análisis de seguridad automatizados, representan un riesgo grave para los entornos de Kubernetes y pueden ocasionar filtraciones de datos. Debido a la naturaleza dinámica de los contenedores, puede ser difícil identificar los errores de configuración y mantener una estrategia de seguridad uniforme. Kubernetes se desarrolló para priorizar la velocidad y la operatividad, por lo que las configuraciones predeterminadas suelen ser abiertas o no tener restricciones. Esto deja a las empresas expuestas a los ataques.

Problemas con la cadena de suministro de software

Otro aspecto que preocupa bastante a las empresas son los problemas de seguridad en la cadena de suministro de software, como los elementos de las aplicaciones expuestos a riesgos, los controles de acceso insuficientes, la falta de una lista de materiales de software (SBOM), los puntos vulnerables de los canales de CI/CD y la falta de uniformidad en la aplicación de políticas. Las cadenas de suministro de software en expansión, típicas de los entornos de Kubernetes propios de la nube, requieren un conjunto específico de controles. Su protección debe comenzar en el entorno de desarrollo integrado (IDE) y extenderse hasta el entorno del tiempo de ejecución. Además, debe abarcar todo el contenido (el código fuente, las imágenes y los artefactos), las herramientas (de los desarrolladores y de seguridad) y el personal involucrado en la cadena de suministro. El análisis del código fuente, el control de acceso, la certificación y las listas de materiales de software son solo algunos de los aspectos que se deben tener en cuenta para proteger la cadena de suministro de software. 

Enfoque shift left para la seguridad

El desafío de implementar el enfoque shift left para la seguridad está estrechamente relacionado con la seguridad de la cadena de suministro de software. Este enfoque es un concepto que establece que las iniciativas de seguridad de Kubernetes deben implementarse en las primeras etapas del ciclo de vida de los contenedores. Se trata de un desafío porque la seguridad shift left requiere que los desarrolladores se conviertan en usuarios de la seguridad, con el conocimiento y las herramientas para tomar decisiones en materia de seguridad dentro de los flujos de trabajo. Sin embargo, las ventajas empresariales de implementar la seguridad al principio del ciclo de vida del desarrollo son enormes. Este es el método más recomendado para implementar la seguridad de los contenedores y de Kubernetes. Cuantos más problemas de seguridad se aborden en la etapa de desarrollo, menor será la probabilidad de que surjan problemas de tiempo de ejecución, lo que ocasionará menos demoras en los proyectos.

Detección y respuesta durante el tiempo de ejecución

La cantidad de vectores de amenazas durante el tiempo de ejecución en las aplicaciones en contenedores que se ejecutan en un entorno de Kubernetes supone un desafío para los equipos encargados de detectarlos y responder a ellos. Hay muchas maneras en las que un agente malintencionado puede obtener acceso inicial a un entorno de Kubernetes, ejecutar código malicioso, aumentar los privilegios, acceder a un sistema por un tiempo prolongado, evadir los sistemas de detección y moverse lateralmente, para lograr eliminar o filtrar datos, denegar servicios o secuestrar recursos. Obtén más información sobre este tema en nuestra publicación de blog acerca del marco MITRE ATT&CK® para Kubernetes. 

La seguridad de la infraestructura de Kubernetes

Las distintas capas de Kubernetes, desde los elementos del plano de control (como el servidor de la API, kube-scheduler, kube-controller-manager, etcd) hasta los elementos del nodo de trabajo que ejecutan las cargas de trabajo organizadas en contenedores, tienen sus propios desafíos de seguridad. Cada uno de estos servicios debe configurarse de manera segura para ofrecer un entorno de clústeres reforzado en el que se ejecuten las aplicaciones. Además, la forma de proteger los elementos de Kubernetes variará en función de si utilizas la plataforma como un servicio autogestionado o como un servicio de nube totalmente gestionado. Por ejemplo, en los entornos autogestionados, sueles encargarte de todos los elementos del plano de control, además de los elementos del nodo. Cuando se utiliza un servicio de Kubernetes gestionado, la responsabilidad de la seguridad se comparte entre el proveedor de servicios y el cliente (tú). Esto supone un desafío más.

Lee el informe sobre la seguridad de Kubernetes más reciente

Recursos de Red Hat

La organización en contenedores y Kubernetes presentan varias ventajas de seguridad integradas que ayudan a los equipos a abordar los riesgos relacionados con los problemas de seguridad de los contenedores. Por ejemplo: 

  • Los problemas de seguridad de los contenedores que se detectan durante la ejecución se corrigen en la fase de diseño y se vuelven a implementar, en lugar de actualizarlos o aplicarles parches durante la ejecución. Esta función, conocida como inmutabilidad, mejora la capacidad de anticipar el comportamiento del contenedor y de detectar comportamientos anómalos. 
  • Las políticas de red pueden segmentar pods o grupos de pods, mientras que los controladores de admisión pueden aplicar políticas para mejorar el control. 
  • El control de acceso basado en funciones (RBAC) puede asignar permisos específicos a los usuarios y las cuentas de servicios.
  • Los secretos de Kubernetes pueden proteger mejor los datos confidenciales, como las claves de cifrado.

Sin embargo, como Kubernetes no es una plataforma de seguridad, los equipos deben realizar una evaluación de riesgos y abordar los puntos vulnerables en cada capa del entorno de Kubernetes y en cada etapa de los ciclos de vida de los contenedores y las aplicaciones. Para ocuparte de la seguridad de Kubernetes de manera efectiva, debes aprovechar los controles de seguridad de Kubernetes siempre que sea posible e implementar las prácticas recomendadas durante las fases de diseño, implementación y tiempo de ejecución.

Obtén más información sobre las prácticas recomendadas de Kubernetes

Red Hat es una empresa líder en tecnología de contenedores open source y puede ayudarte a aumentar tus conocimientos sobre las prácticas recomendadas de seguridad de Kubernetes y a proteger la implementación de los contenedores. Para que los equipos identifiquen y aborden los problemas de seguridad de K8s de manera más eficiente, Red Hat ofrece soluciones propias de Kubernetes que integran la seguridad en el ciclo de vida de los contenedores y permiten que los equipos de DevOps diseñen e implementen aplicaciones listas para la producción.

KubeLinter, creada por StackRox y adquirida por Red Hat en 2021, es una herramienta open source de análisis estático que identifica los errores de configuración y de programación en las implementaciones de Kubernetes. Realiza una serie de pruebas para analizar las configuraciones de Kubernetes, identificar errores y generar alertas sobre cualquier aspecto que no se ajuste a las prácticas recomendadas de seguridad. 

Red Hat Service Interconnect cuenta con un sistema de seguridad integrado que se adapta a los clústeres y las nubes de forma predeterminada y proporciona enlaces de comunicación confiables entre los servicios. Service Interconnect también aporta flexibilidad para el desarrollo en plataformas heredadas, de contenedores o de Kubernetes, por lo que los desarrolladores disponen de más opciones para diseñar, modernizar e implementar las aplicaciones empresariales de última generación.

Red Hat® Advanced Cluster Security for Kubernetes (ACS) permite que las empresas diseñen, implementen y ejecuten aplicaciones en la nube de forma segura. Se ofrece como una solución de software como servicio autogestionada o totalmente gestionada y protege las cargas de trabajo organizadas en contenedores en los principales entornos híbridos y de nube. Además, permite que los equipos de DevOps y de seguridad de la información apliquen las estrategias de seguridad, reduzcan los costos operativos y aumenten la productividad de los desarrolladores.

Lee la datasheet de Red Hat Advanced Cluster Security for Kubernetes

Blog oficial de Red Hat: últimas novedades sobre la automatización empresarial, la nube híbrida, la inteligencia artificial y mucho más.

Más información sobre nuestro ecosistema de clientes, socios y comunidades y las últimas novedades sobre la automatización empresarial, la nube híbrida, la inteligencia artificial y mucho más.

Todas las versiones de prueba de los productos de Red Hat

Con las versiones de prueba gratuitas de nuestros productos, podrás adquirir experiencia práctica, prepararte para obtener una certificación o evaluar las soluciones para saber si son adecuadas para tu empresa.

Más información

El enfoque shift left frente al enfoque shift right

La aplicación de los enfoques shift left y shift right consiste en implementar pruebas de forma permanente en todas las etapas del ciclo de vida de desarrollo del software.

La SBOM

Comprende la función de una lista de materiales de software (SBOM) en la transparencia del software, la gestión de riesgos y la protección de tu cadena de suministro de los puntos vulnerables.

¿Qué es la automatización de la seguridad?

La automatización de la seguridad utiliza la tecnología para realizar tareas con poca intervención humana e integrar los procesos, las aplicaciones y la infraestructura de seguridad.

Seguridad: lecturas recomendadas

Artículos relacionados