Come fa il browser Web di un cliente a sapere se un sito web è solo HTTPS?

1

In che modo il browser Web di un cliente sa se un sito Web è solo HTTPS?

Ecco lo scenario, un cliente tenta di accedere a facebook.com digitando facebook.com nella barra degli indirizzi, il browser passa automaticamente alla versione non protetta link ma Facebook non lo consente, invia un reindirizzamento alla versione sicura del sito web link .

Questo scenario mi sembra vulnerabile, un utente malintenzionato (uomo nel mezzo) potrebbe intercettare il traffico mentre la connessione era ancora in HTTP e fare in modo che il server non invii mai un reindirizzamento a HTTPS e quindi interrompa la connessione sicura.

Sono abbastanza sicuro che la gente ci abbia già pensato e risolto il problema, ma come?

Avere un elenco di siti Web che sono solo HTTPS forniti con il browser Web non sembra essere efficace.

Forse la prima volta che il client si connette al sito Web, riceve un messaggio che dice di accedere al sito Web tramite HTTPS solo per un determinato periodo di tempo?

    
posta ChrisK 03.04.2017 - 23:51
fonte

2 risposte

4

Il browser web di un cliente potrebbe sapere se il sito web è "https" solo controllando se il sito Web è presente nell'elenco di pre-caricamento di HSTS.

Come hai detto, in uno scenario classico, un MITM potrebbe intercettare una richiesta HTTP GET e impedire il reindirizzamento alla versione https del sito web.

Ecco perché è stato inventato il pre-caricamento di HSTS: i browser possono verificare se il sito web visitato si trova nelle sue liste di pre-caricamento HSTS. Se è il caso, interrogherà immediatamente la versione https, senza prima provare l'http. Ciò mitiga lo scenario MITM

    
risposta data 05.04.2017 - 16:19
fonte
0

Per rispondere alla tua prima domanda, il browser non sa necessariamente che il sito accetta solo HTTPS. Tenterà di caricare l'URL richiesto e rispondere in base alla risposta del server.

Se apri gli strumenti di sviluppo di Chrome e vai a http://facebook.com , vedrai che il browser riceve 307 Internal Redirect in https://facebook.com . Una volta rilevato, il browser invia un'altra richiesta al sito protetto.

Il server web sul lato ricevente della richiesta ha la responsabilità di consentire o rifiutare qualsiasi richiesta in arrivo.

    
risposta data 04.04.2017 - 00:03
fonte

Leggi altre domande sui tag