Inconsistencias encontradas en los encabezados HTTP del proveedor de OpenID. ¿Cuál es el más seguro que debo imitar en mi STS y en Relying Party?

8

Estoy comparando los encabezados HTTP de los distintos proveedores (LiveID, Google, Yahoo, etc.) y observo una gran inconsistencia en la implementación en la página de inicio de sesión, la página de cierre de sesión y las páginas subsiguientes.

  

¿Qué encabezados debo configurar / ignorar, y cuál es el valor correcto para usar en los siguientes escenarios:

     
  • inicio de sesión
  •   
  • Uso general ( solo HTTPS , o HTTP regular)
  •   
  • SignOut
  •   

Aquí hay una lista de encabezados que he notado y las diferencias entre ellos. Estoy seguro de que cada compañía tenía personas inteligentes que implementaban u omitían ciertos encabezados por una razón; Simplemente no puedo decir qué proveedor tiene la mejor implementación.

Mi apuesta es que cada proveedor tiene algo de lo que otros pueden aprender.

Expires:

  • LiveID establece el encabezado Expires exactamente un minuto antes de la hora actual
  • Google y MyOpenID tienen el encabezado Expires igual a la hora actual
  • Yahoo expira el jueves, 5 de enero de 1995 22:00:00 GMT
  • El PIP de Verisign expira el jueves, 01 de enero de 1970 00:00:00 GMT
  • Facebook caduca el sábado, 01 de enero de 2000 00:00:00 GMT
  • ADFSv2 -1
  • No está presente en Azure ACS

Control de caché:

  • Yahoo & Azure ACS: privado
  • Facebook: privado, sin caché, sin tiendas, debe revalidarse
  • MyOpenID: max-age = 86400
  • PIP: no-cache, no-store, max-age = 0
  • ADFSv2: no-cache

Pragma

  • Yahoo, LiveID, Facebook: no-cache
  • El valor de Google, MyOpenID, Azure ACS no existe.

Opciones de tipo de contenido X: Detalles de IE8 , Detalles de IE9

  • Azure ACS, Google,: nosniff

X-XSS-Protection Detalles Más detalles

  • Facebook, LiveID, ADFSv2: 0
  • Google: 1; mode = bloque
  • No está presente en Azure ACS y otros proveedores

Opciones de X-Frame Más detalles

  • Yahoo: X-Frame-Options: DENY
  • Google: SAMEORIGIN

Access-Control-Allow-Origin ( Cómo usarlo con múltiples dominios )

  • Google (se aplican condiciones)

Strict-Transport-Security Consulte también cómo deshabilitar para la depuración

  • Google (se aplican condiciones)
  • PayPal / Lastpass (500 segundos = bit en 8 minutos)
  • market.android.com (2592000 segundos = 30 días)

X-Pad // Una solución para versiones muy antiguas de Netscape

  • Verisign PIP

Por último, es interesante que Facebook tenga dos encabezados con respecto a la conexión HTTP X-Cnection: close y Connection: Keep-Alive . No estoy seguro de si son relevantes, pero los estoy incluyendo aquí para completarlos.

    
pregunta random65537 29.10.2011 - 09:09
fuente

1 respuesta

3

Use HTTPS, cachin / expires no importará. X-XSS-Protection como lo hace Google. Strict-Transport-Security (y la directiva de subdominio) Nosniff, culpar a IE. X-Pad ... si alguien usa Netscape ... hay problemas mayores.

    
respondido por el Steven 29.10.2011 - 12:11
fuente

Lea otras preguntas en las etiquetas