Perché Facebook non usa HSTS da molto tempo dopo che è diventato disponibile?

12

(Si noti che Facebook ora usa HSTS. La domanda è stata posta in un momento in cui non lo erano.)

Per forzare un browser ad andare sempre direttamente a HTTPS per un sito Web (e non fare affidamento su reindirizzamenti 302 dalla versione HTTP), HSTS ( HTTP Strict Transport Security ) può essere utilizzato.

Per dire al browser che un sito web deve sempre essere visitato usando HTTPS a, L'intestazione 'Strict-Transport-Security' può essere inviata nella risposta HTTP. Da quel momento in poi, il sito Web esisterà nell'elenco HSTS del browser e quando qualcuno digita il nome del sito (ad esempio example.com ) nella barra degli indirizzi, verrà inviato a https://example.com/ anziché http://example.com .

Google, Gmail, Twitter e Paypal sono esempi dei principali siti Web che utilizzano questa funzionalità. Facebook, tuttavia, non sembra inviare un'intestazione "Strict-Transport-Security" nelle sue risposte. Qualcuno può darmi una buona ragione per cui ha scelto di non usare HSTS?

    
posta Michael 18.02.2014 - 16:11
fonte

3 risposte

12

Modifica: Facebook ora usa HSTS, quindi sia la domanda che la risposta non sono corrette.

Perché usare HTTPS per Facebook è facoltativo.

Se guardi in "Impostazioni account" e "Impostazioni di sicurezza" c'è un'opzione per "Navigazione sicura". L'impostazione predefinita è scaduta da luglio 2013 ma hai ancora la possibilità di spegnerlo.

Se hanno usato HSTS, quando hai disattivato la funzione "Navigazione sicura" il sito non funzionava più, almeno, a meno che non facessero una soluzione alternativa abbastanza funky.

Non riesco a pensare ad alcun motivo pratico per disabilitare la navigazione sicura. Certamente una tale ragione sarebbe rara. Penso che l'opzione sia dovuta più all'incidente storico che alla pianificazione attiva.

    
risposta data 18.02.2014 - 16:46
fonte
11

Riepilogo: HSTS sta arrivando, ma il sito ha alcuni ostacoli legati alla protezione delle informazioni dell'utente, come non dire a un sito web chi sei quando fai clic su un link. Spiegazione di quel particolare problema: link

Firefox è l'ultimo grande holdout. Ecco il commento 14 (15 marzo 2012) del bug che è stato archiviato nel 2011: link

For WebKit users, Facebook plans to implement an "origin" policy in the near future. This policy effectively represents how our site behaves today, but without relying on the abuse of existing browser behavior. Background: https://www.facebook.com/notes/facebook-engineering/protecting-privacy-with-referrers/392382738919

The meta-referrer proposal provides two immediate benefits with respect to Facebook users:

  • We currently utilize document.location.replace() through an interstitial endpoint to perform external redirects for Mozilla users. Implementing a native redirect instead of relying upon JavaScript offers a slight performance improvement and enables the redirect to function with JavaScript disabled.

  • We intentionally downgrade the interstitial from HTTPS to HTTP in order to send a referer header. This is obviously undesirable but currently necessary in our context. Support for meta-referrer enables us to maintain an a secure connection and resolves one of the last issues blocking implementation of Strict-Transport-Security

Just throwing a bit of support behind the proposal. We'd love to see support in Firefox.

Followup comment 79 (30 gennaio 2014), stesso bug: link

Facebook has been asking for this since 2010, I'm not sure I understand the sudden rush.

Small update to comment #14, This is now the last remaining issue blocking Strict-Transport-Security on facebook.com for Firefox users (it's been enabled for Chrome/Safari users for some time). I wouldn't say that we're rushed, we're happy to wait for your preferred solution, but I would love to see HSTS enabled sooner rather than later.

    
risposta data 22.02.2014 - 06:21
fonte
5

Aggiornamento maggio 2015 : Facebook ora utilizza HSTS. Bel lavoro.

$ http -h get https://www.facebook.com
Strict-Transport-Security: max-age=15552000; preload

Vedi anche link

    
risposta data 21.05.2015 - 00:28
fonte

Leggi altre domande sui tag