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 (un'eccezione è il proxy ARP); di conseguenza un programma proxy gestisce un numero limitato di protocolli applicativi. Esistono tuttavia dei proxy denominati SOCKS i quali non sono specifici ad un singolo protocollo ma si limitano ad effettuare un tunnel tra client e server.
Un caso in cui viene spesso usato un proxy è la navigazione web (denominato proxy HTTP dal nome del protocollo usato). Il software più diffuso per realizzare questa funzione è squid.
Normalmente è necessaria una configurazione sul programma client perché questo usi il proxy, ma esistono sistemi di configurazione automatica e di proxy transparente (particolari configurazioni di rete che fanno in modo che l'utente usi un proxy senza nemmeno accorgersene).
Un proxy può essere usato per una o più delle seguenti ragioni:
- 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.
- 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.
- 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. Esistono programmi che, basandosi sulla tecnologia peer to peer forniscono funzionalità di proxy anonimizzante come Java Anonymous Proxy
- connettività: in alcuni casi, una rete privata può non avere connettività con l'esterno. Un proxy connesso sia alla rete privata che al mondo esterno permette ai client sulla rete privata di accedere a risorse esterne altrimenti inaccessibili. Quando usato in questa configurazione di rete, un proxy può essere considerato un firewall in quanto i computer sulla rete privata non sono raggiungibili dall'esterno.
- 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. Collocando il proxy in una posizione "vicina" agli utenti, questo permette un miglioramento delle prestazioni ed una riduzione del consumo di Ampiezza di banda.
I server esterni a cui ci si collega attraverso un proxy vedranno le connessioni provenienti dall'indirizzo IP del proxy, non da quello del client, e questo può provocare problemi nel caso tali siti utilizzino l'indirizzo IP del client per scopi di autenticazione o di riconoscimento delle sessioni. Tuttavia alcuni tipi di proxy, come i proxy HTTP, utilizzano un sistema in cui l'indirizzo IP del client viene inoltrato insieme alla richiesta in modo che il server, se opportunamente configurato, può comunque riconoscere il vero indirizzo IP del client.
Categoria:Internet
