The Secure Developer: DevSecOps en Azure con Victoria Almazova, de Microsoft
Hayley Denbraver
26 de septiembre de 2019
0 minutos de lecturaEn febrero de este año, Snyk lanzó una nueva comunidad educativa, independiente de proveedores y enfocada en la seguridad: The Secure Developer. Snyk quiere ayudar a los desarrolladores a adoptar una mentalidad de seguridad durante todo el proceso de desarrollo, y la comunidad The Secure Developer es el lugar ideal para hacerlo: un espacio para aprender las mejores prácticas de seguridad de expertos, de una manera accesible y positiva.
Durante los últimos siete meses, The Secure Developer ha organizado sesiones virtuales cada dos semanas sobre temas que van desde la seguridad de los microservicios hasta los 10 controles proactivos principales de OWASP.
Si dudas del valor de una sesión virtual, permíteme darte una pequeña muestra con un repaso de una sesión reciente de Secure Developer. Espero que te convenza de acompañarnos en nuestra próxima sesión virtual.
DevSecOps en Azure con Victoria Almazova, de Microsoft
Victoria Almazova es arquitecta de soluciones en la nube en Microsoft. Su trabajo consiste en ayudar a las personas a planificar, diseñar e implementar sus proyectos en la nube de Azure. Tiene en cuenta la seguridad durante todo este proceso, y eso es precisamente de lo que habló en su reciente sesión. Victoria nos explicó sus procesos para:
implementar la seguridad de Azure en el nivel de suscripción
desarrollar aplicaciones seguras
implementar tus aplicaciones de forma segura
analizar periódicamente los entornos de producción para verificar el cumplimiento y la seguridad
Cuando DevOps empezó a popularizarse, Victoria se mostró escéptica porque parecía dejar de lado la seguridad. Con el tiempo, adoptó la idea de DevOps, pues ofrecía la oportunidad de integrar la seguridad de una manera más integral. Victoria definió DevOps como la unión de personas, procesos y tecnología que permite entregar valor de forma continua a los usuarios finales. Te guste o no el término de moda «DevSecOps», la seguridad sí tiene la oportunidad de participar en todo el proceso de DevOps, de principio a fin, y hacer que el producto final sea aún más valioso.
Integrar la seguridad en un proceso de DevOps puede parecer abrumador, así que Victoria nos propone algunos puntos de partida.
La infraestructura puede ser una oportunidad fácil para empezar. Victoria recomienda organizar las suscripciones de Azure por proyecto y por entorno. Esto ayuda a garantizar los permisos y la configuración adecuados para cada proyecto y entorno. También es importante que las políticas sean transparentes y proactivas. Además, Victoria sugirió usar Azure Security Center desde el primer día.
Para completar sus recomendaciones sobre infraestructura, Victoria considera fundamental adoptar un enfoque de Infraestructura como código (IaC). Si no conoces el término, IaC consiste en administrar la infraestructura mediante un modelo descriptivo, con el mismo control de versiones que los equipos de DevOps usan para el código fuente. El modelo de IaC combate las desviaciones entre entornos y permite crear entornos coherentes.
El último consejo de Victoria para proteger la infraestructura es permitir que los entornos de producción se actualicen únicamente mediante el pipeline de integración continua y entrega continua (CI/CD), nunca mediante un proceso manual. El pipeline de CI/CD es fundamental para las iniciativas de seguridad. Al pasar a hablar sobre la seguridad de las aplicaciones, Victoria explicó a la comunidad cómo esta se relaciona con las distintas etapas del pipeline de CI/CD. Según Victoria, estas son:
Antes del commit
Commit (CI)
Aceptación (CD)
Producción
Operaciones
Cada una de estas etapas puede reforzarse con prácticas de seguridad, que se describen en las siguientes secciones.
Antes del commit
En la etapa previa al commit, los desarrolladores escriben código nuevo o modifican el existente. Toda inversión en seguridad durante esta etapa dará frutos más adelante, ya que en este punto del pipeline es más fácil hacer cambios. Es un momento ideal para modelar amenazas, usar un complemento de seguridad para el IDE, seguir los estándares de codificación segura del equipo y hacer revisiones entre pares.
Commit (CI)
En la etapa del commit, puedes configurar varios procesos para que se ejecuten automáticamente. Entre las consideraciones de seguridad en este punto del pipeline de CI/CD se incluyen el análisis estático del código, las pruebas unitarias de seguridad y la administración de dependencias.
Aceptación (CD)
Entre las consideraciones de seguridad pertinentes en la etapa de aceptación se incluyen IaC, el análisis de seguridad, la configuración de la nube y las pruebas de aceptación de seguridad. Estas pruebas pueden realizarse en un entorno de QA o de pruebas antes de pasar a producción.
Producción
Entre los procedimientos de seguridad que aportan valor en producción se incluyen las pruebas rápidas de seguridad, las verificaciones de configuración y las pruebas de penetración.
Operaciones
En la etapa de operaciones, los procesos continuos de monitoreo, inteligencia de amenazas, pruebas de penetración y análisis retrospectivos sin culpabilización ayudan a reforzar una buena postura y cultura de seguridad.
The Secure Developer
Victoria cerró su sesión con una demostración y una ronda de preguntas y respuestas. Te recomiendo ver la presentación completa aquí. Me gustó la perspectiva de Victoria sobre las muchas maneras en que los desarrolladores pueden mejorar sus prácticas de seguridad, ya sea que implementen un proyecto en la nube de Azure o en otra solución.
La comunidad The Secure Developer se compromete a invitar a excelentes ponentes como Victoria Almazova tanto a nuestras sesiones virtuales como a nuestro podcast. Si te interesa aprender más sobre todos los aspectos de la seguridad, considera unirte a la comunidad. Nos encantará verte.


