Proxy, in informatica e telecomunicazioni, indica un tipo di server che fa da intermediario per le richieste da parte dei client alla ricerca di risorse su altri server, disaccoppiando l'accesso al web dal browser. Un client si connette al server proxy, richiedendo qualche servizio (ad esempio un file, una pagina web o qualsiasi altra risorsa disponibile su un altro server), e quest'ultimo valuta ed esegue la richiesta in modo da semplificare e gestire la sua complessità. I proxy sono stati inventati per aggiungere struttura e incapsulamento ai sistemi distribuiti Structure and Encapsulation in Distributed Systems: the Proxy Principle . Marc Shapiro. Int. Conf. on Dist. Comp. Sys. (ICDCS), Cambridge MA (USA), May 1986..

Ad oggi, i server proxy vengono utilizzati per svariati impieghi come: Fornire l'anonimato durante la navigazione Internet (es. sistema TOR) Memorizzare una copia locale degli oggetti web richiesti in modo da poterli fornire nuovamente senza effettuare altri accessi ai server di destinazione (HTTP caching proxy) Creare una "barriera di difesa" (Firewall) verso il web, agendo da filtro per le connessioni entranti ed uscenti e monitorando, controllando e modificando il traffico interno

Tipi Un server proxy può risiedere localmente nel PC dell'utente o in un qualsiasi punto tra questo e i server di destinazione su Internet. Un server proxy che trasmette richieste e risposte senza modificarle è detto gateway o tunneling proxy Un forward proxy è un proxy volto a Internet usato per recuperare dati da un vastissimo campo di risorse (generalmente ovunque su Internet) Un reverse proxy o proxy inverso è anch'esso rivolto a Internet ed è usato front-end per controllare e proteggere gli accessi ai server su una rete privata. Ha inoltre diverse mansioni quali bilanciamento del carico, autenticazione, decrittazione e caching Un caching proxy che memorizza tutti i dati non cifrati su un supporto e al momento della richiesta riprodurrà i dati presenti in memoria, riducendo i tempi di caricamento Un proxy trasparente capta tutte le informazioni della rete e rimane invisibile agli utenti

Proxy "aperti" (Open Proxies)

Gli open proxies sono forwarding proxy accessibili da qualsiasi utente di Internet. Gordon Lyon (esperto di sicurezza Internet, programmatore di software open source, scrittore e hacker) stima che ci siano centinaia di migliaia di proxy "aperti" in Internet. Un proxy aperto ed anonimo permette agli utenti di nascondere il proprio indirizzo IP navigando sul Web o usando altri servizi di Internet. Ci sono comunque diversi livelli di anonimità, così come sono i "trucchetti" per fare in modo che il client si riveli nonostante venga usato un proxy (usare una determinata impostazione di lingua, visitare frequentemente gli stessi siti sia anonimamente che "allo scoperto", possedere determinate estensioni/plugin del browser piuttosto che altre e la combinazione delle versioni di browser/sistema operativo e altri software sono fattori determinanti nell'identificazione di utenti "anonimi" - si veda la voce Device fingerprint).

Controllo degli accessi (Caching) Alcuni server proxy implementano un requisito di accesso (log-in). Nelle grandi aziende, gli utenti autorizzati devono effettuare l'accesso prima di poter accedere al web. In tal modo, i datori di lavoro possono monitorare l'utilizzo di Internet da parte degli impiegati.

Usi

Monitoraggio e Filtraggio

Controllo del contenuto Un proxy web atto al filtraggio del contenuto consente il controllo amministrativo sul contenuto che può essere trasmesso in una o entrambe le direzioni attraverso il proxy. È comunemente usato sia nelle organizzazioni commerciali che non-commerciali (soprattutto scuole) per garantire che l'utilizzo di Internet sia conforme ad una accettabile politica di utilizzo.

Un proxy di filtraggio dei contenuti spesso supporta l'autenticazione degli utenti, per controllare l'accesso al web. Produce inoltre i log (registri), sia per dare informazioni dettagliate sulle URL a cui hanno acceduto utenti specifici, o per monitorare le statistiche della larghezza di banda utilizzata. Può inoltre comunicare con software antivirus basati su demoni e/o basati su ICAP per garantire la sicurezza contro virus e altro malware prima che entri nella rete mediante la scansione dei contenuti in entrata in tempo reale.

Svariati luoghi di lavoro, scuole e università limitano i siti web e servizi on-line accessibili presso le loro strutture. Anche i governi censurano i contenuti indesiderati. Questo si può fare con un proxy specializzato, chiamato "filtro sul contenuto" (esistono soluzioni commerciali sia gratis che a pagamento), oppure utilizzando un protocollo di estensione della cache come ICAP, che permette estensioni ad un'architettura cache aperta.

Ironia della sorte, i siti web comunemente utilizzati dagli studenti per aggirare i filtri e il blocco sull'accesso ai contenuti, spesso includono un proxy da cui l'utente può accedere ai siti Web che il filtro sta cercando di bloccare.

Ci sono diversi modi per filtrare le richieste, come ad esempio una "lista nera" di URL o DNS, un regex di URL, MIME (standard per classificare i diversi tipi di informazione) o il filtraggio dei contenuti tramite parola chiave. Alcuni prodotti implementano tecniche di analisi dei contenuti per cercare di categorizzarne i fornitori in base linee guida comunemente utilizzate dalle varie categorie. Le cosiddette liste nere sono spesso fornite e gestite da società che si occupano di filtraggio web, spesso raggruppate in categorie (pornografia, gioco d'azzardo, shopping, social network, ecc.).

Supponendo che l'URL richiesto sia accettabile, il contenuto viene poi recuperato dal proxy. A questo punto un filtro dinamico può essere applicato sul percorso di ritorno. Ad esempio, i file JPEG possono essere bloccati sulla base di corrispondenze con toni del colore della pelle, o filtri linguistici possono rilevare dinamicamente un linguaggio indesiderato. Se il contenuto viene rifiutato verrà poi inoltrato un messaggio di errore di richiesta HTTP al richiedente.

La maggior parte delle aziende che si occupa di filtraggio Web utilizza robot che, passando in rassegna internet, valutano la probabilità che un contenuto sia un certo tipo. Il database risultante viene poi corretto con il lavoro manuale in base a richieste/lamentele o difetti noti dell'algoritmo di associazione dei contenuti.

Alcuni proxy scansionano i contenuti in uscita (ad esempio per la prevenzione della perdita dei dati).

Filtraggio di dati criptati I proxy atti al filtraggio Web non sono in grado di scrutare dentro le transazioni HTTP sicure, assumendo che la catena di fiducia di SSL/TLS (Transport Layer Security) non sia stata manomessa.

Il protocollo SSL/TLS si basa su autorità di certificazione attendibili. In un ambiente di lavoro in cui il client è gestito dall'organizzazione, la fiducia potrebbe essere concessa a un certificato la cui chiave privata è nota al proxy. Per questo motivo, un certificato generato dal proxy viene installato nella lista delle autorità di certificazione del browser dallo staff tecnico.

In queste situazioni, l'analisi da parte del proxy del contenuto di una transazione SSL/TLS diventa possibile. È come se il proxy stesse eseguendo un attacco di tipo man-in-the-middle, però consentito dal client per via di un certificato di autorizzazione posseduto dal proxy.

Aggirare filtri e censura Se il server di destinazione filtra i contenuti basandosi sull'origine della richiesta, l'uso di un proxy può aggirare questo filtro. Ad esempio, un server che usa la geolocalizzazione dell'indirizzo IP per restringere il campo dei suoi servizi a determinati Paesi, può eseguire l'accesso usando un server proxy localizzato in uno dei Paesi a cui è consentito accedere.

I proxy web sono il mezzo più comune di aggirare censure governative nonostante non più del 3% degli utenti di internet usi strumenti atti a questo scopo.

In alcuni casi, gli utenti possono aggirare proxy i cui filtri usano delle "liste nere" usando servizi appositi per modificare le informazioni ricevute dal proxy facendogli "credere" di non essere nella lista nera.

Accessi e intercettazioni I proxy possono essere installati in modo da intercettare dati sul flusso tra computer client e il web. Tutti i contenuti inviati - incluse le password inviate e cookies utilizzati - possono essere catturati e analizzati da parte del proxy. Per questo motivo, le password per i servizi online (come webmail e bancari) devono sempre essere scambiati attraverso una connessione protetta crittograficamente come SSL. Con il concatenamento proxy che non rivelano i dati relativi al richiedente originale, è possibile nascondere le attività dagli occhi dell'utente di destinazione. Tuttavia, diverse tracce vengono lasciate sui passaggi intermedi, che potrebbero essere utilizzate per tracciare le attività dell'utente. Se le politiche e gli amministratori di questi altri proxy sono sconosciuti, l'utente può cadere vittima di un falso senso di sicurezza solo perché questi dettagli non gli sono visibili. Quello che è più un inconveniente di un rischio è che gli utenti del proxy possono ritrovarsi bloccati da alcuni siti Web che bloccano gli indirizzi IP da proxy noti per aver "disturbato" il sito. Il rimbalzo tra più proxy può essere utilizzato per mantenere la privacy.

Miglioramento delle prestazioni Un caching proxy velocizza notevolmente le richieste di servizi restituendo contenuti memorizzati da una precedente richiesta (che può essere stata fatta anche da altri client).

I caching proxy mantengono copie locali delle risorse richieste più frequentemente, permettendo a grosse aziende di ridurre notevolmente il traffico effettuato (quindi la banda utilizzata e di conseguenza costi e tempo). La maggior parte degli ISP (fornitori di servizi internet) e delle grosse organizzazioni (per grosse si intende con tanti impiegati che effettuano traffico) ha un caching proxy.

I caching proxy furono la prima tipologia di proxy implementata.

Un proxy che è stato progettato per ridurre i problemi o degradazioni (link non più attivi) relativi a specifici link è un Performance Enhancing Proxy (PEP). Questi di solito sono utilizzati per migliorare le prestazioni di TCP in presenza di considerevoli tempi di richiesta/risposta o di elevata perdita di pacchetti (come le reti wireless o di telefonia mobile) o link altamente asimmetrici che caratterizzano tassi di upload e download molto diversi. I PEP possono fare un uso più efficiente della rete, ad esempio attraverso la fusione di ACK TCP o comprimere i dati inviati a livello di applicazione "Layering". [rfc:3135 Performance Enhancing Proxies Intended to Mitigate Link-Related Degradations]. IETF. June 2001. p. 4. sec. 2.1. RFC 3135. Retrieved 21 February 2014.

Un altro importante uso del server proxy è quello di ridurre il costo dell'hardware. Un'organizzazione può avere molti sistemi sulla stessa rete o sotto il controllo di un singolo server, proibendo una singola connessione a Internet per ciascun sistema. In questi casi, i singoli sistemi possono essere collegati ad un server proxy e il server proxy connesso al server principale.

Traduzione Un proxy di traduzione è un server proxy che è usato per gestire e ottimizzare siti web multilingue che risultino coerenti a livello globale e di effettivo interesse a livello locale.