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:

  1. Documentación de los requisitos, los riesgos y los pasos en un registro de cambios. Cambios clasificados por nivel de riesgo.
  2. Revisión del diseño basada en la evaluación de riesgos y los requisitos de conformidad.
  3. 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.
  4. 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.
  5. 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.
  6. 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.