Politica HSTS applicata * a volte *

2

Ho implementato una politica HSTS per il nostro sito. Ho l'intestazione servita sul nostro dominio principale e viene inviata alla prima risposta che serve il Redirect 304 dal server. (Secondo questo articolo l'intestazione deve essere su questa risposta.). Abbiamo la direttiva includeSubDomains su e preload e abbiamo precaricato il nostro sito. È elencato nel file di configurazione di chromium json.

A volte il problema viene applicato per i sottodomini e talvolta non lo è, e non riesco a capire perché.

Ecco come appare una richiesta GET iniziale e la risposta dal nostro dominio (ho sostituito il nostro nome di dominio con REDACTED):

RICHIESTA

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

Risposta

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>

So che l'HSTS funziona mettendo il browser in cache nella policy, ma sembra arbitrario quando gli UA (Chrome / Firefox) decidono di applicarlo effettivamente. A volte la sua applicazione è forzata, mentre altre non lo sono affatto nemmeno dopo che ho visitato il dominio principale per "aggiornare" la politica.

    
posta Alex Urcioli 29.10.2015 - 19:27
fonte

1 risposta

5

Fonte: RFC 6797 .

L'intestazione HSTS è valida solo quando è impostata su HTTPS.

An HSTS Host MUST NOT include the STS header field in HTTP responses
conveyed over non-secure transport.

Questo perché gli agenti rispondono solo all'intestazione HSTS quando una risorsa viene servita su TLS / SSL :

If an HTTP response , received over a secure transport, includes an STS header field... [snip] Note the host as a Known HSTS Host

La semplice risposta HTTP dovrebbe restituire un reindirizzamento permanente HTTP 301 alla risorsa HTTPS. La risorsa HTTPS quindi contattata dovrebbe impostare l'intestazione HSTS. Puoi anche impostare tutte le risorse HTTPS per restituire l'intestazione e rinnovare la scadenza ( max-age ).

    
risposta data 02.11.2015 - 10:09
fonte

Leggi altre domande sui tag