Desarrollo seguro y gestión del cambio en CrowdHandler
CrowdHandler sigue unos procedimientos estrictos para gestionar los cambios e implementar nuevas funciones de forma segura y conforme a la normativa. Nuestras políticas actuales incluyen:
de programación segura#
Nos regimos por las directrices de OWASP y otras buenas prácticas de programación segura, entre las que se incluyen:
- Realización de análisis de código estáticos y dinámicos para identificar vulnerabilidades
- Formación para desarrolladores sobre riesgos habituales como XSS, inyecciones, configuraciones inseguras, etc.
- Mantener las dependencias actualizadas para aplicar parches a las vulnerabilidades CVE conocidas
- Almacenamiento seguro de datos confidenciales con acceso restringido
- Realizar revisiones del código entre compañeros para todas las nuevas funcionalidades y modificaciones
- Utilizar entornos independientes para el desarrollo, las pruebas, el entorno de preproducción y la producción con el fin de aislar los cambios
Pruebas automatizadas e continua#
Utilizamos pruebas automatizadas y procesos de CI/CD, entre los que se incluyen:
- Pruebas unitarias: pruebas automatizadas a nivel de código para validar la funcionalidad y gestionar los casos extremos.
- Pruebas de integración: pruebas automatizadas para verificar la interoperabilidad entre sistemas, API y componentes.
- Procesos de implementación: los cambios avanzan automáticamente a través de las fases de compilación, prueba e implementación. Los procesos se detienen en cualquier fase en la que fallen las pruebas, por lo que es necesario subsanar los errores antes de continuar.
- Pruebas «canary»: tras la implementación, se desvía un porcentaje del tráfico real hacia la nueva versión para supervisar los efectos antes del despliegue completo.
de gestión del cambio#
Los cambios y las nuevas funciones siguen un proceso definido:
- Documentación de los requisitos, los riesgos y los pasos en un registro de cambios. Cambios clasificados por nivel de riesgo.
- Revisión del diseño basada en la evaluación de riesgos y los requisitos de conformidad.
- El desarrollo en ramas de características, con revisión del código por parte de compañeros y pruebas automatizadas, es un requisito imprescindible para fusionar el código con la rama principal.
- Los cambios se implementan en el entorno de prueba para la aceptación por parte de los usuarios finales (UAT) y se aprueban definitivamente una vez superadas las pruebas.
- La implementación se llevará a cabo durante el periodo autorizado, con avisos en caso de que se prevea algún tiempo de inactividad. Se requiere una validación tras la implementación.
- Mantener un registro de auditoría de todos los cambios en la producción.
Las políticas de CrowdHandler minimizan los riesgos derivados de problemas de software o de cambios que no se han probado adecuadamente. La automatización, las pruebas, las revisiones por pares y la trazabilidad mejoran la seguridad y el cumplimiento normativo de nuestra aplicación. Los cambios pasan por distintos entornos y controles antes de implementarse en producción.