HSTS: facendo clic sugli errori del certificato

7

Abbiamo un sito web www.example.com con un certificato per il dominio www.example.com, abbiamo anche attivato HSTS. I Labs Qualys SSL ( link ) hanno confermato che l'HSTS è stato abilitato.

Ho notato che se si va al link (che è servito dallo stesso server Web), si verifica un errore del certificato, che è è prevedibile, in quanto non è presente alcun certificato per test.example.com caricato sul server Web. Tuttavia, ho notato che è possibile fare clic sugli errori del certificato e il contenuto Web viene quindi pubblicato.

Per me questo è un comportamento inaspettato. Ho pensato che una delle idee centrali dietro HSTS è che non è possibile fare clic su errori di certificato. Da Wikipedia: "Se la sicurezza della connessione non può essere garantita (ad esempio il certificato TLS del server non è attendibile), mostra un messaggio di errore e non consentire all'utente di accedere all'applicazione web".

Questo è accaduto sia con Firefox 59.0.2 (32-bit) che con Chrome (65.0.3325.146 (64-bit)).

La mia domanda: perché un browser consentirebbe a un utente di fare clic sugli errori del certificato su un sito Web in cui è abilitata l'HST?

    
posta Jakkals 17.04.2018 - 20:12
fonte

1 risposta

15

Il tuo browser non applica il criterio HSTS di test.example.com perché non ha visto l'intestazione prima di un trasporto sicuro senza errori. Pertanto, ti consente comunque di "aggiungere un'eccezione".

The user agent processing model [...] stipulates that a host is initially noted as a Known HSTS Host, or that updates are made to a Known HSTS Host's cached information, only if the UA receives the STS header field over a secure transport connection having no underlying secure transport errors or warnings.

(da RFC 6796, enfasi mia)

La visualizzazione dell'intestazione su HTTP semplice o con avvisi di certificato non conta:

The Strict-Transport-Security header is ignored by the browser when your site is accessed using HTTP; this is because an attacker may intercept HTTP connections and inject the header or remove it. When your site is accessed over HTTPS with no certificate errors, the browser knows your site is HTTPS capable and will honor the Strict-Transport-Security header.

(Da MDN)

Inoltre, tieni presente che la tua direttiva includeSubDomains da www.example.com non si applica poiché test.example.com non è un sottodominio diretto (non corrisponde a *.www.example.com ).

    
risposta data 17.04.2018 - 20:34
fonte

Leggi altre domande sui tag