Llegamos a ustedes gracias a:



Reportajes y análisis

Cómo encontrar la herramienta de prueba adecuada para las soluciones SSO

[15/09/2021] Si ha comprado un producto de inicio de sesión único (SSO, por sus siglas en inglés), ¿cómo sabe si funciona correctamente? Parece una pregunta simple, pero responderla no es tan simple. La configuración de los complementos automatizados requerirá la comprensión de los protocolos de autenticación que utilizan. También tendrá que saber la forma en que sus diversas aplicaciones utilizan estos protocolos -tanto on premises como en SaaS- para codificarlos correctamente en el portal SSO.

Si bien los principales proveedores de SSO ofrecen soporte para cientos de aplicaciones, es posible que algunas de ellas -especialmente las propias- no estén ya en sus catálogos. Esto significa que es posible que tenga que lidiar con el esfuerzo nada trivial de escribir sus propios scripts de inicio de sesión personalizados. Algunos proveedores de SSO tienen herramientas o consultores (disponibles como parte de la compra inicial o por una tarifa adicional) para ayudarle con esto.

[Reciba lo último de CIO Perú suscribiéndose a nuestro newsletter semanal]

¿No sería bueno si pudiera ejecutar una herramienta de pruebas automatizada para saber dónde cometió un error, o dónde está fallando su software de SSO? Esto puede resultar útil en tres escenarios:

  • Cuando los proveedores de su aplicación realizan pequeños cambios en sus pantallas de inicio de sesión y estos cambios podrían alterar sus rutinas de automatización y provocar que su inicio de sesión SSO falle. Los principales proveedores de SSO afirman que tienen formas de mantenerse al tanto de esto, pero si no es así, sus usuarios generalmente se lo informarán antes de que pueda resolver el problema.
  • Cuando está implementando una nueva aplicación, ya sea una aplicación SaaS pública o algo que haya desarrollado internamente, y desee asegurarse de que su conexión SSO esté funcionando correctamente.
  • Cuando un actor malintencionado aprovecha para introducirse en su empresa. (Más sobre esto más adelante).

Para cubrir todos estos escenarios, tiene dos opciones básicas: la primera es utilizar las herramientas de prueba escritas por su proveedor de SSO. El problema es que encontrar estas herramientas no es fácil. Muchos proveedores tratan estas herramientas más como un proyecto de desarrollo secundario, que como algo que ofrecen con sus líneas de productos principales.

La segunda opción es considerar una herramienta de prueba de terceros. Una colección cada vez mayor de estas herramientas puede ayudarle a determinar si ha configurado correctamente las numerosas variables, tokens criptográficos y políticas. La advertencia es que solo funcionan con algunos de los productos SSO -al menos hasta ahora. Si bien la ausencia de una herramienta de prueba no debería influir en su decisión de compra de SSO, es bueno saber si hay alguna disponible para su eventual implementación.

Otra opción es emplear una herramienta de agente de seguridad de acceso a la nube (CASB, por sus siglas en inglés). Estas hacen otras cosas además de automatizar el inicio de sesión en sus aplicaciones SaaS, como agregar otra capa de seguridad.

Herramientas de prueba de los principales proveedores de SSO

Cuando inicia por primera vez la implementación de SSO, normalmente tiene un pequeño grupo de prueba de usuarios para asegurarse de que funciona según lo previsto para una pequeña muestra de sus aplicaciones. Algunos proveedores de SSO pueden crear un ambiente de prueba para solucionar los errores, como abastecer y desabastecer usuarios, e identificar aplicaciones desconocidas (o al menos desconocidas para la organización de TI) que necesitarán más atención.

Aquí es donde las cosas se ponen interesantes. Si esta es su primera exposición a los protocolos Security Assertion Markup Language (SAML), OpenID Connect y Open Authorization (OAuth), querrá recibir ayuda respecto a cómo los implementa su proveedor de SSO. Todos los proveedores tienen documentación abundante (y casi ilegible). Ahí es donde estas herramientas de prueba pueden resultar útiles, porque no requieren que usted estudie la sintaxis del protocolo, sino que ofrecen una interfaz más amigable para los humanos. Para tener una mejor idea de lo que le espera, puede leer este blog de Testim, que es un proveedor general de pruebas de automatización de software. Cubren los pasos para configurar pruebas de SSO típicas.

Dos proveedores de SSO tienen detalles sobre las pruebas de SSO que son buenos puntos de partida, especialmente si no conoce la diferencia entre un proveedor de servicios SAML y un proveedor de identidad. No es necesario ser cliente para utilizar la mayoría de estas herramientas.

  • La serie NetIQ (rebautizada por MicroFocus como CyberRes) de bibliotecas públicas SAML incluye una colección más amplia de lenguajes de programación.
  • La serie de herramientas de prueba SAML de OneLogin está disponible en diferentes lenguajes (PHP, Python, Ruby, Java y .NET). Una buena ventaja es que todos están disponibles en GitHub. Recientemente, lanzaron nuevos productos de automatización de flujo de trabajo que deberían facilitar el soporte de las tareas generales de abastecimiento, y tienen otros conectores que pueden ayudar a soportar los complementos personalizados de las aplicaciones.

Probablemente debería tener una instancia de prueba separada para todo el ambiente de su aplicación web, de modo que pueda experimentar con SSO sin dañar sus sistemas de producción. Cuatro proveedores los han reunido:

  • NetIQ (además de las herramientas anteriores), cuenta con Access Manager OAuth Playground donde puede probar cosas si está utilizando su propio producto de gestión de identidades.
  • CyberArk tiene varias herramientas de vista previa de SAML para validar el código generado para sus aplicaciones.
  • Ping Identity cuenta con OAuth Playground, también para este fin. Puede experimentar con scripts de OAuth y OpenID Connect sin dañar sus sistemas de producción. Ping tiene otras herramientas, como un decodificador SAML donde puede examinar los comandos de solicitud XML.
  • Okta tiene algo similar con su Red de Integración. Esto tiene conectores prediseñados para miles de aplicaciones y mucho más: herramientas integradas para seguridad adicional, analítica y aplicaciones SaaS comunes y corrientes. También dispone de abundante documentación sobre cómo crear sus propias integraciones, junto con asistentes para crear integraciones de SAML y OpenID Connect. Si bien es mucho para revisar, al menos hay muchas posibilidades de que hayan encontrado la mayoría de las aplicaciones que ejecutan sus usuarios.

Si está utilizando otros productos SSO, tendrá que recurrir a una variedad de herramientas:

  • Auth0 ofrece ayuda para solucionar problemas de implementaciones de SAML, pero los pasos manuales para resolver varios mensajes de error pueden ser tediosos. Puede seleccionar un modo de depuración especial para obtener una serie de mensajes de error más detallada. También han creado un servicio que mantiene los cambios en los servicios una vez creados. Incluso si no está utilizando Auth0, esta es una referencia útil y disponible si desea obtener información sobre la solución de problemas de SAML.
  • Matt Fuller ofrece útiles consejos de depuración para usuarios de SSO de Amazon y otras implementaciones de administración de identidad para sus servicios web.
  • Finalmente, esta herramienta de rastreo SAML de código abierto le permite depurar y solucionar problemas de tráfico de mensajes SAML desde su navegador Chrome.

Herramientas de prueba de SSO de terceros

El problema con el conjunto de herramientas del proveedor de SSO es que no tiene forma de automatizar las pruebas en toda su infraestructura de aplicaciones. Aquí es donde entran en juego los productos de terceros como Testim, mencionado anteriormente. Testim es un proveedor general de automatización de pruebas de software, del cual hay docenas, si no cientos (como Silk y Selenium, por ejemplo). Si bien Testim no ofrece ninguna herramienta específica de SSO, puede improvisar una forma de probar su implementación de SSO si tiene especialistas en el personal (o a través de outsourcing) que favorezcan un programa de automatización en particular. Otras empresas de pruebas de software cubren las implementaciones de SSO:

  • Canny: Canny funciona con Azure Active Directory y OneLogin. Una versión de Okta está en beta. Requiere widgets Canny integrados para pasar el token de SSO. Los precios se encuentran desde 50 dólares mensuales.
  • Dorothy: Dorothy, de Elastic, solo funciona con Okta y requiere Elastic Security. Los precios se encuentran desde 16 dólares mensuales.
  • SSOScan: SSOScan es un escáner de vulnerabilidades de código abierto solo para el SSO de Facebook.
  • Walrus: Walrus funciona con Okta, Auth0, IBM, ForgeRock y NetIQ. Se basa en su herramienta de prueba automatizada de propósito general. El precio no se divulga.

Muchas de estas herramientas de prueba provienen del campo general de la automatización de pruebas, lo que significa que estos proveedores pueden probar mucho más que sus aplicaciones SSO. Esas son buenas y malas noticias. Son buenas noticias porque muestra que los proveedores de automatización finalmente están prestando atención a la resolución de los problemas de SSO. Son malas noticias porque la cantidad de clientes de SSO sigue siendo un pequeño subconjunto de la base de usuarios de cada proveedor, lo que significa que encontrar una persona capacitada para soporte podría ser un desafío.

De hecho, encontrar cualquier soporte es un desafío. Ninguno de estos proveedores respondió a nuestras consultas. Otro inconveniente es que obtener documentación sobre las funciones relacionadas con SSO también requerirá algo de esfuerzo. (En el caso de Walrus, obtener su precio resultó imposible).

Las herramientas ofrecen características comunes:

  • Detección automática de fallas. Si falla una secuencia de comandos de inicio de sesión, puede identificarla antes de que sus usuarios llamen para quejarse.
  • Creación rápida de nuevos scripts de prueba. Una vez que domine las complicaciones de la herramienta, puede generar nuevos scripts en unos pocos minutos. Escribir scripts también debería ser más fácil que depurar mensajes de error de código SAML o JSON.
  • Pruebas de vulnerabilidad de software. (Cubro esto a continuación).

Si usa el módulo SSO de Okta, puede probar la mayoría de estas herramientas de automatización y ver cuál le gusta más. Si usa Auth0 (que Okta adquirió a principios de este año, pero mantiene como un producto independiente), Ping u otra cosa, entonces tiene opciones más limitadas hasta que los proveedores amplíen su soporte.

Prueba de vulnerabilidad de seguridad

Al armar una implementación de SSO, es probable que tenga algunos problemas para asegurarse de que un malhechor no se cuele en su infraestructura. En un ejemplo extremo, un hacker pudo envenenar tokens criptográficos para aumentar los privilegios en Active Directory.

Otras circunstancias son más comunes, como:

  • ¿Puede averiguar fácilmente si los usuarios que ya no están empleados se han desligado correctamente de sus inicios de sesión?
  • ¿Puede buscar usuarios administradores innecesarios o contraseñas simples o zonas de red mal configuradas?
  • ¿Puede analizar el registro de SSO de un proveedor y, de ser así, cómo se hace? (La herramienta de Elastic, Dorothy, por ejemplo, usa Fleet precisamente para este propósito).

Podría pensar que los escáneres de vulnerabilidades de propósito general pueden realizar algunas de estas tareas, pero nuevamente, no necesariamente se enfocan en la santidad de su sistema SSO. Ingrese a SSOScan, que es el único escáner de vulnerabilidad SSO de propósito general que pude encontrar, y es aún más limitado porque solo funcionará con los inicios de sesión SSO de Facebook. Debido a que es de código abierto, puede examinar cómo está construido y quizás modificarlo para que funcione con su implementación de SSO. Eso puede suponer más esfuerzo de lo que vale la pena si no usa y no le importan las integraciones de Facebook.

Probar su configuración de SSO puede resultar frustrante. Algunas herramientas nuevas de terceros pueden ayudar, especialmente si ejecuta el ambiente SSO de Okta. Otros proveedores de SSO han tardado en desarrollar mejores métodos automatizados. Si usa Okta, Ping, CyberArk o Auth0 SSO, comience con sus herramientas. Si tiene algo más, comience con las bibliotecas de código OneLogin o NetIQ. Luego agregue su capa de automatización con la herramienta que le resulte más familiar.

Puede ver también: