In che modo i server proxy annusano i dati?

13

Vivo in un paese in cui la maggior parte dei siti Web su Internet è bloccata dal governo, quindi utilizziamo per lo più un'ampia gamma di proxy quali proxy Web, VPN, SOCKS e la maggior parte di questi sono gratuiti.

La mia domanda è: esiste un modo, quei server proxy annusano i nostri dati anche se usiamo SSL sulla pagina web? se c'è, come?

    
posta Adi 01.05.2013 - 10:09
fonte

4 risposte

17

Quando un browser Web utilizza un proxy HTTP, le cose vanno come segue. Supponiamo che l'URL di destinazione sia http://www.example.com/index.html . Il browser si collega quindi al proxy e gli dice: "Voglio ottenere la pagina in http://www.example.com/index.html ". Il proxy è conforme, ottiene i dati e li rimanda al browser. Per costruzione, il proxy vede tutti i dati. La connessione tra proxy e browser potrebbe essere crittografata, ma il proxy vede ancora tutto.

Se l'URL di destinazione utilizza SSL ( https://www.example.com/index.html : attenzione s in https ), il browser si connette al proxy e dice: "Voglio connettermi alla porta 443 di www.example.com ; fallo e poi trasmetti tutti i byte in entrambe le direzioni ". La sezione 5.2 di RFC 2817 descrive questo meccanismo. Il proxy funge quindi da relay per tutti i byte tra il browser e il server Web, questi byte codificano indipendentemente dal browser e dal server Web, vale a dire in pratica un handshake SSL e dati successivi. In tal caso, il proxy è esterno del tunnel SSL e non può vedere i dati di scambio. Il tunnel SSL è ancora tra il server Web e il browser e il proxy è un meccanismo puramente di trasporto.

Il proxy è ancora in una posizione ideale per tentare di attacchi Man-in-the-Middle poiché tutte le comunicazioni lo attraversano; ma SSL è protetto da ciò, in particolare in virtù del certificato del server Web che viene convalidato dal client. Questo naturalmente si basa sull'utente umano non per fare clic sugli avvisi relativi ai certificati non validi. In alcune organizzazioni, gli amministratori di sistema locali installano certificati CA root "canaglia" extra nei sistemi desktop in modo che possano creare un falso certificato del server sul proxy e eseguire l'attacco MitM, garantendo loro l'accesso ai dati scambiati (in modo che possano applicare i filtri antivirus) anche sul traffico HTTPS, o almeno così dicono).

Escludendo tale installazione CA anomala (che è, in pratica, una violazione della sicurezza del computer client), il proxy non sarà in grado di dare un'occhiata ai dati scambiati tra il browser e il server HTTPS. Il proxy sarà comunque in grado di sapere quale server è stato contattato e di osservare la dimensione degli scambi di dati: la crittografia nasconde il contenuto, non le dimensioni.

La situazione per SOCKS è concettualmente simile. La finestra di dialogo tra browser e proxy è diversa, ma i concetti di base rimangono gli stessi: il proxy sarà in grado di vedere tutto il traffico HTTP e nessuno del traffico HTTPS.

Modifica: apparentemente, esistono altri tipi di "proxy", in cui il tuo browser contatta un server dedicato, che a sua volta gestisce un browser, ti cerca e ti restituisce le pagine . Sfortunatamente, alcune persone chiamano "proxy Web", una terminologia che è stata utilizzata per due decenni per designare ciò che è, tecnicamente, un proxy HTTP. Ne deriva confusione.

Tali "proxy di navigazione" sono simili, in linea di principio, all'apertura di una sessione sul server con un protocollo desktop remoto e eseguendo il browser da lì. Questo garantisce tutto il potere immaginabile agli amministratori proxy nelle tue attività di navigazione. Non vuoi farlo se non ti fidi assolutamente dei proxy sysadmins.

E preferiresti non utilizzare l'espressione "proxy Web" se esiste un rischio di ambiguità.

    
risposta data 01.05.2013 - 21:38
fonte
3

L'unico modo plausibile che riesco a pensare è che in qualche modo si consente al software proxy in questione di aggiungere la propria CA al proprio elenco di CA radice affidabili. Ciò consentirà al server proxy di eseguire un attacco MITM sulla tua connessione.

Se questo passaggio non viene eseguito, non dovrebbe esserci modo per il server proxy di leggere i dati inviati tramite SSL.

Vedi: Man-in-the -middle SSL Blue Coat proxy o cosa? per ulteriori informazioni.

    
risposta data 01.05.2013 - 10:14
fonte
3

Prima di tutto vorrei fare una distinzione tra ciò che è comunemente noto come Proxy HTTP , per il quale, si applicano altre risposte, la riservatezza non sarà interrotta a meno che non si aggiunga la CA del proxy a le tue CA di fiducia; e Web Proxies (non possiamo ancora concordare un nome, puoi chiamarlo proxy HTML o proxy di navigazione).

Non entrerò nei dettagli, ma fondamentalmente, un proxy web è un sito web che visiti e chiedi a "proxy" / "rout" una pagina web per te. Ad esempio, HideMyAss , ZendProxy , AWebProxy , o fondamentalmente uno qualsiasi dei risultati se si utilizza Google per "proxy Web".

Quei proxy web sono capaci di infrangere la riservatezza della tua sessione HTTPS, e sono in grado di farlo e senza essere rilevati. Quindi, usa solo proxy Web di cui ti fidi o, meglio, non li usi affatto.

Un proxy web si frappone tra te e il sito Web abilitato a SSL che stai visitando. Funziona come un browser intermedio. Decifra ciò che il server ti invia e crittografa ciò che viene inviato al server. Gestisce la sessione e gestisce i cookie. Seduto nel livello dell'applicazione, può fare tutto questo e possibilmente di più.

Dato che stai visitando https://web-proxy.com per tutto il tempo, non c'è motivo per il tuo browser di avvisarti quando il proxy interrompe la riservatezza.

D'altra parte, i proxy che si configurano nelle impostazioni del browser o del sistema, possono essere sicuri. Quando visiti un sito web che dovrebbe essere sicuro, verifica di essere nel dominio giusto (come "example.com") e che la connessione https non sia interrotta (di solito l'icona di un lucchetto viene visualizzata quando è sicura). Questo è diverso dai proxy Web perché con un proxy web, il nome di dominio è il dominio del proxy.

    
risposta data 01.05.2013 - 22:47
fonte
2

Non proprio. Tuttavia, assicurati di digitare https nella barra degli URL e non di http - la maggior parte dei siti Web 301 reindirizza a HTTPS, ma il server proxy può impedire che ciò accada.

Inoltre, fai attenzione agli attacchi di tipo phishing: il server proxy potrebbe offrirti un sito come mаil.google.com (il a è Cryllic). Questo dovrebbe sollevare un avvertimento sulla maggior parte delle implementazioni, tuttavia - il reindirizzamento da un sito HTTPS richiede il certificato di quel sito. Inoltre, molti server proxy che hanno una pagina di destinazione (con accesso) in genere chiedono di aggiungere un'eccezione SSL (perché tentare di accedere a una pagina HTTPS prima che l'accesso comporti un reindirizzamento non sicuro). Ci sono possibilità che questa eccezione SSL venga sfruttata.

Tieni presente che il del server proxy può vedere il dominio a cui stai tentando di accedere.

Come correttamente @Adnan menziona, i proxy Web (pagine Web in cui si entra in un sito Web senza browser o configurazione di rete) sono completamente insicuri. I proxy Web recuperano le pagine per conto dell'utente e inoltrano l'HTML all'utente (a differenza di altri proxy che inoltrano a te una risposta non elaborata leggermente modificata). Pubblicano richieste per tuo conto e sono il "client" nelle connessioni HTTPS (ti danno solo una copia dell'HTML decrittografato e crittografano le tue risposte per te). Quindi hanno la possibilità di leggere tutti i tuoi dati. Se vuoi essere sicuro dallo sniffing, usa HTTPS su un proxy HTTP / SOCKS.

    
risposta data 01.05.2013 - 10:26
fonte

Leggi altre domande sui tag