Se non si utilizza HTTPS / SSL / TLS è un tale rischio per la sicurezza, perché siti / browser non impongono HTTPS per tutti i siti che lo hanno?

4

Dalla mia altra domanda Oltre alle password in puro testo, c'è qualcosa di cui preoccuparsi con siti che non usano SSL?

ci sono risposte che menzionano tutti i tipi di cose che possono accadere se non c'è SSL, inclusi attacchi dannosi.

Se c'è un tale rischio che accadano cose brutte, perché HTTPS non è forzato? Posso capire perché un sito potrebbe non averlo abilitato, ma il browser non lo avrebbe configurato automaticamente? Stavo cercando Google e si accenna che ci sono modi per abilitarlo per i browser in modi non così semplici, ad esempio, Chrome è stato detto che devi inserire "X" nell'URL per forzare HTTPS, ma non sei sicuro del perché questo non è normale impostazione?

    
posta XaolingBao 10.01.2017 - 13:26
fonte

2 risposte

3

Perché non è facilmente automatizzabile

If there is such a risk of bad things happening, why is HTTPS not forced?

Perché ciò può facilmente rompere il sito. E poi gli utenti abbandoneranno quel browser e ne selezioneranno un altro che non interrompe i loro siti.

Eseguo il plug-in "HTTPS Everywhere" nei miei browser. E loro provano a fare qualcosa di simile. Tuttavia, anche devono utilizzare un set di regole di file 22k massiccio . (Da quello che ho capito, le regole sono parzialmente generate e parzialmente calibrate a mano.)

E a giudicare da questi commenti in Amazon- Set di regole , non è così semplice scrivere regole di lavoro che funzionano:

  <!--    Amazon has a history of breaking us soon after
        adding rulesets, so these are here to detect that.

(URL di test omessi)

    
risposta data 10.01.2017 - 15:31
fonte
1

Https è un protocollo. Ciò significa che entrambe le parti devono essere d'accordo. Anche solo questo renderebbe le cose un po 'strane - cosa farebbe il browser, provare a connettersi tramite https, quindi se fallisce, ricorrere a http e memorizzare la decisione per un po' di tempo? Se qualcosa sul tuo sito cambia, come lo comunichi al browser per farlo aggiornare la sua cache? C'è una serie di aspetti pratici che dovrebbero essere elaborati per far sì che ciò accada realmente nel mondo reale, e non lo sono ancora.

Oltre a ciò, non tutti i siti che accettano una connessione https funzionano effettivamente su https. Come semplice esempio, il sito web del New York Times è in ascolto sulla porta 443, ma se si modifica l'URL per un articolo da https, verrà semplicemente reindirizzato. Se il browser ha fatto il proprio reindirizzamento https automaticamente, questo potrebbe facilmente metterti in un ciclo di reindirizzamento infinito; per lo meno, ti aspetteresti attraverso due richieste http per ogni pagina invece di una sola.

Di solito c'è più lavoro da fare per rendere un sito web https-disponibile piuttosto che impostare un terminatore https (anche se può essere un po 'di lavoro, dato che è necessario caricarlo per assicurarsi che possa gestire l'intero traffico - Una volta ha rotto un sito web precedentemente scalabile saltando questo passaggio ). Uno dei maggiori problemi è assicurarsi che tutto il contenuto che incorpori in una pagina sia richiesto anche tramite https, altrimenti riceverai avvisi di contenuto misti e l'utente vedrà solo una pagina rotta. Questo può essere particolarmente fastidioso da fare se si dispone di contenuti generati dagli utenti, perché ora è necessario eseguire alcune operazioni di modifica dei database per sistemare le cose che sono state aggiunte e fare molta attenzione per assicurarsi di non rovinare qualcosa mentre facendo questo. E ora devi usare https sul tuo CDN, e alcuni ancora non lo supportano facilmente, o forse devi aggiornare il tuo piano per poter usare un certificato personalizzato (dato che hai un CNAME dal tuo dominio al loro server). E ora che interrompe alcuni script che hai, perché sono scritti in python 2.6, e che non ha il supporto SNI.

L'elenco potrebbe continuare. Il punto è che c'è in realtà una quantità di lavoro non insignificante per molti siti Web per passare completamente a https e, se un browser tenta di forzarli tutti in una volta, ci saranno quasi certamente delle cose rotte. E questo fa schifo agli utenti.

    
risposta data 10.01.2017 - 18:01
fonte

Leggi altre domande sui tag