Servere Proxy. Ce sunt si la ce se folosesc?

In acest articol vom discuta despre serverele de tip Proxy, tot mai folosite in contextul anonimizarii traficului web.

Un Proxy este un server intermediar, care se interpune intre calculatorul userului si site-ul sau serviciul pe care userul in acceseaza in Internet. Astfel clientul (browserul) se conecteaza la proxy, care se conecteaza apoi in numele clientului la serverul web. Serverul web trimite raspunsul catre proxy care il forwardeaza apoi la client.

Majoritatea Proxy sunt pentru HTTP, dar exista si pentru alte protocoale.

 

Exista mai multe tipuri de Proxy.

In exemplele care urmeaza avem: 

A = computerul clientului (browserul)  care se conecteaza la Internet

B = Proxy server

C = Serverul din Internet (ex: Google, Facebook, etc) 

 

Dupa locatia serverului Proxy si dupa traffic-flow dintre client si serverul final avem:

1. Forward Proxy

In mod normal fara Proxy, A se va conecta direct la C (A <—-> C). In cazul folosirii unui Forward Proxy A se conecteaza la B care se conecteaza mai departe in numele lui A la C.

C ii va raspunde lui B care va forwarda traficul la A. Avem urmatorul flow: A <——> B <——> C

De obicei IP-ul lui Proxy B se va configura in Browser la Settings. Traficul va ajunge la C cu IP-ul sursa a lui B. A poate ramane anonim in fata lui C.

 

Utilizari:

– A nu poate accesa direct C din cauza unei politici de filtrare din reteaua lui A sau a ISP-ului lui A. Exemplu: o companie nu permite angajatilor accesarea site-urilor de social media, o anumita tara blocheaza complet traficul catre anumite site-uri.

– C blocheaza accesul lui A  de exemplu in urma unor incidente de securitate (SPAM, Scanning etc). 

– Proxy B poate realiza inclusiv cashing astfel incat continutul cerut de A este returnat din cache-ul local in loc sa fie cerut de fiecare data lui C. 

 

2. Reverse Proxy

C nu doreste sa permita conexiuni directe de la clienti (A) ci doreste ca acestea sa treaca intai prin reverse proxy B.

Astfel A se conecteaza la B care se conecteaza mai departe la C avand acelasi traffic-flow ca la forward proxy: A <—–> B <—–> C

Diferenta fata de primul caz este ca A nu stie de existenta lui C, acesta este ascuns clientului care stie doar de B. In comparatie cu Forward Proxy pe client (Browser) nu trebuie configurat nimic.

Reverse Proxy B este de obicei foarte apropiat de C.

 

Utilizari:

– C are milioane de vizitatori si deci trebuie sa existe mai multe servere. Clientii se vor conecta la B care apoi se va conecta la cel mai apropiat server C. Acesta este conceputul de CND (Content Distribution Network).

– B realizeaza load balancing intre mai multe servere C

– C nu doreste sa se expuna direct clientilor din Internet ci doreste ca traficul sa treaca intai prin B unde se realizeaza filtering. Un eventual atac va avea loc asupra lui B nu a lui C

 

 

In functie de nivelul de anonimitate oferit exista:

1. Transparent Proxy (Inline Proxy)

Acesta nu necesita nicio configurare pe partea de client (browser), iar tot traficul clientilor catre destinatie este fortat sa treaca prin acest Inline Proxy care NU modifica traficul clientului (traficul ajunge la C cu ip-ul lui A). De cele mai multe ori clientii nu stiu de existenta sa si nu ofera anonimitate. Se instaleaza pentru captarea traficului, filtrarea acestuia sau 

Fizic se gaseste in fata lui Default Gateway sau este chiar acesta. 

 

2. Anonymous Proxy

Acest tip de proxy modifica IP-ul clientului A cu propriul IP precizant totodata in headerul HTTP_VIA ca se foloseste un Proxy. Astfel serverul destinatie C stie ca A foloseste un Proxy, dar nu stie cine este A.

 

2. Elite Proxy

Ofera nivelul de securitate maxim. Atat IP-ul clientului cat si faptul ca se foloseste un Proxy sunt ascunse serverului destinatie C.

 

Atentie:

Nu se recomanda folosirea unui Proxy, indiferent de tipul acestuia, in scopul anonimitatii complete pe Internet, mai ales cand acesta este foarte importanta. Ip-ul real al clientului poate in continuare fi aflat prin-un applet Java, JavaScript, Flash, WebRTC sau alte metode. Pentru o anonimitate completa se recomanda folosirea distributiei de Linux TAILS care contine browserul Tor.  

 

Verificare identitate in Internet:

https://whoer.net/de#extended

https://www.privacytools.io/webrtc.html 

 

Te asteptam la cursurile noastre practice de Networking, Linux si INFOSEC pentru a invata detaliat despre ultimele tehnologii, protocoale si securitatea informatiei.