Server Proxy

Un proxy è un programma che si interpone tra un [[client]] ed un [[server]], inoltrando le richieste e le risposte dall'uno all'altro. Il client si collega al proxy invece che al server, e gli invia delle richieste. Il proxy a sua volta si collega al server e inoltra la richiesta del client, riceve la risposta e la inoltra al client.

A differenza di [[bridge]] e [[router]], che lavorano ad un livello [[ISO]]/[[OSI]] più basso, i proxy nella maggior parte dei casi lavorano a livello applicativo; di conseguenza un programma proxy gestisce un numero limitato di protocolli applicativi.

Un caso in cui viene spesso usato un proxy è la [[navigazione web]] (denominato [[proxy HTTP]] dal nome del protocollo usato).

Un proxy può essere usato per una o più delle seguenti ragioni:

  • connettività: per permettere ad una rete privata di accedere all'esterno è possibile configurare un computer in modo che faccia da proxy tra gli altri computer e [[Internet]], in modo da mantenere un unico computer connesso all'esterno, ma permettere a tutti di accedere. In questa situazione, solitamente il proxy viene usato anche come [[firewall]].
  • caching: un proxy può immagazzinare per un certo tempo i risultati delle richieste di un utente, e se un altro utente effettua le stesse richieste può rispondere senza dover consultare il server originale (una sorta di memoria [[cache]]). Collocando il proxy in una posizione "vicina" agli utenti, questo permette un miglioramento delle prestazioni ed una riduzione del consumo di ampiezza di [[banda]].
  • monitoraggio: un proxy può permettere di tenere traccia di tutte le operazioni effettuate (ad esempio, tutte le pagine web visitate), consentendo statistiche ed osservazioni dell'utilizzo della rete che possono anche violare la privacy degli utenti.
  • controllo: un proxy può applicare regole definite dall'amministratore di sistema per determinare quali richieste inoltrare e quali rifiutare, oppure limitare l'ampiezza di banda utilizzata dai client, oppure filtrare le pagine Web in transito, ad esempio bloccando quelle il cui contenuto è ritenuto offensivo in base a determinate regole.
  • privacy: un proxy può garantire un maggiore livello di privacy mascherando il vero [[indirizzo IP]] del client in modo che il server non venga a conoscenza di chi ha effettuato la richiesta.

Quando la configurazione della rete consente di collegarsi ad internet solamente attraverso un proxy, non sono ovviamente utilizzabili molti tipi di applicazioni basate su protocolli non supportati dal proxy, ad esempio:

  • Giochi on-line
  • webcam
  • browser che non supportano la configurazione di un proxy (tipico nelle console per videogiochi o telefoni cellulari).
  • servizi [[VoIP]]
  • applicazioni di [[file sharing]]

Talune di queste applicazioni sono state modificate per poter far passare il proprio traffico incapsulato in HTTP e quindi per poterlo veicolare in un proxy.

I proxy HTTP, a seconda dell'anonimato che riescono a fornire, possono essere suddivisi in:

  • Non anonimi: modificano alcuni header trasmessi dal browser e ne aggiungono altri, mostrano anche l'indirizzo IP reale del richiedente. Sono molto facili da riconoscere da parte del server web.
  • Anonimi: : non trasmettono l'IP del richiedente, ma modificano o aggiungono alcuni header. Sono pertanto facilmente riconoscibili.
  • Distorcenti: trasmettono un IP casuale, diverso da quello del richiedente e modificano o aggiungono alcuni header. Solitamente vengono scambiati per proxy Anonimi, ma offrono una protezione maggiore, in quanto il server web vede le richieste di un utente provenienti da indirizzi IP diversi.
  • Altamente anonimi: non trasmettono l'IP del richiedente e non modificano gli header della richiesta. Sono difficili da riconoscere attraverso i normali controlli.

Esistono programmi che, basandosi sulla tecnologia [[peer to peer]] forniscono funzionalità di proxy "anonimizzante" (un proxy che non inoltra al server l'indirizzo IP del client).

Il protocollo HTTP è stateless, ovvero una richiesta non lascia alcuno stato nel server. Tuttavia, per realizzare applicazioni web complesse, sono stati sviluppati meccanismi a livello superiore come i [[cookies]] per costruire "sessioni". Questi meccanismi possono permettere al server web di ottenere informazioni sul client nonostante gli sforzi fatti dal proxy per difenderne l'anonimato, in particolare possono permettere di riconoscere un utente di un server web anche se questi si collega da reti totalmente diverse.

Per vedere se il proxy server consente una navigazione anonima, ossia se non rivela l'IP del client a nessun altro server della rete, è bene effettuare un [[Whois]]. Il server del sito per il Who-is deve restituire l'IP del proxy server; se invece, rende visibile un IP diverso, presumibilmente si tratta di quello del client, e il test è fallito.

Ti potrebbero anche interessare:

Nuovo Algoritmo di Google che vede oggetti nei video e nelle immagini

Google si fa gli occhi.

Si chiama Automatic Large Scale Video Object Recognition (Riconoscimento automatico su larga scala di oggetti video) il nuovissimo algoritmo gia brevettato da Google che avrebbe l'incredibile capacità di poter leggere direttamente nei video e nelle immagini.

Blog: 

Sezione Hosting per Drupal!

E' attualmente in sviluppo una sezione del sito interamente dedicata agli hosting per drupal, quindi hosting linux configurati e pensati appositamente per sfruttare al massimo delle risorse il nostro caro cms. La sezione sarà arricchita da classifiche, comparazioni e caratteristiche vincenti e non di ogni singolo provider e relativa offerta.
Blog: