Durante más de una década, GitHub ha ofrecido a las empresas la posibilidad de autenticarse mediante SAML, integrando el inicio de sesión único con sus productos desde el lanzamiento de GitHub Enterprise Server 2.0.0 en noviembre de 2014. El sistema ha permitido a sus clientes extender políticas de acceso y gestionar organizaciones de manera eficiente.
El desarrollo y mantenimiento de la implementación de SAML han sido tareas críticas, ya que implican procesos complejos de autenticación que establecen confianza entre proveedores de identidad y GitHub. Este sistema incluye la creación de solicitudes de autenticación y el procesamiento de respuestas SAML, aspectos que son fundamentales para la seguridad, puesto que cualquier error podría llevar a falencias en la autenticación o suplantación de usuarios.
GitHub siempre ha invertido en asegurar estos sistemas colaborando con investigadores internos y externos para mitigar vulnerabilidades detectadas. Sin embargo, la complejidad de los problemas subyacentes seguía siendo una preocupación constante.
En el último año, el equipo de GitHub decidió analizar su implementación actual de SAML, explorando bibliotecas externas con el objetivo de fortalecer su estrategia. Tras una evaluación exhaustiva, se decidieron por ruby-saml debido a su fuerte comunidad y soporte, lo cual representó una ventaja sobre su implementación interna.
Para asegurar esta nueva dirección, GitHub empleó pruebas A/B para observar el impacto de la nueva lógica de procesamiento SAML. Este enfoque de pruebas experimentales permitió una transición cuidadosa a la nueva biblioteca, manteniendo la estabilidad del sistema mientras se comprobaban los beneficios de ruby-saml.
Además, GitHub se enfocó en la validación de esquemas y en minimizar la superficie de ataque, lo cual les llevó a aplicar validaciones más estrictas y reducir la complejidad de procesamiento de datos. La implementación de un análisis dual, utilizando tanto la antigua como la nueva biblioteca, refuerza su sistema de autenticación y limita el impacto de futuras vulnerabilidades.
Hoy, GitHub gestiona casi un millón de respuestas SAML diarias con mayor resiliencia gracias a este enfoque incrementado y basado en datos. La experiencia adquirida se perfila como un ejemplo para otras empresas que enfrentan desafíos similares en sus sistemas críticos. Esta estrategia subraya la importancia de llevar a cabo mejoras graduales y controladas en la infraestructura tecnológica, maximizando la seguridad y eficiencia operativa.