A medida que las empresas buscan marcos de desarrollo más rápidos y flexibles, el uso de contenedores y Kubernetes (K8s) sigue aumentando. Si bien Kubernetes teóricamente tiene varias ventajas de seguridad en comparación con las aplicaciones tradicionales, sigue siendo una de las principales preocupaciones para las organizaciones en su viaje hacia la nube nativa. Parece que esta preocupación es bastante válida, puesto que un reciente informe descubrió que los clústeres de Kubernetes pertenecientes a más de 350 organizaciones, incluidas varias empresas de la lista Fortune 500, eran de libre acceso y estaban expuestos a ciberataques como el ransomware. Entonces, ¿por qué las empresas están teniendo dificultades con la seguridad de Kubernetes a esta escala?
La seguridad de Kubernetes falla rápidamente
A menudo, las personas describen la seguridad como una carrera. Los equipos de seguridad compiten para mantenerse un paso por delante de actores maliciosos: adoptando nueva tecnología y respondiendo a nuevas técnicas y vulnerabilidades. Sin embargo, a veces es igual de importante mantenerse al día en la empresa a medida que se adoptan nuevas tecnologías. En cualquier caso, se espera que la seguridad siga el ritmo de las necesidades de la empresa, sea cual sea la dirección que elija.
Un informe reciente de Enterprise Strategy Group reveló que el uso de Kubernetes está a punto de alcanzar un «punto de inflexión», con un 82% de las organizaciones utilizando contenedores para finales de 2024. Los contenedores se han utilizado durante más de una década. Aunque la adopción de Kubernetes no ha sido exactamente rápida, cuando una organización decide aventurarse en algo nuevo, siempre hay una curva de aprendizaje. Con Kubernetes hay problemas que los desarrolladores y los equipos de seguridad pueden pasar por alto mientras compiten por lanzar nuevas aplicaciones.
El compromiso entre velocidad y seguridad es algo familiar para los equipos de desarrollo, y dado que los principales impulsores de la adopción de contenedores son la velocidad y la agilidad, no es de extrañar que la rápida adopción de Kubernetes haya dejado algunas puertas abiertas. El desarrollo inseguro nunca es una decisión consciente, pero si las empresas sienten la presión de añadir nuevas funciones o desarrollar nuevos productos desde cero, en algo tienen que ceder.
La importancia de contener el caos
Las vulnerabilidades de Kubernetes a menudo se reducen a una mala configuración durante la fase de diseño y desarrollo. El plazo mencionado anteriormente es un factor determinante aquí, pero la falta de conocimientos específicos de K8 suele ser el ingrediente clave.
El informe de Aqua Security, que identificó cientos de entornos de contenedores vulnerables, se compone en gran medida por dos configuraciones erróneas clave. La primera implica que los usuarios anónimos requieren de una única capa de autenticación que, si se pasa, puede otorgar acceso anónimo que incluye privilegios de administrador. Es similar a tener un candado endeble en un automóvil deportivo con las llaves en el contacto. Otra vulnerabilidad común es la configuración errónea de los clústeres, exponiéndolos al público en algunos lugares. Esto puede suponer que actores maliciosos aprovechen herramientas como ‘Kubectl’ para simplemente conectarse a su clúster de Kubernetes y comenzar a causar estragos.
Este problema no es exclusivo de K8s; dejar aplicaciones expuestas a Internet cuando no es necesario es un vector de ataque común en todo tipo de aplicaciones. El acceso a Internet es otra puerta que los atacantes pueden atravesar. Si la puerta no existiera, no sería un problema. Esto vuelve al concepto de «Zero Trust» o el «principio de menor privilegio»: incluso con aplicaciones nativas de la nube, no todo debería ser accesible en todo momento.
El respaldo de la seguridad
Los profesionales no se despiertan un día y deciden desarrollar fallas de seguridad en sus aplicaciones. Es simplemente el resultado de brechas en el conocimiento y plazos de desarrollo rápidos. Con el tiempo, a medida que los desarrolladores adquieran más experiencia con plataformas nativas en la nube, estos problemas serán menos comunes. Esto hace que la necesidad de procesos sólidos de respaldo y recuperación sea aún mayor. La ciberresiliencia tiene múltiples capas. Nunca se puede estar completamente seguro con la primera línea de defensa (seguridad de la aplicación), por lo que es vital que las empresas tengan recursos en los que puedan confiar.
Lamentablemente, esta es otra área de Kubernetes donde estamos observando una curva de aprendizaje pronunciada. El último informe de Enterprise Strategy Group sobre protección de Kubernetes mostró que el 33% de las organizaciones que utilizan Kubernetes han seguido utilizando las mismas herramientas y procesos de protección de datos que usarían para aplicaciones normales. Esto es un problema. Las aplicaciones nativas de la nube requieren soluciones de respaldo nativas de la nube. Si bien estas empresas tendrán copias de seguridad, algunas pueden asumir que están seguras, pero las copias de seguridad tradicionales no pueden rastrear la parte móvil de Kubernetes. Esto significa que cuando intentas recuperar los datos, puede haber problemas de rendimiento y pérdida de los mismos.
Si la seguridad y la recuperación son básicamente defectuosas, las empresas se exponen completamente a ataques como el ransomware. Con septiembre registrado como uno de los meses con mayor número de ataques de ransomware, las empresas deben asegurarse de hacer esto correctamente. Esto no es una solicitud para evitar o dejar de usar Kubernetes o aplicaciones basadas en contenedores, todo lo contrario.
Sin embargo, la seguridad debe ponerse al día con cualquier práctica de desarrollo nueva, o los criminales se colarán por los vacíos. Estos entornos son complejos de dominar solos, por eso es tan crucial el DevSecOps. La colaboración entre equipos de desarrollo y seguridad puede asegurar la infraestructura desde el principio y mantener a las empresas en funcionamiento, a salvo de la interminable ola de ransomware.
Michael Cade, CTO global de estrategia de producto nativo en la nube, Veeam