Ciberseguridad
cibercrimen
Kubernetes
Contenedores

Cómo fortalecer las defensas de Kubernetes

Los ataques centrados en Kubernetes van en aumento. A continuación se ofrece una descripción general de las amenazas actuales y las mejores prácticas para proteger sus clústeres.

contenedores kubernetes

El gran éxito de la adopción de Kubernetes por parte de los desarrolladores de software empresarial ha motivado a los atacantes a apuntar a estas instalaciones con exploits diseñados específicamente para aprovechar su popularidad. Los atacantes han mejorado a la hora de ocultar su malware, evitar los casi triviales controles de seguridad y utilizar técnicas comunes como la escalada de privilegios y el movimiento lateral de la red para difundir sus exploits a través de las redes empresariales. Si bien existen métodos para hacer cumplir las mejores prácticas de seguridad de Kubernetes, no son universalmente conocidos y requieren conocimientos, herramientas y tácticas especializadas que son muy diferentes de los casos de uso ordinarios de máquinas virtuales y de nube.

La evidencia del aumento de los ataques centrados en Kubernetes proviene de la telemetría directa, reforzada por informes anecdóticos. Los proveedores de seguridad como Palo Alto Networks, Wiz y Aqua Security han implementado honeypots de Kubernetes que detectan rápidos intentos de comprometer nuevos clústeres, y un clúster recién creado es atacado en cuestión de minutos o unas pocas horas. Estos ataques escanean los conocidos puertos TCP/IP 10250-9 utilizados por los contenedores para comunicarse entre sí, por ejemplo. Los análisis previos al ataque se realizan docenas de veces al día, una indicación de esfuerzos automatizados y programáticos para comprometer el código subyacente.

Examinemos el panorama de amenazas, qué vulnerabilidades están detectando los proveedores de seguridad y las formas en que las empresas pueden reforzar mejor sus instalaciones de Kubernetes y defenderse.

 

Panorama de amenazas de Kubernetes

Un informe de la Cloud Native Computing Foundation ilustra la complejidad del panorama, con una colección entrelazada de flujos de datos, dependencias y procesos. Estos componentes requieren sus propios métodos de protección para cifrar las comunicaciones, autenticar adecuadamente los contenedores, los repositorios de almacenamiento y los usuarios, y proteger los contenedores contra la explotación. El siguiente diagrama (de la Fundación, interpretado por Trend Micro) muestra que existe una curva de aprendizaje pronunciada para comprender todas las relaciones y cómo encajan las distintas partes.

La complejidad de esta arquitectura se hizo deliberadamente, porque Kubernetes "fue diseñado para permitir a los usuarios tener mucha libertad y utilizó una arquitectura abierta y un modelo de seguridad predeterminado abierto de forma predeterminada", Assaf Morag, analista de datos de Aqua Security, le dice a la OSC. Pero no desesperes: “El hecho de que Kubernetes sea una plataforma tan extensa con tantas integraciones presenta una oportunidad. Facilita la creación de un conjunto de procesos automatizados y sistemáticos que integran la seguridad en el núcleo del proceso de construcción e implementación de Kubernetes”, como menciona en su introducción la reciente Guía completa de seguridad de Kubernetes de Palo Alto Networks. Sin embargo, la apertura inherente de Kubernetes significa que no existe un único conjunto de herramientas de seguridad que lo haga todo. 

 

Volviendo a los conceptos básicos de seguridad

A menudo, las posturas básicas de seguridad de la red, como no exponer claves de cifrado secretas, usar contraseñas administrativas complejas y no predeterminadas, implementar varios esquemas de segmentación y seguir derechos de acceso con privilegios mínimos, aparentemente se olvidan cuando se trata de cómo proteger los contenedores. "Hemos vuelto a las amenazas que vimos en nuestras redes de la década de 1990", explica el gerente de inteligencia de amenazas en la nube de Palo Alto Networks, Nathaniel Quist.

Este último esfuerzo de controlar los derechos de acceso, en particular aplicando el acceso basado en roles, puede ser más difícil de implementar que para otras aplicaciones en la nube. "Kubernetes tiene un modelo muy complejo para implementar esto correctamente", afirma Quist. Los analistas de Aqua Security descubrieron uno de los primeros ataques de puerta trasera a controles basados ??en roles en abril de 2023. Este tenía como objetivo al menos 60 grupos diferentes y había instalado con éxito código de malware de criptominería. Se manipularon los derechos de acceso para que el malware persistiera y tuviera privilegios administrativos.

"Estos ataques basados ??en criptomonedas están aumentando, principalmente porque los clústeres de Kubernetes son plataformas de ejecución altamente eficientes y son ideales para acelerar estas cargas de trabajo", le dice a CSO Shay Berkovich, investigador de amenazas de Wiz. Los investigadores de la compañía han visto ejemplos de ataques de criptominería como  PyLoose y newhello . Esto no es nuevo: la nube de Tesla se vio comprometida por un panel de Kubernetes mal diseñado en 2018 y terminó ejecutando criptomineros.

"Proporcionar a los usuarios de Kubernetes acceso a la API de Kubernetes de la manera menos privilegiada es una tarea difícil pero crucial", le dice a CSO Venkat Thiruvengadam, director ejecutivo de DuploCloud. "Adoptar un método estandarizado y automatizado para crear este acceso es un paso clave para tener un entorno de Kubernetes seguro".

"Una vez que un atacante supera el acceso inicial, hay amplias oportunidades para el movimiento lateral y la escalada de privilegios dentro de un grupo", escribió Berkovich en un blog para Wiz en noviembre pasado. Recomienda una mejor defensa de la zona, lo que significa que a cada miembro del personal de seguridad defensiva se le asigna un área específica para cubrir los puntos de entrada más vulnerables.

En diciembre pasado, los investigadores de la Unidad 42 de Palo Alto descubrieron otro error de escalada de privilegios en el clúster Kubernetes de Google y, afortunadamente, lo solucionaron rápidamente. Pero esto ilustra cómo debido a "su complejidad, muchos entornos de Kubernetes son susceptibles a violaciones de seguridad debido a una mala configuración y privilegios excesivos".

Otro problema surge de la arquitectura distribuida inherente de Kubernetes. "Esto significa que a menudo hay demasiados cocineros creando código", apunta el vicepresidente senior de estrategia de Aqua Security, Rani Osnat. "Puede haber equipos separados responsables de ejecutar un clúster, administrar el proceso de desarrollo y otro para hacer cumplir los controles de acceso, y esto podría resultar en situaciones en las que falta gobernanza porque estos equipos no siempre se comunican entre sí".

Una distinción importante entre Kubernetes y otros entornos de nube es que el primero combina ambas opciones personales con el aprovechamiento de repositorios de código compartido. Si bien compartir puede ser eficaz para crear rápidamente una aplicación, presenta riesgos si el código compartido se ve comprometido. "Los equipos separados necesitan ejecutar su código en clústeres separados", dice Ami Lutwak, CTO de Wiz. Según numerosos investigadores de seguridad, esto todavía está lejos de ser una práctica común. 

Quizás el mayor problema de inseguridad de Kubernetes es la rapidez con la que puede automatizar un ataque a la cadena de suministro, especialmente cuando se trata de exponer cifrado y otras claves secretas. Esto fue resumido por Morag de Aqua en una publicación de blog en noviembre pasado, lo que llamó una bomba de tiempo. Encontraron cientos de registros que exponían estos secretos, buscando credenciales en la API de Github. Uno de los principales contribuyentes es que los desarrolladores pensaron que codificar estas claves en base64 era protección suficiente, lo que engañó incluso a algunos desarrolladores muy experimentados. "Está simplemente a un comando de decodificación base64 de ser revelado como secretos de texto sin formato", escribió. "Existe una clara necesidad de herramientas de código abierto y escáneres de secretos para mejorar sus capacidades de detección e incluir secretos codificados".

Otra búsqueda realizada por Morag encontró durante un período de tres meses que el 60% de los clústeres estaban siendo atacados activamente por varias campañas diferentes de criptomineros. En esa publicación de blog, dice que una simple configuración incorrecta (que ha observado en su telemetría) de las reglas de la política de seguridad puede llevar a un clúster expuesto. "Los desarrolladores no comprenden la gravedad de su código o no han aprendido cómo implementar una mejor seguridad".

 

Mejores prácticas para evitar la explotación de Kubernetes

Un buen primer lugar para comenzar es revisar la “Hoja de referencia” de OWASP Kubernetes , que tiene muchas recomendaciones específicas sobre las mejores prácticas. Como se informó anteriormente, estas incluyen bloquear contenedores y adoptar controles de acceso más completos basados ??en roles. Quist de Palo Alto enfatiza esto y recomienda que los desarrolladores "deben tener diferentes cuentas para diferentes grupos operativos y hacer un uso adecuado de los servicios de administración de claves y secretos, como Key Vault en AWS".

También es importante otra práctica de mejor gestión de los secretos. Berkovich de Wiz recomienda, ante todo, un uso agresivo de los controles de seguridad de separación dentro del clúster. También sugiere utilizar un aislamiento inteligente basado en espacios de nombres con RBAC que separe las políticas de red y los espacios de nombres de usuarios para evitar que los atacantes realicen cualquier movimiento lateral entre contenedores.

La auditoría periódica de los clústeres puede ayudar a los desarrolladores a identificar y corregir errores de configuración rápidamente. "Es fundamental configurar meticulosamente los clústeres, garantizando que las políticas de red se implementen correctamente y que los controles de acceso sean sólidos", afirma Berkovich.

Por último, proporcionar una mejor formación a los empleados y desarrolladores. “Las organizaciones deben invertir en capacitar a su personal sobre los riesgos potenciales, las mejores prácticas y las configuraciones correctas. Es importante recordar que la seguridad de Kubernetes no es una tarea única, sino un proceso continuo de aprendizaje, adaptación y mejora a medida que evoluciona la tecnología y el panorama de amenazas”, escribió Moran en el blog de Aqua.



TE PUEDE INTERESAR...

Accede a la cobertura de nuestros encuentros
 
Lee aquí nuestra revista digital de canal

DealerWorld Digital

 

Forma parte de nuestra comunidad
 
¿Interesado en nuestros foros? 

 

Whitepaper

Documento Pure Storage y Kyndryl INFRAESTRUCTURAS