Por qué los desarrolladores tienen la clave de la seguridad en la nube
30 de septiembre de 2022
0 minutos de lecturaEn la época de los centros de datos locales y los primeros años de adopción de la nube, las funciones de desarrollo de aplicaciones, operaciones de infraestructura y seguridad estaban en gran medida aisladas. En la nube, esta división del trabajo aumenta el tiempo de salida al mercado de las innovaciones, reduce la productividad y genera riesgos innecesarios.
La disrupción de la seguridad: del centro de datos a la nube
En un entorno de centro de datos, los desarrolladores crean aplicaciones de software, los equipos de TI construyen la infraestructura para ejecutarlas y los equipos de seguridad se aseguran de que tanto las aplicaciones como la infraestructura sean seguras. Los desarrolladores deben crear software dentro de las limitaciones de la infraestructura y los sistemas operativos subyacentes, mientras que los procesos de seguridad determinan qué tan rápido puede avanzar todo el mundo. Cuando seguridad descubre una vulnerabilidad en producción, el proceso de corrección suele involucrar a todas las partes interesadas y requiere bastante trabajo adicional.
Al liberar a los equipos de las limitaciones físicas de los centros de datos, la nube está provocando el mayor cambio que ha experimentado la industria de TI en décadas. Sin embargo, las organizaciones tardaron años en empezar a aprovechar el verdadero potencial de la nube como plataforma para crear y ejecutar aplicaciones, en lugar de usarla para alojar aplicaciones de terceros o migradas desde un centro de datos. Cuando la nube se usa simplemente como un «centro de datos remoto», se mantiene la división tradicional del trabajo y gran parte de su potencial queda sin aprovechar.
El cambio hacia el uso de la nube como plataforma para crear y ejecutar aplicaciones está transformando profundamente la seguridad. Desde la perspectiva del cliente de la nube, plataformas como Amazon Web Services (AWS), Microsoft Azure y Google Cloud son 100 % software, y ahora los desarrolladores programan la creación y administración de la infraestructura de nube como parte integral de sus aplicaciones. Esto significa que diseñan la arquitectura de nube y establecen configuraciones críticas para la seguridad; luego, las modifican constantemente.
Esto representa una gran oportunidad para las organizaciones que compiten en industrias altamente competitivas, porque los equipos de aplicaciones y de nube pueden innovar mucho más rápido que en un centro de datos. Pero también plantea un serio desafío para los equipos que deben garantizar la seguridad de entornos de nube cada vez más complejos y dinámicos.
Empoderar a los desarrolladores debe ser una prioridad
Hoy, la única forma eficaz de abordar la seguridad en la nube es empoderar a los desarrolladores que crean y operan en ella con herramientas que les permitan trabajar de forma segura. No hacerlo convierte la seguridad en el factor que limita la velocidad de los equipos en la nube y el éxito de la transformación digital.
Para entender cómo empoderar a los desarrolladores en materia de seguridad en la nube, primero debemos definir qué significa «desarrollador». Es un término amplio que abarca varios roles, entre ellos:
Desarrolladores de aplicaciones que crean en la nube y aprovechan los servicios nativos de nube como componentes integrales de sus aplicaciones. En este modelo, el límite entre la aplicación y la infraestructura es arbitrario y cada vez más difuso, si es que no desaparece por completo.
Ingenieros de nube (es decir, DevOps) que usan infraestructura como código (IaC) para programar la configuración, implementación y administración de entornos de infraestructura de nube, y entregar esa infraestructura a los desarrolladores de aplicaciones.
Ingenieros de seguridad en la nube que usan políticas como código (PaC) para expresar políticas de seguridad y cumplimiento en un lenguaje que otras aplicaciones puedan usar para validar la seguridad de forma automática, y ofrecer estas bibliotecas de PaC a los equipos de toda la organización.
Sin importar sus descripciones de puesto, los desarrolladores controlan la propia infraestructura de computación en la nube porque esta está definida completamente por software. Cuando crean aplicaciones en la nube, también construyen la infraestructura de esas aplicaciones mediante IaC y son responsables de ese proceso.
Esto significa que el rol del equipo de seguridad ha evolucionado: ahora sus integrantes son expertos en la materia que transmiten conocimientos y reglas a los desarrolladores para garantizar un entorno de desarrollo seguro. En lugar de expresar esas reglas en lenguaje humano para que otros las entiendan e interpreten, usan PaC, que revisa otros códigos y entornos en ejecución para detectar condiciones no deseadas. PaC empodera a todas las partes interesadas de la nube para operar de forma segura, sin ambigüedades ni desacuerdos sobre las reglas y cómo aplicarlas en ambos extremos del ciclo de vida del desarrollo de software (SDLC).
Las organizaciones que gestionan bien la seguridad en la nube promueven el modelo DevSecOps y permiten que los desarrolladores garanticen la seguridad de las aplicaciones después de su implementación. IDC predice que cada vez más desarrolladores (más de 43 millones para 2025) serán plenamente responsables del rendimiento y la seguridad continuos de su código una vez que esté en ejecución.
Las configuraciones incorrectas en la nube son vulnerabilidades
Desde hace tiempo, las aplicaciones siguen un ciclo de vida de desarrollo de software que incluye las fases de creación, pruebas, implementación y monitoreo. El cambio hacia la izquierda en la seguridad de las aplicaciones ha generado un importante retorno de la inversión en velocidad, productividad y seguridad, porque es más fácil, rápido y seguro corregir los problemas en las primeras etapas del SDLC. Con la adopción de IaC, la infraestructura de nube ahora tiene su propio SDLC, lo que significa que la seguridad en la nube también puede y debe abordarse antes de la implementación.
La principal preocupación en materia de seguridad en la nube son las configuraciones incorrectas. Sin embargo, es importante reconocer que una configuración incorrecta puede ser cualquier aspecto de tu entorno de nube que no logre detener a los actores maliciosos. Estamos más familiarizados con las configuraciones incorrectas de recursos individuales que suelen aparecer en las noticias sobre filtraciones de datos en la nube, como dejar abierto un puerto peligroso o permitir el acceso público a un servicio de almacenamiento de objetos. Pero las configuraciones incorrectas también pueden afectar a todo el entorno: vulnerabilidades arquitectónicas que permiten a los atacantes descubrir recursos, desplazarse por el entorno y extraer datos.
Todas las grandes filtraciones de datos en la nube implican la explotación de estos defectos de diseño en los entornos de nube o la vulneración del plano de control. El plano de control es la superficie de API que configura y opera la nube. Por ejemplo, puedes usar el plano de control para crear un contenedor, modificar una ruta de red y obtener acceso a bases de datos o a sus instantáneas (que son más populares entre los atacantes que las bases de datos de producción en vivo). En otras palabras, el plano de control de API es el conjunto de API que se usan para configurar y operar la nube.
Las API impulsan la computación en la nube. Eliminan la necesidad de una arquitectura de TI fija en un centro de datos centralizado. Esto significa que los atacantes no tienen que respetar los límites arbitrarios que las empresas establecen alrededor de los sistemas y almacenes de datos en sus centros de datos locales. Aunque identificar y corregir las configuraciones incorrectas es una prioridad, es esencial entender que son solo un medio para el objetivo final de los atacantes: vulnerar el plano de control, algo que ha desempeñado un papel central en todas las grandes filtraciones de datos en la nube hasta la fecha.
5 pasos para respaldar un desarrollo seguro en la nube
Es fundamental empoderar a los desarrolladores para que encuentren y corrijan configuraciones incorrectas de la nube al desarrollar IaC. Pero es igual de importante darles las herramientas que necesitan para diseñar una arquitectura de nube que sea segura por naturaleza frente a los ataques actuales que vulneran el plano de control.
Hay cinco pasos que cualquier organización puede seguir para empoderar eficazmente a los desarrolladores para que operen de forma segura en la nube:
1. Comprende tu entorno de nube y tu SDLC
Los equipos de seguridad deben integrar ingenieros en los equipos de aplicaciones y DevOps para entender todo lo que está en ejecución, cómo está configurado, cómo se desarrolla e implementa, y cuándo se realizan cambios. Debes saber qué aplicaciones están asociadas a los recursos de nube, qué datos hay y cómo se usan. Piensa como un atacante para identificar los riesgos de vulneración del plano de control.
2. Prioriza el diseño seguro y evita las configuraciones incorrectas
Una vez que está en marcha un ataque que vulnera el plano de control, por lo general ya es demasiado tarde para detenerlo. La seguridad eficaz en la nube exige prevenir las condiciones que posibilitan estos ataques. Integra la seguridad en todo el SDLC de nube para detectar las configuraciones incorrectas antes de implementarlas y enfócate en diseñar arquitecturas de entorno seguras por naturaleza.
3. Empodera a los desarrolladores con herramientas que los orienten en seguridad
Los desarrolladores trabajan rápido, y las herramientas de seguridad deben adaptarse a su forma de trabajar si queremos que las adopten sin reducir su velocidad. Las herramientas de seguridad en la nube deben proporcionarles comentarios útiles y prácticos sobre los problemas de seguridad y cómo corregirlos rápidamente.
4. Adopta políticas como código para la seguridad en la nube
PaC ayuda a los equipos de seguridad a ampliar el alcance de su trabajo con los recursos disponibles, al empoderar a todas las partes interesadas de la nube para operar de forma segura, sin ambigüedades ni desacuerdos sobre cuáles son las reglas y cómo deben aplicarse. Alinea a todos los equipos en torno a una única fuente de verdad para las políticas, elimina los errores humanos al interpretarlas y aplicarlas, y permite automatizar la seguridad (evaluación, aplicación, etc.) en cada etapa del SDLC.
5. Enfócate en la medición y la mejora de procesos
La seguridad en la nube se trata menos de detectar intrusiones y monitorear redes en busca de actividades maliciosas, y más de prevenir los ataques. Los equipos de nube exitosos evalúan continuamente el riesgo de su entorno y la productividad de los equipos de desarrollo y seguridad, que debería mejorar a medida que se automatizan las tareas manuales propensas a errores.
La seguridad en la nube empieza con los desarrolladores
Los desarrolladores están en la mejor posición —y a menudo son los únicos— para proteger su código antes de la implementación, mantener su integridad en producción y entender dónde aplicar correcciones. Pero también son personas propensas a cometer errores, que trabajan en un mundo de experimentación y fallas constantes. La automatización basada en PaC elimina el riesgo de error humano al automatizar la búsqueda y detección de errores antes de la implementación.
Las organizaciones que adoptan un enfoque de seguridad en la nube centrado primero en los desarrolladores innovarán más rápido y de forma más segura que sus competidores.
Seguridad de IaC diseñada para desarrolladores
Snyk protege tu infraestructura como código desde el ciclo de vida del desarrollo de software hasta el runtime en la nube con un motor unificado de políticas como código, para que todos los equipos puedan desarrollar, implementar y operar de forma segura.



