Ora che CloudFlare offre SSL gratuito potenzialmente insicuro a tutti gli utenti, sarebbe utile una nuova intestazione HTTP?

4

Non sono sicuro di dove pubblicare questo post, quindi ho pensato di pubblicarlo qui.

CloudFlare offre ora SSL gratuito a tutti i siti . Esistono tuttavia due diversi tipi di connessioni SSL. C'è "SSL flessibile" che esegue HTTPS sul client < = > Connessione CloudFlare, ma normale HTTP su CloudFlare < = > Connessione al server Anche se questo è sicuramente meglio di niente, è fuorviante per l'utente che pensa che i suoi dati siano interamente criptati finché sono sul filo.

C'è anche "Full SSL" che è sicuro per l'intero utente < = > CloudFlare < = > Connessione al server.

Pertanto, propongo una nuova intestazione HTTP denominata qualcosa come X-Proxy-Security che potrebbe indicare all'agente utente come il proxy gestisce le connessioni sicure. Il suo valore potrebbe essere qualcosa come end-to-end per la crittografia completa end-to-end o client-to-proxy per le connessioni che sono solo sicure tra il client e il proxy. L'intestazione non dovrebbe idealmente contenere riferimenti CloudFlare specifici poiché ci sono un sacco di proxy HTTP come CDN e servizi simili a CloudFlare.

Se fosse implementato, i browser non saprebbero come gestirlo all'inizio, quindi non cambierebbe nulla. Tuttavia, potrebbero essere sviluppate estensioni del browser per ritrasmettere lo stato all'utente. I browser potrebbero eventualmente implementare qualche forma di indicatore simile a come indicano contenuti misti o qualsiasi altra cosa al momento.

Funzionerebbe? Come dovremmo spingere per implementarlo?

    
posta Dr. McKay 29.09.2014 - 18:30
fonte

2 risposte

10

Questo fa parte del motivo per cui controlli chi è il certificato SSL. Se non è il sito a cui stai tentando di accedere, vai fuori dal gioco. Se cloudssl utilizza un certificato di root in modo non sicuro, come la generazione di certificati per ciascun sito su richiesta, le persone possono semplicemente rifiutare l'autorizzazione di tale certificato di origine. Problema risolto.

Una nuova intestazione http non è utile, è eccessiva e sarebbe comunque aperta agli abusi in quanto nulla garantisce che qualcuno possa configurarla correttamente. Lo stesso livello di dettaglio potrebbe essere facilmente incluso nel certificato stesso senza bisogno di nuove intestazioni.

    
risposta data 29.09.2014 - 19:43
fonte
2

Il tuo header sarebbe utile solo marginalmente in questa situazione, e per niente utile nella maggior parte delle altre situazioni. Solo per alcuni esempi:

Se Cloudflare ha caricato il sito reale su https, ma si trovava su un certificato non verificato autofirmato, otterrebbe comunque l'intestazione end-to-end?

Se si trattava di un certificato autofirmato, ma l'impronta digitale del certificato è stata verificata manualmente da cloudflare come qualcosa che appartiene al sito, viene visualizzata l'intestazione end-to-end?

non correlato a cloudflare, che dire di un bilanciamento del carico con terminazione SSL? Tecnicamente dovrebbe essere un'impostazione di intestazione 'client-to-proxy', ma francamente perché dovresti preoccuparti che il tuo SSL sia stato terminato sul mio servizio di bilanciamento del carico a cui il mio server è collegato direttamente? Forse se il mio bilanciamento del carico di terminazione SSL stava inoltrando il resto della connessione su una rete non sicura, ma poi devi definire "rete sicura". E se nginx sta inoltrando la connessione via http su una VPN?

Ci sono troppi modi diversi per configurare una rete, e nessuno di questi è qualcosa di cui i clienti hanno molte ragioni per cui preoccuparsi.

Penso che ciò che sta facendo il cloudflare stia bene qui. Sì, dovresti fare in modo che il tuo sito venga estratto da una connessione sicura, ma anche quando non lo fa non è diverso da qualsiasi altro sito SSL.

Se guardi, dici un forum o persino uno stackoverflow, quando lo carichi su SSL è inviato a te tramite un collegamento crittografato, ma per quanto ne sai il contenuto è stato inserito su una connessione non crittografata a un database che contiene tutto il contenuto , il cui contenuto avrebbe potuto essere sottoposto a richieste http.

    
risposta data 20.10.2014 - 20:35
fonte

Leggi altre domande sui tag