5 consejos y trucos para la seguridad nativa en la nube

5 consejos y trucos para la seguridad nativa en la nube

Las organizaciones de todo el mundo están adoptando rápidamente aplicaciones nativas de la nube que se basan en nuevos tipos de infraestructura, como contenedores y plataformas sin servidor. Si bien las aplicaciones nativas de la nube brindan beneficios convincentes, como escalabilidad elástica, resiliencia inigualable y velocidad de desarrollo rápida, también plantean desafíos.

Las aplicaciones nativas de la nube tienen una gran cantidad de partes móviles y se basan en elementos de infraestructura de corta duración que están aquí un minuto y desaparecen al siguiente. Esto plantea desafíos operativos y de mantenimiento, pero sobre todo crea preocupaciones de seguridad. La seguridad nativa de la nube requiere nuevos enfoques, estrategias y herramientas. En este artículo, cubriré algunos consejos que pueden ayudarlo a mejorar la seguridad de la cartera nativa de la nube de su organización.

¿Qué es la nube nativa?

Las aplicaciones nativas de la nube están diseñadas para la nube y, a menudo, todo el ciclo de vida del desarrollo de software (desarrollo, implementación, prueba y actualización) ocurre en un entorno de nube. La “nube” no se limita a la nube pública. Puede significar una nube híbrida con recursos remotos y locales o una arquitectura multinube con más de un proveedor de nube.

La base de computación nativa en la nube (CNCF La definición de ) identifica tres herramientas que deben usarse para la computación nativa en la nube. Estos son contenedores, una arquitectura de microservicios y orquestación dinámica. La contenedorización significa que el software se empaqueta con sus dependencias, lo que lo hace portátil y escalable. La orquestación dinámica implica el uso de herramientas como Kubernetes para administrar contenedores en la nube. Y la arquitectura de microservicios se encarga de optimizar los recursos. Los contenedores se pueden sustituir por funciones sin servidor, otro sabor común de la computación nativa en la nube.

Desafíos de la seguridad nativa en la nube

Las aplicaciones nativas de la nube plantean retos mayores para la seguridad de la infraestructura y las aplicaciones. Estos son algunos de los desafíos clave.

Numerosas entidades para asegurar

Los equipos de infraestructura y DevOps aprovechan los microservicios para ejecutar aplicaciones nativas de la nube. En el pasado, múltiples procesos o funcionalidades de software se ejecutaban en una máquina virtual. Ahora, cada proceso o capacidad se empaqueta como un contenedor independiente o una función sin servidor. Cada entidad es vulnerable al compromiso y necesita protección durante todo el ciclo de vida del desarrollo.

Relacionado:  ¿Cuáles son las ventajas de adoptar la nube en la ciberseguridad industrial?

Diversos patrones de arquitectura

Los sistemas nativos de la nube pueden abarcar una amplia gama de nubes públicas y privadas, servicios en la nube y arquitecturas de aplicaciones. Cada patrón arquitectónico puede tener diferentes vulnerabilidades y requisitos de seguridad. Los equipos de seguridad deben comprender esta superficie de ataque compleja y encontrar soluciones para proteger cada arquitectura diferente.

Entornos en Flux

Los entornos de nube pública y privada están en constante cambio. Los rápidos ciclos de lanzamiento de software significan que todos los componentes de una aplicación de microservicios pueden actualizarse diariamente. Además, la adopción de prácticas como la inmutabilidad y la infraestructura como código (IaC) significa que las aplicaciones se eliminan y recrean constantemente. Los equipos de seguridad pueden tener dificultades para asegurar estas implementaciones sin ralentizar el ciclo de lanzamiento.

Cómo proteger las aplicaciones nativas de la nube

Hay varias formas de proteger las aplicaciones nativas de la nube. Estos incluyen cambiar la seguridad a la izquierda, aplicar la seguridad del perímetro a nivel de función y contenedor, hacer cumplir roles y privilegios mínimos, asegurar las dependencias de las aplicaciones y aprovechar la responsabilidad compartida de la seguridad.

Desplazar seguridad a la izquierda

Muchas empresas aún confían en las herramientas de seguridad existentes que no pueden manejar la velocidad, el tamaño y el entorno de red dinámico de las aplicaciones nativas de la nube. Agregar funciones sin servidor hace que la infraestructura sea más abstracta, lo que empeora el problema.

Los atacantes cibernéticos buscan vulnerabilidades en los contenedores y el código de función sin servidor, así como configuraciones incorrectas de la infraestructura de la nube para acceder a entidades que contienen información confidencial, las utilizan para aumentar los privilegios y comprometer a otras entidades.

Otra parte del problema es que las organizaciones utilizan herramientas de CI/CD (por ejemplo, Jenkins, Azure DevOps y Bamboo) para desarrollar, probar y lanzar aplicaciones continuamente. Al usar contenedores para implementar aplicaciones nativas de la nube, los desarrolladores usan imágenes base recuperadas del almacenamiento local o repositorios públicos, pero a menudo sin verificar si esas imágenes contienen vulnerabilidades de seguridad.

Relacionado:  Mejora de la seguridad informática perimetral en 2022

Una solución es proporcionar a su equipo de seguridad herramientas para evitar imágenes no confiables en su canalización de CI/CD, así como mecanismos para evitar problemas de seguridad en el código antes de que se implemente en producción. Al buscar vulnerabilidades de imágenes, secretos y malware en las primeras etapas del proceso de desarrollo, los desarrolladores pueden participar en la aplicación de los estándares de seguridad.

Aplicar seguridad perimetral a nivel de función y contenedor

En las aplicaciones sin servidor, el sistema se divide en varios componentes a los que se puede llamar que aceptan activadores basados ​​en eventos de diferentes fuentes. Esto brinda a los atacantes una mayor variedad de objetivos y muchos más vectores para la actividad maliciosa.

Una práctica importante es usar herramientas de seguridad de aplicaciones y API creadas para un entorno nativo de la nube. Más allá de eso, el enfoque general es hacer cumplir la seguridad del perímetro a nivel de función, identificando las funciones que se desencadenan por una fuente diferente a la habitual y monitoreando las anomalías en los desencadenantes de eventos.

En entornos en contenedores, es importante abordar la seguridad en varios niveles: el plano de control del orquestador, los hosts físicos, los pods y los contenedores. Prácticas recomendadas de seguridad para orquestadores como Kubernetes incluyen aislar nodos, limitar y monitorear el tráfico entre contenedores y usar autenticación de terceros para el servidor API.

Funciones y privilegios mínimos

Existen numerosas y frecuentes interacciones entre los recursos nativos de la nube. La capacidad de asignar un conjunto único de permisos a cada función o contenedor sin servidor brinda una gran oportunidad para mejorar la seguridad.

Cuando ejecuta IAM por función o define permisos granulares para contenedores en un clúster, puede usar esos controles de acceso para reforzar la seguridad. Tómese el tiempo para crear un rol mínimo o un conjunto de permisos para cada función o contenedor. Esto garantiza que si un elemento de la arquitectura nativa de la nube se ve comprometido, causará un daño mínimo y evitará la escalada de privilegios a otros componentes.

Relacionado:  Construyendo una nube más segura: 5 estrategias para 2022

Dependencias de aplicaciones seguras

Las funciones sin servidor y el código de la aplicación a menudo incluyen paquetes con dependencias que se recuperan de repositorios como npm o PyPI.

Para proteger las dependencias de su aplicación, necesita herramientas automatizadas que incluyan una base de datos integral de componentes de código abierto y sus vulnerabilidades. También necesita herramientas de orquestación nativas de la nube que puedan desencadenar actividades de seguridad de la aplicación durante el proceso de desarrollo. Al ejecutar estas herramientas continuamente, puede evitar la inclusión de paquetes vulnerables en una función o contenedor que se ejecuta en producción.

Responsabilidad compartida por la seguridad

Cree asociaciones estrechas entre desarrolladores, DevOps y equipos de seguridad. Los desarrolladores no son expertos en seguridad, pero deben recibir formación sobre prácticas de seguridad y asegurarse de que codifican de forma segura. Los equipos de seguridad deben conocer cómo se desarrollan, prueban e implementan las aplicaciones, así como qué herramientas se utilizan en el proceso para que puedan ayudar a agregar seguridad a estos procesos de manera efectiva.

La nube nativa requiere una variedad de formas de administrar cómo las organizaciones administran la seguridad y el desarrollo, por lo que es importante cerrar la brecha entre los diferentes equipos lo antes posible. La adopción nativa de la nube es una rara oportunidad para que una organización facilite un cambio cultural hacia la colaboración y la propiedad compartida.

Conclusión

Este artículo proporcionó dos definiciones de nativo de la nube y explicó los desafíos de seguridad nativos de la nube, incluida la gran cantidad de entidades para proteger y el flujo constante de entornos y arquitecturas. El artículo también presentó varias mejores prácticas que pueden ayudarlo a mejorar la seguridad en el entorno nativo de la nube:

  • Desplace la seguridad a la izquierda para evitar problemas antes de que lleguen a producción
  • Aplicar seguridad perimetral a nivel de función y contenedor
  • Asigne funciones y privilegios mínimos a las entidades en una aplicación nativa de la nube
  • Proteja las dependencias de su aplicación
  • Fomentar la responsabilidad compartida por la seguridad entre desarrolladores, operaciones y seguridad

Con suerte, estos conocimientos y mejores prácticas lo ayudarán a realizar una transición segura a un modelo nativo de la nube.

Publicaciones Similares