Una connessione TLS a un server proxy crittografa l'URL di destinazione?

2

Se utilizzo un browser attraverso un server proxy su una connessione sicura (ad esempio il proxy è HTTPS) - significa che tutto è crittografato, o solo il pagina restituita dal sito?

E chi fa la ricerca DNS? Il browser lo fa tramite il mio ISP (nel qual caso l'url è noto a loro) o lo delegherà al proxy?

Assumi Firefox, se la risposta dipende da questo.

    
posta ispiro 14.05.2015 - 22:13
fonte

1 risposta

5

L'URL completo (nome host e percorso) è solo all'interno del protocollo HTTP ed è quindi crittografato dal livello TLS. Inoltre, tutte le intestazioni e il carico utile HTTP di richiesta e risposta sono crittografati end-to-end. Tuttavia, la parte hostname dell'URL si trova di solito nella richiesta CONNECT quando si utilizza un proxy HTTP non trasparente, a meno che il client stesso effettui la ricerca DNS. Con un proxy SOCKS la situazione è simile, cioè il client fornisce l'IP di destinazione (SOCKS4) o potrebbe fornire il nome host (SOCKS5). Inoltre, il nome host è solitamente incluso nell'handshake TLS anche in chiaro (SNI), indipendentemente dall'utilizzo di un proxy o meno.

Ciò significa che è noto al provider del proxy (forse l'ISP) che ospita l'accesso ma non la pagina su questo host. Inoltre ogni hop dopo che il proxy conosce almeno l'IP di destinazione perché è necessario per il routing. E se viene utilizzato SNI (ad esempio, nella maggior parte dei casi) qualsiasi hop può anche trovare il nome host del target.

In breve: l'obiettivo di TLS non è quello di mantenere la privacy o consentire connessioni anonime. L'obiettivo è proteggere i dati trasferiti tra client e server dallo sniffing e dalla modifica.

And who does the DNS lookup?

Con un proxy SOCKS4 deve essere eseguito dal client (browser). Con un proxy SOCKS5 o un proxy HTTP è possibile farlo e solitamente sarà eseguito dal proxy poiché questi protocolli possono trasportare il nome host invece dell'indirizzo IP.

Modifica: non ero a conoscenza del fatto che le versioni recenti di Firefox e Chrome in realtà supportino la connessione a un proxy HTTP con HTTPS. In questo caso, solo la connessione al proxy è visibile a qualsiasi hop prima del proxy e quindi l'URL incluso il nome host e l'indirizzo IP è completamente protetto sul percorso del proxy. Su e dopo il proxy questa protezione TLS in aggiunta viene rimossa e quindi il nome host e l'indirizzo IP di destinazione sono nuovamente visibili come descritto sopra. Suppongo che il browser invii il nome host e non l'indirizzo IP al proxy (perché questo viene fatto anche con un normale proxy HTTP), quindi la ricerca DNS verrà eseguita solo sul proxy.

    
risposta data 14.05.2015 - 22:19
fonte

Leggi altre domande sui tag