Nascondere l'intestazione HOST dalla richiesta HTTP

1

Mi piacerebbe visitare un sito che supporta HTTPS ma consentire a quante meno terze parti possibile di sapere quale sito sto visitando, escludendo i siti di cipolla, attraverso l'intestazione dell'host HTTP.

Come al momento so, l'intestazione dell'Host Host HTTP può essere visualizzata in testo in chiaro da chiunque controlli la mia rete (quando visiti i siti HTTPS) e vorrei mitigarla il più possibile.

Una soluzione inefficiente che ho pensato sarebbe quella di creare un sito Web open source che supporta SSL (ad esempio, HTTPHostHider.com ) che crea la connessione e trasferisce in modo sicuro la chiave pubblica del sito richiesto al client . Di seguito è quello che intendo.

  1. Il cliente desidera vedere i contenuti di example.com
  2. Intestazioni di richieste del cliente inviate al link
  3. HTTPHostHider.com restituisce esempio.com intestazioni di risposta e chiave pubblica
  4. Il client invia contenuti crittografati a HTTPHostHider.com
  5. HTTPHostHider.com invia la richiesta a example.com
  6. example.com invia i contenuti della pagina a HTTPHostHider.com
  7. HTTPHostHider.com invia i contenuti della pagina al client

da quello che capisco, se il cliente contatta direttamente il link allora l'intestazione HTTP HOST può essere vista dagli intercettatori (e quindi dedurre ciò che stavo facendo su quel sito - l'URL rivela a cosa serve - ad esempio freeporn.org).

Quindi la mia domanda è: Come faccio a non perdere la mia intestazione host HTTP?

Scusa se la domanda non è chiara; L'inglese non è la mia prima lingua

    
posta Need Privacy 10.09.2016 - 08:42
fonte

1 risposta

2

As I currently know, the HTTP Host Header can be viewed in plaintext by anyone monitoring my network (when visiting HTTPS sites) and I would like to mitigate this as much as possible.

Questo è sbagliato. L'intestazione HTTP Host fa parte del protocollo HTTP e con una connessione HTTPS tutto il protocollo è crittografato con SSL / TLS. Pertanto, l'intestazione host è visibile solo per gli endpoint della connessione SSL / TLS.

Ma all'interno dello stesso handshake SSL / TLS ci sono diverse parti che mostrano il nome host in testo semplice: nella maggior parte delle connessioni, ClientHello contiene il nome sotto forma dell'estensione SNI. Il certificato inviato dal server contiene quindi il nome nel CN e / o i nomi alternativi del soggetto. E anche prima che venga avviata la connessione SSL / TLS, verrà eseguita una ricerca DNS per scoprire l'indirizzo IP di destinazione e questa ricerca mostra anche il nome in testo semplice.

So my question is: How do I not leak my HTTP Host Header?

Le informazioni devono essere visibili perché sono necessarie per stabilire la connessione. L'unica domanda è chi dovrebbe vedere le informazioni. Se si ha paura di annusare qualcuno (ISP), è necessario utilizzare una VPN, proxy accessibile da HTTPS, Tor o simile per crittografare i propri dati su un endpoint endpoint in modo che questo specifico utente non possa vederlo. Una volta che la connessione ha lasciato l'endpoint tutte le parti sulla strada possono nuovamente visualizzare le informazioni che si desidera nascondere, quindi è necessario fare attenzione a dove si posiziona l'endpoint.

An inefficient solution I thought of would be to create an open-source website which supports SSL (say, HTTPHostHider.com) that creates the connection and securely transfers the requested site's public key to the client.

Un proxy pubblico a cui è possibile accedere tramite HTTPS è principalmente correlato a ciò che viene proposto qui, solo che funzionerebbe effettivamente. Ma questo lascia ancora il problema del perché qualcuno dovrebbe configurare un sito pubblico di questo tipo, perché in questo modo potrebbe essere ritenuto responsabile per qualsiasi attività illegale che utilizza questo sito. Questo è ad esempio un tipico problema quando qualcuno sta provando a configurare un nodo di uscita Tor, perché Tor viene utilizzato per nascondere attività legali e illegali.

    
risposta data 10.09.2016 - 09:20
fonte

Leggi altre domande sui tag