No te duermas en los laureles de la seguridad: muchas prácticas de DevOps ya vienen preparadas para luchar contra las amenazas
Entre los responsables que implantan prácticas de DevOps suele cundir la falsa creencia de que seguir buenas prácticas en materia de seguridad les va a ralentizar. Como consecuencia, los equipos de seguridad tienden a quedar fuera de la ecuación. Solo una cuarta parte de las empresas que entrevistamos para el informe «El punto de inflexión de la seguridad en la web», que elaboramos en colaboración con Enterprise Strategy Group (ESG) Research, aseguró haber centralizado el control de la seguridad en todas las aplicaciones y aspectos de su entorno.
Sin embargo, hay determinadas prácticas de DevOps que ya vienen preparadas para admitir medidas de seguridad. Vamos a explicar algunas ideas sobre medidas de seguridad que podrías incluir en las prácticas de DevOps y que, además, te ayudarán a ver la seguridad no como un obstáculo, sino como una ventaja.
Los despliegues continuos exigen visibilidad de las posibles amenazas
El concepto central sobre el que gravita DevOps es un modelo de despliegues continuos que incrementa el ritmo de publicaciones. Así, tus equipos podrán innovar a mayor velocidad y ofrecer mejores productos y experiencias a tus clientes.
No obstante, la adopción de componentes y marcos de código abierto o nativos en la nube agrava la falta de visibilidad en áreas esenciales de la seguridad de las aplicaciones. Por ejemplo, la base de código media de una aplicación está compuesta en un 70 % de código abierto y, en casi el 90 % de los casos, el software contiene componentes que llevan más de cuatro años sin actualizarse o dos años sin someterse a tareas de desarrollo. Evidentemente, este panorama abre las puertas a posibles amenazas sin ser detectadas.
Te convendría sacar provecho de herramientas que protejan los sistemas y que, asimismo, ofrezcan nuevas perspectivas sobre amenazas y vulnerabilidades a tus equipos de seguridad, DevOps y desarrollo. La mejora de la visibilidad significa para tus equipos tener acceso a telemetría de seguridad con las herramientas de DevOps y seguridad que ya utilicen (como Jira, PagerDuty, Slack y Splunk). Además, les ahorra tener que conectarse a otra consola de administración.
La integración garantiza los entornos de seguridad adecuados y las correcciones rápidas
Algunas herramientas de seguridad, como SAST (Static Application Security Testing) o DAST (Dynamic Application Security Testing), ponen a prueba una instantánea de la base de código en entornos de desarrollo. Pero, al publicarse para la fase de producción, esta base posiblemente haya incorporado cambios, lo cual ocasiona falsos positivos si las reglas del WAF se concibieron para la versión anterior de la base. Esta circunstancia suscita más dificultades dada la rapidez de los ciclos de software de DevOps.
Según el informe conjunto que he mencionado antes, las empresas notificaron una media de 53 alertas diarias a través de sus herramientas de seguridad para aplicaciones web y API. De estas, el 45 % fueron falsos positivos. En definitiva, el 75 % de las empresas dedican tanto o más tiempo a los falsos positivos que a los ataques reales.
Ante este tsunami de alertas falsas, es tentador pasar por alto la mayoría de las alertas y no investigarlas; se generan así roces entre los departamentos de desarrollo y seguridad. Para reducir esta fricción y evitar que aumente más la deuda de seguridad, es importante que los desarrolladores con los que trabajes tengan confianza en tus herramientas de seguridad e integren las que utilicen en la canalización de DevOps.
La tendencia generalizada es que sean los equipos de desarrolladores quienes decidan sobre su propio stack de aplicaciones. Esto da pie, lamentablemente, a una explosión de entornos operativos y de desarrollo alojados en ocasiones en proveedores de nube diferentes. Es vital asegurarse de que las herramientas de seguridad funcionen con eficacia para aportar visibilidad de los entornos en que operen tus aplicaciones, así como de la canalización que escojan tus desarrolladores.
En el contexto de empresas centradas en servicios de DevOps basados en el edge, la implementación de los controles de seguridad en forma de código permite a los desarrolladores implantar medidas de seguridad en todos los pasos de la canalización de DevOps.
Por tanto, te interesa encontrar servicios de edge que estén dotados de API extensas y compatibilidad con diversos lenguajes de desarrollo, así como de una integración sólida en la canalización y cadenas de herramientas de DevOps actuales. De este modo, los desarrolladores podrán establecer los entornos de seguridad idóneos para los distintos objetivos de cada aplicación (desarrollo, ensayos o producción). Además, podrán insertar correcciones y revisiones con rapidez en las aplicaciones en producción sin tener que preocuparse por falsos positivos, cuya rectificación requiere mucho tiempo.
Las herramientas de seguridad nativas de DevOps hacen posible la automatización
La detección y la realización de pruebas no son los únicos procesos de seguridad que deben beneficiarse del impulso de la automatización. Esta debe abarcar desde las pruebas hasta la respuesta ante ataques, pasando por el despliegue y la detección.
Cuando se trata de filtraciones de datos, la diferencia entre uno y 10 o 20 minutos es enorme. Si automatizas tus procesos, podrás adoptar medidas correctivas a la velocidad de las máquinas. En el mundo actual, los ataques son a menudo automatizados, de modo que automatizar las líneas defensivas contribuye a que el campo de batalla esté más equilibrado.
Las herramientas de seguridad nativas de DevOps, como los firewalls de aplicaciones web de nueva generación o la automatización de las pruebas, que se integran con la infraestructura de desarrollo y los componentes nativos en la nube, como Kubernetes y Envoy, sin que haga falta cambiar la base de código o la instrumentación con cada despliegue permiten hacer realidad este nivel de automatización. Una vez que se hayan desplegado, podrás automatizar la supervisión de la velocidad del tráfico, el rendimiento de las aplicaciones, la detección de ataques y anomalías, así como la respuesta a los mismos.
Las soluciones integradas empoderan a los desarrolladores, que podrán centrarse en su trabajo sin sacrificar el rendimiento
En las empresas grandes en las que hay varios equipos reducidos de desarrollado que se encargan de su propio código, el despliegue y los entornos, suele ocurrir que cada equipo cuenta con su propia versión de las herramientas, utilizan componentes de software distintos y establecen procesos diferentes.
Así, la complejidad añadida de gestionar entornos de desarrollo dispares hace que sea mucho más difícil proteger los entornos y el software resultante. Simplificar el entorno de desarrollo y concentrar procesos de DevOps de uso frecuente en servicios comunes permite disminuir la redundancia y minimizar la complejidad, al tiempo que crea las condiciones para que las pruebas de seguridad y los cambios de configuración abarquen más exhaustivamente la cartera de aplicaciones de la empresa.
Tus desarrolladores necesitan una plataforma que aúne fiabilidad, rendimiento y seguridad para poder centrarse en el desarrollo de aplicaciones. Si tienen que estar pendientes del mantenimiento de la infraestructura, es probable que sacrifiquen la seguridad con tal de cumplir con los plazos.
Aunque es importante ser flexibles, si cuentas con una infraestructura común para manejar las tareas más complejas (autenticación, cifrado de datos y gestión de roles), tus desarrolladores ya no tendrán que preocuparse por la seguridad, puesto que ya estará integrada en el entorno.
Conclusión: integra prácticas de DevOps seguras en tu estrategia de transformación digital
Es cierto. Los equipos empresariales, los desarrolladores y los profesionales de la seguridad de aplicaciones tienen sus propios problemas, incentivos y prioridades. Sin embargo, si pretendes crear una organización de DevOps que sea eficaz, estos tres grupos deben acercar posturas en la mentalidad y el trabajo para incorporar la seguridad en DevOps de modo que sea un activo para el negocio.
Tradicionalmente, los equipos de seguridad han impuesto determinadas directivas de seguridad sin siquiera consultar la opinión de los equipos de desarrollo. A su vez, a los desarrolladores se les incentiva para que creen código funcional con rapidez; código que, sin embargo, no suele incorporar hitos de seguridad. Ambos grupos deben colaborar con el fin de crear una mentalidad que fomente objetivos de seguridad viables. De este modo, podrán centrarse en ofrecer mejores productos y experiencias a sus clientes. Para empezar con buen pie, conviene utilizar una canalización de DevOps segura.
Descárgate el informe completo de ESG para conocer de primera mano las tendencias más vanguardistas de seguridad y los desafíos a los que se enfrentan las empresas hoy en día.