¿Es seguro permitir HTTP para la URL del emisor de SAML 2.0?

1

He implementado SAML 2.0 usando la gema ruby-saml en mi aplicación Rails. En esta aplicación, los clientes pueden especificar su IDP SAML para su cuenta. Tengo un cliente que insiste en que requerir HTTPS para la URL del Emisor no hace nada por seguridad. Pensé que esta URL representa su proveedor de identidad. Por eso, pensé que permitir que los proveedores de identidad HTTP pudieran abrir mi aplicación a ataques MITM, a través de su aplicación.

¿Es seguro permitir URL de HTTP para URL de emisor para implementaciones de SAML 2.0? Si es así, me gustaría saber por qué.

    
pregunta Archonic 29.07.2016 - 21:05
fuente

2 respuestas

1

De hecho, es seguro usar HTTP para la URL del Emisor. No hay intercambio de información confidencial entre un proveedor de servicios y un proveedor de identidad en la URL del Emisor, por lo que el protocolo para ese valor puede ser ambiguo. Las otras URL que representan la URL del proveedor de identidad deben estar absolutamente en HTTPS, de lo contrario estaría exponiendo su servicio a proveedores de identidad que son vulnerables a los ataques MITM.

La URL del Emisor simplemente sirve un archivo XML con metadatos sobre su implementación SAML. No es raro ver las URL de HTTPS para la URL del Emisor, ya que normalmente se encuentra en el mismo dominio que el proveedor de identidad. Este no es siempre el caso, sin embargo. Okta y ADFS son dos servicios que alojan el metadato XML en un dominio separado, que puede no tener HTTPS.

    
respondido por el Archonic 03.08.2016 - 03:38
fuente
1

Creo que técnicamente, HTTP para la URL del emisor está bien ya que los datos que se están La transmisión es menos sensible. Sin embargo, también diría que hacerlo HTTPS tambien esta bien En el pasado, existía la creencia de que solo debería usar HTTPS donde era absolutamente necesario debido a los gastos generales adicionales involucrados y El rendimiento potencial golpea. Con el aumento de velocidades y potencia de procesamiento, este argumento ya no es tan válido (aunque todavía hay muchos sitios con una arquitectura que se basa en gran medida en el almacenamiento en caché para el rendimiento donde HTTPS puede tener un impacto global adverso).

Tiendo a sentir que la complejidad es ahora una de nuestras principales amenazas. Tener un La aplicación que usa HTTP en algunos contextos y HTTPS en otros agrega a esto Complejidad y dificulta la verificación. Mucho más fácil de monitorear y modificar todo está bien si todo lo que necesita hacer es asegurarse de que todas las conexiones estén HTTPS en lugar de tener que verificar todas las conexiones que no son HTTPS están bien.

    
respondido por el Tim X 30.07.2016 - 06:30
fuente

Lea otras preguntas en las etiquetas