Server proxy: Diferență între versiuni

De la Wikipedia, enciclopedia liberă
Conținut șters Conținut adăugat
monitorizare
performanțe, traducere, erori
Linia 1: Linia 1:
{{dezvoltare|24 august 2020}}
{{dezvoltare|28 august 2020}}
[[Fișier:Proxy concept en.svg|thumb|277x277px|alt=Două calculatoare conectate printr-un server proxy. Primul calculator spune serverului proxy: "întreabă celălat calculator cât este ora".|Comunicare între două calculatoare (cele gri) conectate printr-un al treilea (cel roșu), care lucrează ca server proxy. Bob nu știe cui i se trimite informația, rațiune pentru care serverele proxi pot fi folosite la protecția intimității.]]
[[Fișier:Proxy concept en.svg|thumb|277x277px|alt=Două calculatoare conectate printr-un server proxy. Primul calculator spune serverului proxy: "întreabă celălat calculator cât este ora".|Comunicare între două calculatoare (cele gri) conectate printr-un al treilea (cel roșu), care lucrează ca server proxy. Bob nu știe cui i se trimite informația, rațiune pentru care serverele proxi pot fi folosite la protecția intimității.]]


Linia 59: Linia 59:


Prin înlănțuirea proxy-urilor care nu dezvăluie date despre solicitantul inițial este posibil să fie ascunse activități de ochii destinației cererii. Totuși, pe serverele intermediare vor rămâne urme care ar putea fi utilizate, inclusiv vândute, pentru a urmări activitățile utilizatorului. În cazul în care politicile acestor proxy nu sunt la vedere sau mint, iar administratorii nu sunt cunoscuți utilizatorul poate cădea victimă unui fals sentiment de securitate. Serverele proxy înseși care sunt cunoscute pentru [[spam]] sau [[trolling]] pot fi blocate pe bază de IP, fapt care este mai mult un inconvenient decât un risc. Acțiunea recomandată este evitarea acestor proxy.
Prin înlănțuirea proxy-urilor care nu dezvăluie date despre solicitantul inițial este posibil să fie ascunse activități de ochii destinației cererii. Totuși, pe serverele intermediare vor rămâne urme care ar putea fi utilizate, inclusiv vândute, pentru a urmări activitățile utilizatorului. În cazul în care politicile acestor proxy nu sunt la vedere sau mint, iar administratorii nu sunt cunoscuți utilizatorul poate cădea victimă unui fals sentiment de securitate. Serverele proxy înseși care sunt cunoscute pentru [[spam]] sau [[trolling]] pot fi blocate pe bază de IP, fapt care este mai mult un inconvenient decât un risc. Acțiunea recomandată este evitarea acestor proxy.

=== Îmbunătățirea performanțelor ===
Un server proxy pe post de memorie cache accelerează răspunsul la solicitări prin memorarea conținutului accesat la o solicitare anterioară a aceluiași client sau a altuia. De exemplu, în cazul unei organizații memorarea locală a unor resurse accesate frecvent mărește semnificativ viteza de răspuns și descarcă conexiunea la Internet. Mulți ISP-iști și organizații mari au asemenea servere proxy.<ref>{{en icon}} {{cite book |quote=A server proxy helps speed up Internet access by storing frequently accessed pages |first=Keir |last=Thomas |title=Beginning Ubuntu Linux: From Novice to Professional |publisher=Apress |year=2006 |isbn=978-1-59059-627-2 |url-access=registration |url=https://archive.org/details/beginningubuntul00keir }}</ref> Însă o implementare proastă a acestor servere poate genera probleme, ca de exemplu nerecunoașterea autentificărilor.<ref>{{en icon}} {{cite IETF |title=Known HTTP Proxy/Caching Problems |rfc=3143 |author=I. Cooper |author2=J. Dilley |date=June 2001 |publisher=[[Internet Engineering Task Force|IETF]] |accessdate=2019-05-17 }}</ref>

Un proxy conceput pentru a atenua problemele specifice legate de degradarea conexiunii la net este un PEP ({{en|{{ill-wd| Q1784064}}}}). Acestea sunt utilizate în mod obișnuit pentru a îmbunătăți performanța [[Transmission Control Protocol|TCP]] în cazul timpilor mari de răspuns sau a pierderilor mari de pachete (cum ar fi rețelele de telefonie mobilă sau wireless); sau conexiuni extrem de asimetrice, cu rate de încărcare și descărcare foarte diferite. Un PEP poate face rețeaua mai eficientă, de exemplu prin comasarea {{ill-wd|Q4674282||confirmărilor}} (ACK) sau compresia datelor trimise la {{ill-wd|Q189768}}.<ref>{{en icon}} {{cite IETF |title=Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations |rfc=3135 <!-- |sectionname=Layering --> |section=2.1 |page=4 |date=June 2001 |publisher=[[Internet Engineering Task Force|IETF]] |accessdate=21 February 2014 }}</ref>

=== Traducere ===
Un proxy de traducere este un server proxy care este utilizat pentru a localiza site-uri web pe diferite piețe. Traficul provenit din solicitări este dirijat prin proxy-ul de traducere către site-ul sursă. Pe măsură ce vizitatorii navighează pe site-ul proxy, solicitările revin la site-ul sursă, care furnizează paginile. Conținutul în limba originală din răspuns este înlocuit cu conținutul tradus pe măsură ce trece înapoi prin proxy. Traducerile utilizate într-un proxy de traducere pot fi fie o traducere automată, fie o traducere umană, fie o combinație de traducere automată și umană. Implementările de proxy de traducere diferite au capacități diferite. Unele permit personalizarea suplimentară a site-ului sursă pentru publicul local, cum ar fi excluderea conținutului sursă sau înlocuirea conținutului sursă cu conținutul local original.

=== Repararea erorilor ===
Un proxy poate fi utilizat pentru a repara automat erorile din conținutul transmis. De exemplu, sistemul BikiniProxy examinează codul Javascript în timp real pentru a detecta și repara automat erorile care apar în browser.<ref>{{en icon}} {{cite book |last1=Durieux |first1=T. |last2=Hamadi |first2=Y. |last3=Monperrus |first3=M. |title=Fully Automated HTML and Javascript Rewriting for Constructing a Self-Healing Web Proxy |journal=2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE) |pages=1–12 |date=2018 |doi=10.1109/ISSRE.2018.00012 |url=https://hal.archives-ouvertes.fr/hal-01746141/document|isbn=978-1-5386-8321-7 |arxiv=1803.08725 }}</ref> Un alt tip de reparație care poate fi făcută de un proxy este rezolvarea problemele de accesibilitate.<ref>{{en icon}} {{Cite book|last=Zhang|first=Xiaoyi|last2=Ross|first2=Anne Spencer|last3=Caspi|first3=Anat|last4=Fogarty|first4=James|last5=Wobbrock|first5=Jacob O.|date=2017|title=Interaction Proxies for Runtime Repair and Enhancement of Mobile Application Accessibility|journal=Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems|pages=6024–6037|doi=10.1145/3025453.3025846|isbn=9781450346559}}</ref>


== Note ==
== Note ==

Versiunea de la 28 august 2020 10:41

Două calculatoare conectate printr-un server proxy. Primul calculator spune serverului proxy: "întreabă celălat calculator cât este ora".
Comunicare între două calculatoare (cele gri) conectate printr-un al treilea (cel roșu), care lucrează ca server proxy. Bob nu știe cui i se trimite informația, rațiune pentru care serverele proxi pot fi folosite la protecția intimității.

Într-o rețea de calculatoare un server proxy este un server care acționează ca intermediar între cererile unui client care caută resurse de la serverele care le furnizează.[1] prin urmare un server proxy thus funcționează în numele clientului atunci când solicită serviciul, putând masca adevărata origine a cererii față de serverul de resurse.

În loc să se conecteze direct la un server care poate furniza resursa solicitată, cum ar fi de exemplu un fișier sau o pagină web, clientul adresează cererea către serverul proxy, care evaluează solicitarea și efectuează în rețea operațiile necesare. Aceasta este o metodă de a simplifica complexitatea cererii,[2] sau de a oferi facilități suplimentare, cum ar fi managementul încărcării rețelei, confidențialitate sau securitate. Serverele proxy au fost concepute pentru a structura și încapsula la sistemele de calcul distribuite.[3]

Tipuri

Un server proxy poate fi rezident pe calculatorul local al utilizatorului sau în orice alt punct dintre calculatorul utilizatorului și serverele solicitate de pe Internet. Un proxy care lucrează pentru client în sensul descris mai sus este cunoscut drept „proxy direct” (engleză forward proxy). Un server proxy care transmite cereri și răspunsuri nemodificate este numit de obicei poartă de acces sau uneori „proxy de tunelare”. Un proxy care lucrează invers, de obicei controlând accesul la un server dintr-o rețea privată și protejându-l față de accesul direct este cunoscut drept „proxy invers⁠(d)” (engleză reverse proxy). De asemenea, un proxy invers îndeplinește de obicei sarcini precum managementul încărcării⁠(d), autentificarea, decriptarea și gestionarea memoriei cache.

Proxy deschis

Diagram of server proxy connected to the Internet.
Un proxy deschis transmițând cereri de la și către oricine de pe Internet.

Un proxy deschis⁠(d) (engleză open proxy) este un proxy direct accesibil oricărui utilizator de pe Internet. As of 2008, Gordon Lyon a estimat că în 2008 existau pe Internet „sute de mii” de servere proxy deschise.[4]

  • Proxy anonim – Acest server se identifică ca proxy, dar nu divulgă adresa IP a clientului. Deși un server de acest tip poate fi descoperit cu ușurință, el nu este util dacă adresa IP a clientului este necesară.
  • Proxy trаnspаrent – Acest server nu numai că se іdentіfіcă ca proxy, ci cu ajutorul câmpurilor din antetele HTTP, cum ar fi X-Forwarded-For, transmite și adresa IP de origine. Scopul principal al unui astfel de server este să acționeze ca memorie cache pentru site-uri web accesate frecvent, asigurând un răspuns mai rapid.

Proxy invers

Un server proxy care conectează Internetul la o rețea internă.
Un proxy invers care preia cererile din Internet și transmițându-le serverelor din rețeaua internă. Cererile de conectare se fac către proxy, care maschează rețeaua internă.

Un proxy invers (sau surogat) este un server proxy care apare clienților ca fiind un server obișnuit. Un proxy invers transmite cererile către unul sau mai multe servere obișnuite, care rezolvă cererile. Răspunsul primit de la serverul proxy este cel provenit direct de la serverul care l-a dat, însă fără a da clientului informații despre serverul respectiv.[5] Proxy-urile inverse se instalează în vecinătatea unuia sau mai multor servere obișnuite. Tot traficul care vine de pe Internet, destinația fiind unul dintre serverele web din rețeaua interioară trece prin serverul proxy. Ideea folosirii serverelor proxy inverse este de a fi folosite ca servere directe în sens invers, servind doar un set restricționat de adrese IP (cele interne). Rațiunile pentru instalarea unor servere proxy inverse pot fi:

  • Criptare / accelerare SSL: când sunt create site-uri web securizare, adesea criptarea Transport Layer Security (SSL) nu este făcută de serverele propriu-zise, ci de un proxy care este echipat cu hardware de accelerare SSL. În plus, o gazdă poate avea un singur „proxy SSL” pentru a efectua criptarea SSL pentru un număr arbitrar de gazde, eliminând necesitatea unui certificat separat de server SSL pentru fiecare gazdă. Dezavantajul este că toate gazdele din spatele proxy SSL trebuie să partajeze un nume DNS comun sau o adresă IP comună pentru conexiunile SSL. Această problemă poate fi parțial depășită folosind posibilitatea SubjectAltName a certificatelor X.509⁠(d).
  • Managementul încărcării: un proxy poate distribui încărcarea la câteva servere, fiecare server web rezolvând cererile din zona sa de aplicații. În aceste cazuri serverul proxy poate înlocui adresele URL în fiecare pagină web (înlocuirea adreselor URL externe cu adrese interne și invers).
  • Memorie cache pentru conținut stabil: un proxy poate descărca serverele web reținând în memoria sa cache conținutul stabil, cum ar fi imagini sau alt conținut grafic.
  • Compresia datelor: un proxy poate optimiza compresia datelor pentru a scurta timpul de transfer.
  • Alimentarea cu lingurița: un proxy poate reduce solicitarea serverelor web generată de clienții lenți prin memorarea în memoria sa cache a conținutului furnizat de aceste servere și „alimentarea cu lingurița” a acelor clienți. Util în special la paginile generate dinamic.
  • Securitate: un proxy asigură un nivel suplimentar de protecție și poate fi protejat împotriva unor atacuri specifice unor sisteme de operare și servere web. Însă el nu oferă nicio protecție împotriva atacurilor împotriva aplicației sau serviciului web în sine, atacuri care sunt considerate amenințări mai mari.
  • Acces extranet: un proxy invers orientat către Internet poate fi utilizat pentru a comunica cu un server-firewall intern al unei organizații, oferind acces extranet⁠(d) la unele funcții, păstrând serverele în spatele firewall-ului. Dacă este utilizat astfel, ar trebui luate măsuri de securitate pentru a proteja restul infrastructurii proprii în cazul în care acest proxy este compromis, deoarece aplicația sa web este expusă atacurilor de pe Internet.

Utilizări

Monitorizare și filtrare

Software pentru controlul conținutului

Un server proxy de tip software pentru controlul conținutului⁠(d) gestionează („filtrează”) conținutul care poate fi transmis într-un sens sau în ambele prin acel proxy. Este folosit curent atât de organizații comerciale, cât și necomerciale (în special școli) pentru a se asigura că Internetul este folosit conform politicii de utilizare acceptabilă⁠(d).

Serverele proxy de filtrare a conținutului folosesc adesea autentificarea pentru a controla accesul la web. De asemenea, de obicei se țin jurnale, fie pentru a oferi informații detaliate privind adresele URL accesate de către utilizatori, fie pentru a monitoriza viteza de transfer pentru statistici. De asemenea, el poate comunica cu programe antivirus bazate pe programe de tip daemon sau/și protocoale de tip ICAP⁠(d) pentru a bloca acțiunile virușilor și a altor software rău intenționate prin scanarea în timp real a conținutului înainte ca el să intre în rețea.

Mulți angajatori, școli și colegii restricționează site-urile web și serviciile online care sunt accesibile și disponibile în clădirile lor. De asemenea, guvernele cenzurează conținutul nedorit. Acest lucru se realizează fie cu un proxy specializat, numit filtru de conținut (sunt disponibile atât produse comerciale, cât și libere), sau prin utilizarea unui protocol cum ar fi ICAP.

Site-urile web utilizate în mod obișnuit de către studenți pentru a ocoli filtrele și a accesa conținutul blocat includ adesea un proxy, de unde utilizatorul poate apoi accesa site-urile web pe care filtrele încearcă să le blocheze.

Cererile pot fi filtrate prin mai multe metode, cum ar fi liste negre de URL sau DNS, filtre de expresii regulate, filtre de MIME sau filtrare a cuvintelor cheie. Listele negre sunt adesea furnizate și întreținute de companii de filtrare web, adesea grupate în categorii (pornografie, jocuri de noroc, cumpărături, rețele sociale etc.).

Dacă URL-ul solicitat este acceptabil, conținutul este apoi preluat de către proxy. În acest moment se poate aplica un filtru dinamic pe traseul de întoarcere. De exemplu, fișierele JPEG ar putea fi blocate pe baza unor potriviri ale culorilor pieii, sau filtrele de expresii ar putea detecta dinamic limbajul nedorit. Dacă conținutul este respins, atunci răspunsul returnat solicitantului poate fi sub forma unei erori.

Majoritatea companiilor de filtrare web folosesc roboți de căutare pe internet, care evaluează probabilitatea conținutului de a fi de un anumit tip. Baza de date rezultată este apoi corectată manual pe baza reclamațiilor sau a slăbiciunilor cunoscute ale algoritmilor de evaluare a conținutului.

Filtrarea datelor criptate

Proxy-urile de filtrare web nu sunt capabile să se interpună în tranzacțiile HTTP cu socket-uri securizate, considerând că lanțul de încredere al SSL / TLS este valid, nu a fost afectat. Lanțul de încredere SSL / TLS se bazează pe certificatele de autoritate.

La un loc de muncă unde clientul este gestionat de organizație, dispozitivele pot fi configurate pentru a avea încredere într-un certificat rădăcină a cărui cheie privată este cunoscută de proxy. În astfel de situații, analiza de către proxy a conținutului unei tranzacții SSL / TLS devine posibilă. Proxy-ul lucrează ca într-un atac man-in-the-middle⁠(d), permis de încrederea clientului în certificatul rădăcină deținut de proxy.

Ocolirea filtrelor și a cenzurii

Dacă serverul de destinație filtrează conținutul în funcție de originea solicitării, utilizarea unui proxy poate ocoli acest filtru. De exemplu, un server care utilizează geolocalizarea⁠(d) bazată pe IP pentru a restricționa serviciul într-o anumită țară poate fi accesat folosind un proxy localizat în țară nerestricționată pentru a accesa serviciul. Proxy-urile sunt cele mai obișnuite mijloace de a ocoli cenzura guvernamentală, deși nu mai mult de 3% dintre utilizatorii de Internet utilizează instrumente de ocolire.[6] În unele cazuri utilizatorii pot ocoli proxy-urile care filtrează pe bază de liste negre folosind proxy dintr-o locație care nu este listată.[7]

Unii furnizori de servicii proxy permit accesul mediului de afaceri la serverele lor pentru redirecționarea traficului în scop de afaceri.[8]

Autentificare și ascultare

Multe școli blochează accesul la site-uri web populare, precum Facebook. Studenții pot utiliza servere proxy pentru a evita această restricție. Însă asta poate duce la transmiterea prin proxy a unor informații sensibile, cum ar fi fotografii personale și parole.

Serverele proxy pot fi folosite pentru a asculta traficul datelor între clienți și web. Tot conținutul trimis sau accesat – inclusiv parolele și cookie folosite – poate fi interceptat și analizat de deținătorul serverului proxy, motiv pentru care întotdeauna parolele trebuie trimise printr-o conexiune securizată prin criptare, ca SSL.

Prin înlănțuirea proxy-urilor care nu dezvăluie date despre solicitantul inițial este posibil să fie ascunse activități de ochii destinației cererii. Totuși, pe serverele intermediare vor rămâne urme care ar putea fi utilizate, inclusiv vândute, pentru a urmări activitățile utilizatorului. În cazul în care politicile acestor proxy nu sunt la vedere sau mint, iar administratorii nu sunt cunoscuți utilizatorul poate cădea victimă unui fals sentiment de securitate. Serverele proxy înseși care sunt cunoscute pentru spam sau trolling pot fi blocate pe bază de IP, fapt care este mai mult un inconvenient decât un risc. Acțiunea recomandată este evitarea acestor proxy.

Îmbunătățirea performanțelor

Un server proxy pe post de memorie cache accelerează răspunsul la solicitări prin memorarea conținutului accesat la o solicitare anterioară a aceluiași client sau a altuia. De exemplu, în cazul unei organizații memorarea locală a unor resurse accesate frecvent mărește semnificativ viteza de răspuns și descarcă conexiunea la Internet. Mulți ISP-iști și organizații mari au asemenea servere proxy.[9] Însă o implementare proastă a acestor servere poate genera probleme, ca de exemplu nerecunoașterea autentificărilor.[10]

Un proxy conceput pentru a atenua problemele specifice legate de degradarea conexiunii la net este un PEP (engleză Performance Enhancing Proxy⁠(d)). Acestea sunt utilizate în mod obișnuit pentru a îmbunătăți performanța TCP în cazul timpilor mari de răspuns sau a pierderilor mari de pachete (cum ar fi rețelele de telefonie mobilă sau wireless); sau conexiuni extrem de asimetrice, cu rate de încărcare și descărcare foarte diferite. Un PEP poate face rețeaua mai eficientă, de exemplu prin comasarea confirmărilor⁠(d) (ACK) sau compresia datelor trimise la nivelul aplicație⁠(d).[11]

Traducere

Un proxy de traducere este un server proxy care este utilizat pentru a localiza site-uri web pe diferite piețe. Traficul provenit din solicitări este dirijat prin proxy-ul de traducere către site-ul sursă. Pe măsură ce vizitatorii navighează pe site-ul proxy, solicitările revin la site-ul sursă, care furnizează paginile. Conținutul în limba originală din răspuns este înlocuit cu conținutul tradus pe măsură ce trece înapoi prin proxy. Traducerile utilizate într-un proxy de traducere pot fi fie o traducere automată, fie o traducere umană, fie o combinație de traducere automată și umană. Implementările de proxy de traducere diferite au capacități diferite. Unele permit personalizarea suplimentară a site-ului sursă pentru publicul local, cum ar fi excluderea conținutului sursă sau înlocuirea conținutului sursă cu conținutul local original.

Repararea erorilor

Un proxy poate fi utilizat pentru a repara automat erorile din conținutul transmis. De exemplu, sistemul BikiniProxy examinează codul Javascript în timp real pentru a detecta și repara automat erorile care apar în browser.[12] Un alt tip de reparație care poate fi făcută de un proxy este rezolvarea problemele de accesibilitate.[13]

Note

  1. ^ en Ari Luotonen, World-Wide Web Proxies, aprilie 1994
  2. ^ en "A Survey of Techniques for Improving Efficiency of Mobile Web Browsing", Concurrency and Computation: Practice and Experience, 2018
  3. ^ en [1], Marc Shapiro. Structure and Encapsulation in Distributed Systems: the Proxy Principle. Int. Conf. on Distr. Comp. Sys. (ICDCS), 1986, Cambridge, MA, USA, United States. pp.198--204, 1986, Int. Conf. on Distr. Comp. Sys. (ICDCS).
  4. ^ Lyon, Gordon (). Nmap network scanning. US: Insecure. p. 270. ISBN 978-0-9799587-1-7. 
  5. ^ en „Forward and Reverse Proxies”. httpd mod_proxy. Apache. Accesat în . 
  6. ^ en „2010 Circumvention Tool Usage Report” (PDF). The Berkman Center for Internet & Society at Harvard University. octombrie 2010. 
  7. ^ en „Using a Ninjaproxy to get through a filtered proxy”. advanced filtering mechanics. TSNP. Arhivat din original la . Accesat în . 
  8. ^ en „How to Check if Website is Down or Working Worldwide”. Hostinger. . Accesat în . 
  9. ^ en Thomas, Keir (). Beginning Ubuntu Linux: From Novice to ProfessionalNecesită înregistrare gratuită. Apress. ISBN 978-1-59059-627-2. A server proxy helps speed up Internet access by storing frequently accessed pages 
  10. ^ en I. Cooper; J. Dilley (iunie 2001). Known HTTP Proxy/Caching Problems. IETF. RFC 3143Accesibil gratuit. 
  11. ^ en „2.1”. Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations. IETF. iunie 2001. p. 4. RFC 3135Accesibil gratuit. 
  12. ^ en Durieux, T.; Hamadi, Y.; Monperrus, M. (). Fully Automated HTML and Javascript Rewriting for Constructing a Self-Healing Web Proxy. 2018 IEEE 29th International Symposium on Software Reliability Engineering (ISSRE). pp. 1–12. arXiv:1803.08725Accesibil gratuit. doi:10.1109/ISSRE.2018.00012. ISBN 978-1-5386-8321-7. 
  13. ^ en Zhang, Xiaoyi; Ross, Anne Spencer; Caspi, Anat; Fogarty, James; Wobbrock, Jacob O. (). Interaction Proxies for Runtime Repair and Enhancement of Mobile Application Accessibility. Proceedings of the 2017 CHI Conference on Human Factors in Computing Systems. pp. 6024–6037. doi:10.1145/3025453.3025846. ISBN 9781450346559.