La política de HSTS se está aplicando * a veces *

2

He implementado una política de HSTS para nuestro sitio. Tengo el encabezado que se sirve en nuestro dominio principal y se envía en la primera respuesta que sirve a la Redirección 304 desde el servidor. (De acuerdo con este artículo , el encabezado debe estar en esta respuesta). Tenemos la directiva includeSubDomains y preload y hemos precargado nuestro sitio. Está listado en el archivo de configuración de chromium json.

El problema es que a veces la política se aplica para subdominios, y otras veces no, y no puedo entender por qué.

Aquí se ve una solicitud y respuesta GET inicial de nuestro dominio (he reemplazado nuestro nombre de dominio con REDACTADO):

SOLICITAR

GET http://www.REDACTED.com/ HTTP/1.1
Host: www.REDACTED.com
Connection: keep-alive
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.71 Safari/537.36
Accept-Encoding: gzip, deflate, sdch
Accept-Language: en-US,en;q=0.8
Cookie: user_segment=Prospect; _ga=GA1.2.992855402.1446138879; ASPSESSIONIDCQBCRBQD=EIAMMLLAAHBGBIPLEDPCPEFF

RESPUESTA

HTTP/1.1 302 Object moved
Cache-Control: private
Content-Length: 149
Content-Type: text/html; Charset=utf-8
Expires: Wed, 28 Oct 2015 17:31:02 GMT
Location: https://www1.REDACTED.com/
Server: Microsoft-IIS/8.0
Set-Cookie: ASPSESSIONIDSQBTRCQC=MGIFCOMALHAFEDECCCMECFKB; path=/
X-Powered-By: ASP.NET
Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
Date: Thu, 29 Oct 2015 17:32:01 GMT

<head><title>Object moved</title></head>
<body><h1>Object Moved</h1>This object may be found <a HREF="https://www1.REDACTED.com/">here</a>.</body>

Sé que HSTS funciona al hacer que el navegador almacene en caché la política, pero parece arbitrario cuando la UA (Chrome / Firefox) decide aplicarla. A veces se aplica y otras no, incluso después de haber visitado el dominio principal para "actualizar" la política.

    
pregunta Alex Urcioli 29.10.2015 - 19:27
fuente

1 respuesta

5

Fuente: RFC 6797 .

El encabezado HSTS solo es válido cuando se establece a través de HTTPS.

  

Un host HSTS NO DEBE incluir el campo de encabezado STS en las respuestas HTTP
  transportado a través de transporte no seguro.

Esto se debe a que los agentes solo responden al encabezado de HSTS cuando un recurso se entrega a través de TLS / SSL :

  

Si una respuesta HTTP, recibida a través de un transporte seguro, incluye un campo de encabezado STS ...    [recorte]   Tenga en cuenta el host como un host HSTS conocido

La respuesta HTTP simple debería devolver un redireccionamiento permanente HTTP 301 al recurso HTTPS. El recurso HTTPS entonces contactado debe establecer el encabezado HSTS. También puede configurar todos los recursos HTTPS para devolver el encabezado y renovar la caducidad ( max-age ).

    
respondido por el SilverlightFox 02.11.2015 - 10:09
fuente

Lea otras preguntas en las etiquetas