HTTP no se está convirtiendo a HTTPS con HSTS

7

Estoy buscando el comportamiento de HSTS en los sitios web HTTP y HTTPS, y sus recursos integrados HTTP y HTTPS. Entiendo que si el servidor ha pasado un encabezado de respuesta HSTS en una respuesta HTTPS, o si el nombre del sitio está presente en la lista de precarga HSTS, entonces todos los recursos de esa solicitud se enviarán a través de HTTPS.

Sin embargo, al inspeccionar algunos sitios a través del Inspector web de Firefox, estoy notando algunas discrepancias. Por ejemplo, aquí en cnn.com (un sitio web HTTP), algunas de las solicitudes de los subdominios de doubleclick.net están pasando por HTTP, a pesar de que está presente en la lista de precarga de HSTS sobre here (con include_subdomains: true).

SoloparacomprobarsieldominioraízestabaenviandoelencabezadoHSTS,naveguéalenlacead.doubleclick.netenlabarradedireccionesdelaubicaciónquemedirigióalsitioprincipaldeDoubleClickhttps://www.doubleclickbygoogle.com.AquíseenvíaelencabezadoHSTS:

Sinembargo,nohayningúnefectoenlassolicitudesdedoubleclickencnn.comcuandorecargo:

OtracosainteresanteesquecuandointentoubicarlaetiquetadeorigendelasolicitudenelDOMyendoalapestañaInspector,nohaytaletiquetaconhttp://ad.doubleclick.net(encadenadaconalgunascadenasdeconsulta).Losencabezados"Causa" y "Tipo" en el inspector parecen indicar que es un tipo de píxel de rastreador.

¿Alguien tiene alguna idea de lo que podría estar pasando aquí?

    
pregunta QPTR 19.10.2016 - 10:55
fuente

2 respuestas

9

Para citar el código fuente que mencionas:

354  // Other Google-related domains that must use an acceptable certificate
355  // iff using SSL.
     ...
361  { "name": "doubleclick.net", "include_subdomains": true, "pins": "google" },

Esto significa que el certificado está anclado iff el sitio se sirve a través de https. No significa que el sitio deba ser servido a través de https. Esto es diferente para otros dominios donde se establece el atributo force-https :

264  { "name": "accounts.google.com", "include_subdomains": true, "mode": "force-https", "pins": "google" },

EDITAR: basado en el código fuente de Chromium (función TransportSecurityState::GetStaticDomainState en net/http/transport_security_state.cc ) Intentaré explicar la información que se puede ver en chrome://net-internals/#hsts y cómo se relaciona con la información estática de net/http/transport_security_state_static.json usando el ejemplo doubleclick.net :

static_sts_domain: doubleclick.net
static_upgrade_mode: OPPORTUNISTIC

OPPORTUNISTIC es el modo predeterminado ( STSState::MODE_DEFAULT ). Esto significa que no fuerza HTTPS. El modo predeterminado se usa ya que no se proporcionó una configuración explícita de force-https en la configuración.

static_sts_include_subdomains: true

Ya que no impone https, esta configuración no importa. Pero el valor puede deberse a la configuración de include_subdomains que se muestra arriba, incluso si esta línea de configuración no incluye force-https .

static_sts_observed: 1476162000

Este es el tiempo de compilación de la lista estática HSTS / HPKP, es decir, 2016/09/04 en este caso.

static_pkp_domain: doubleclick.net
static_pkp_include_subdomains: true
static_pkp_observed: 1476162000
static_spki_hashes: sha256/IPMbDAjLVSGntGO3WP53X/zilCVndez5YJ2+vJvhJsA=,sha256/7HIpactkIAq2Y49orFOOQKurWxmmSFZhBCoQYcRhJ3Y=,sha256/h6801m+z8v3zbgkRHpq6L29Esgfzhj89C1SyUCOQmqU=

Esta es la información sobre el anclaje. Estos tienen una relación directa con la configuración que se muestra arriba (es decir, include_subdomains y qué pines deben usarse).

    
respondido por el Steffen Ullrich 19.10.2016 - 12:47
fuente
3

HSTS solo se aplica al dominio que se ha establecido.

Lo que está buscando es una directiva CSP de solicitudes de actualización insegura.

  

Política de seguridad del contenido: solicitudes de actualización inseguras

En la lista de precarga de HSTS, doubleclick.net NO aparece en la lista de HSTS para la fijación de claves.

Más detalles sobre enlace

    
respondido por el Tom 19.10.2016 - 12:11
fuente

Lea otras preguntas en las etiquetas