Que la implantación de DevOps en tu empresa es fundamental es ya una verdad universal. El cada vez más exigente Time To Market ha hecho que la agilidad y la calidad en el proceso de desarrollo de software estén unidos, y la solución idónea es la automatización de todas las fases de construcción y testeo del código; o lo que es lo mismo, la Integración Continua.
Llevar a cabo esta filosofía es el principal exponente de madurez durante el desarrollo de proyectos, pero todavía hay un factor clave más que hay que añadir: la seguridad. En su evolución natural, DevOps cuenta con la implantación de SecDevOps. ¿En qué consiste?
Antes de aplicar SecDevOps y siguiendo el ciclo de vida de DevOps, el equipo de seguridad comenzaría a aplicar sus controles en una de las últimas fases, la de Despliegue, demasiado tarde si tenemos en cuenta que se encontrarán fallos y el equipo de desarrollo deba solucionarlos, ocasionando un retraso en los tiempos de entrega y yendo totalmente en contra de la filosofía DevOps.
[Tweet «La diferencia entre comenzar a aplicar controles de seguridad al final del proyecto o aplicarlos desde el inicio: SecDevOps vía @bravent»]
Por eso, se debe implantar desde la fase de Planificación, e ir subsanando los fallos antes de que pase al siguiente punto de desarrollo:
- Planificación. Es el momento de analizar el tipo de amenazas con los que se puede encontrar el proyecto, como la autenticación de usuarios, servidores externos, cifrado… Aquí se crearán todas las tareas relativas a la seguridad separadas por fases.
- Programación. El responsable de seguridad del proyecto deberá encargarse de que el equipo de desarrollo esté familiarizado con el correcto uso de las diferentes herramientas de seguridad y los posibles ataques a los que se puedan enfrentar.
- Testing: Como en un proceso de desarrollo de software cualquiera, se realizan tests unitarios y de integración; en este caso, de seguridad, todos previamente preparados en el proceso de Planificación.
- Empaquetado: Se realiza un escaneo de seguridad tanto en las librerías externas como en las imágenes, en el caso de contar con Docker.
- Lanzamiento: Se trata de instalar el dispositivo en un repositorio central para que pueda ser utilizado durante la fase de despliegue.
- Despliegue: Es el momento de desplegar la aplicación para hacer todas las pruebas necesarias. En este caso, se creará un entorno de prueba específico para probar la seguridad.
- Funcionamiento: La aplicación ya está en funcionamiento. Ahora es el turno de asegurarnos de su total seguridad por medio de pruebas más específicas.
- Monitoreo: Nunca hay que dejar de hacer pruebas de seguridad, por eso, la fase de monitoreo se centra en hacer un seguimiento para detectar posibles ataques.
La seguridad es una de las partes fundamentales de nuestra filosofía, tanto en un proceso de desarrollo de software como en cualquier punto relacionado con las nuevas tecnologías. Por eso, en Bravent siempre optamos por la implantación temprana de protocolos como SecDevOps, además de contar con la confianza que nos brinda la nube de Azure. Y tu empresa, ¿qué procesos de seguridad tiene?