Rete più solida con un proxy

di Valerio Guaglianone

Pubblicato 11 Settembre 2008
Aggiornato 7 Aprile 2014 08:51

Cosa sono i server proxy e come possono migliorare le prestazioni, la sicurezza e la stabilità della rete locale di una Pmi

In ambito aziendale si sente molto spesso parlare di server proxy. Oggi molte aziende, di differenti dimensioni, utilizzano server di questo tipo. Il compito principale del server proxy è quello di diminuire il tempo di risposta associato alle richieste provenienti da internet, fornendo inoltre, un ulteriore livello di protezione poiché è in grado di filtrare parzialmente contenuti web inadeguati e malware.

Cos’è un proxy server?

È importante sapere che esistono diverse tipologie di server proxy, che possono essere impiegate su sistemi operativi differenti, fornendo funzionalità diverse. Fondamentalmente il funzionamento di un server proxy è il seguente: quando un’applicazione client (di solito il browser web) chiede l’accesso a una risorsa su Internet, il server proxy della rete privata, risponde traducendo la richiesta e passandola immediatamente a Internet. Nel momento in cui un computer nella rete Internet risponde alla richiesta, il proxy memorizza la risposta nella propria cache e in seguito passa le informazioni ricevute al client. Una semplice comunicazione tra client e server, nulla di incomprensibile. In effetti, il server proxy funge da gateway (o meglio da cancello) che separa la rete privata dalla rete Internet, permettendo agli utenti della rete aziendale di inviare delle richieste verso Internet e di ricevere le risposte, impedendo così, agli utenti non autorizzati, di accedere direttamente ai client della rete aziendale.

Figura 1: l’intermediazione del proxy

Accesso Internet con server i proxy

Un proxy server deve supportare tutti i protocolli comuni per poter permettere l’accesso ai servizi offerti via Internet: HTTP, FTP, flussi audio/video, chat e posta elettronica. Un buon proxy supporta diversi protocolli di comunicazione, non deve limitarsi al solo TCP/IP. Effettivamente, quando installiamo un server proxy, non facciamo altro che creare una rete intranet. Il PC col server proxy possiede due schede di rete, una collegata alla rete aziendale e l’altra a Internet; così il server proxy diventa il mezzo attraverso il quale la nostra rete privata si collega al mondo esterno. Di conseguenza è chiaro che tutte le applicazioni installate sui PC aziendali non accedono direttamente ai server di Internet poiché le richieste vengono smistate esclusivamente dal proxy. Ovviamente, visto che si comportano in maniera differente quando si utilizza un proxy server, le applicazioni installate sui PC devono essere configurate ad hoc. Solitamente, in una moderna azienda, sono solo i browser web che necessitano di una riconfigurazione, ma praticamente l’operazione si riduce esclusivamente a pochi click.

Figura 2: Explorer e i proxy

Perché impiegare un server proxy?

Abbiamo parlato, in maniera schematica, del funzionamento di un server proxy, andiamo ora ad analizzare i vantaggi che offre l’adozione di questo particolare server in ambito aziendale.

Consistente riduzione dei costi delle connessioni Internet. La capacità di caching del proxy server riduce il traffico diretto alla connessione Internet. Il costo di una connessione ad alta velocità potrebbe dipendere dal numero di pacchetti ricevuti/trasmessi.

Blocco delle connessioni in ingresso. Il server proxy permette ai client aziendali di scambiare dati con i server Internet, ma non permette ai PC della rete Internet di collegarsi ai server della LAN.

Limitare le connessioni. Il proxy autentica gli utenti dell’applicazione secondo il criterio di protezione a livello utente e può limitare le connessioni verso l’esterno in diverse maniere: per singolo utente, per numero di porta TCP/IP, per protocollo di applicazione, per indirizzo IP e nome di dominio della destinazione.

Miglioramento delle prestazioni delle applicazioni aziendali. Il server proxy può conservare nella propria cache i dati delle risorse più utilizzate, in questo modo le successive richieste dei client possono essere soddisfatte dal proxy invece che dal server Internet.

Registrare le connessioni verso Internet. Il server permette di memorizzare e recuperare tutte le informazioni relative ai tentativi di connessioni verso l’esterno. Questo permette agli amministratori di rete di scoprire in che modo i client utilizzano le risorse di Internet ed inoltre quali sono i siti da filtrare.

Invio dei protocolli. Il proxy, in ogni caso, garantisce ai client della rete privata il supporto per utilizzare tutte le risorse disponibili in Internet. Il server funge da gateway per i protocolli Internet, inclusi l’HTTP, l’FTP, l’IRC, il RealAudio ed i protocolli di posta e gruppi di discussione.

Più sicuro e affidabile di un router. Molti osserveranno che il ruolo primario del proxy server, in realtà, può essere svolto anche da un semplice router. Quando si ha la necessità di collegare la propria rete a Internet è sufficiente servirsi di un router, ma un router non è in grado di offrire tutte le funzionalità di un proxy server, prima fra tutte la possibilità di difendersi dagli attacchi perpetrati mediante malware presente in siti equivoci.

Bilanciare il carico col proxy inverso. Può verificarsi che il sito web aziendale divenga improvvisamente tanto conosciuto da dover implementare più server web nella propria rete, per poter garantire un’accettabile continuità di servizio può esserci d’aiuto un server proxy. In questo caso, adoperando il servizio di proxy inverso (o reverse proxy), il proxy server diventa un efficientissimo bilanciatore di carico. Poiché tutte le richieste transitano attraverso un unico server, è sufficiente impiegare un’unica voce DNS per Internet, il carico è distribuito su più server e questo garantisce migliori prestazioni e scalabilità.

I tipi di server proxy

Si è già detto che esistono svariate tipologie di server proxy, ma possiamo comunque fare un distinguo:

  • I proxy dello strato di trasporto, dipendono fortemente dal server, sono meno evoluti, ma molto adattabili. Sebbene funzionino con molti protocolli Internet, non integrano nessuna funzione specifica all’applicazione.
  • I proxy dello strato applicazione, offrono un buon controllo sui protocolli più comuni di Internet, ma tendono alla staticità poiché non si adeguano facilmente ai cambiamenti di tecnologia. Questa diffusissima tipologia di proxy corrisponde alla funzione di proxy classica.
  • I proxy misti, come ad esempio il Microsoft Proxy Server, possono lavorare sia come proxy dello strato di applicazione, sia come un tradizionale proxy client/server.

In sintesi, la scelta della tipologia di proxy server da adottare dipende esclusivamente dall’ambiente e dalle necessità della vostra rete.

Filtri di pacchetti e controllo d’accesso ai siti

Sono molte le aziende che non utilizzano Internet solo perché ritengono che la grande rete non offra altro che virus e pornografia. Mentre altre aziende, e la tendenza è in forte crescita, sostengono che offrire collegamenti ad Internet ai propri dipendenti diminuisca la produttività generale, visto che gli impiegati passerebbero più tempo ad esplorare il web piuttosto che lavorare. Entrambe i problemi possono essere ovviati filtrando le connessioni attraverso un server proxy. I moderni server sono in grado di filtrare i contenuti in maniera molto efficace. L’amministratore di rete può inibire l’accesso a siti ritenuti non appropriati al tipo di lavoro svolto dagli impiegati, oppure può filtrare tutti i dati HTML trasferiti provenienti da un indirizzo IP specifico. Inoltre, alcuni server proxy evoluti, come quello di casa Netscape (http://wp.netscape.com/proxy/v3.5/), sono perfino in grado di rilevare la presenza di virus nei dati in ingresso. Queste funzionalità sono molto utili, ma tenete presente che il filtraggio dei contenuti aumenta il carico di lavoro e il tempo di elaborazione; prima di settare filtri troppo restrittivi è bene assicurarsi che gli utenti stiano effettivamente abusando della connessione Internet.

Perché non usare un proxy?

L’adozione di un server proxy non offre solo vantaggi. Può capitare, e non è una remota possibilità, che alcuni software installati nei client della propria rete non riescano ad effettuare un upgrade, visto che tenteranno inutilmente di comunicare direttamente con il server degli aggiornamenti. Il server proxy si trova tra la rete aziendale e Internet, ne consegue che tutto quello che si trova dietro il proxy è nascosto al mondo esterno. Altro inconveniente può verificarsi quando si cerca di far funzionare un web server sullo stesso sistema che funge da proxy. In tal caso, sia il server proxy, sia il server web possono reclamare la porta TCP numero 80 causando un conflitto. Ovviamente la soluzione è semplice, basta assegnare una porta alternativa ad uno dei due prodotti.

Socks, molto più di un protocollo

Socks (definito dalla NEC) è attualmente il protocollo proxy più flessibile e potente da adoperare in ambito aziendale; Socks è completamente svincolato dal tipo di protocollo da veicolare attraverso di esso. In origine fu progettato come tecnologia firewall, oggi invece, vista la sua evoluzione e le sue peculiarità come servizio di protocollo proxy rappresenta la soluzione ideale per le reti miste, cioè quelle reti che comprendono sistemi Unix like e Windows. Diversamente da un proxy HTTP classico, che collega un server ad un indirizzo DNS, una connessione Socks richiede, in origine, un indirizzo IP valido. Per questo motivo, nell’impiego di questa tipologia di protocollo proxy, i client della rete interna dovranno essere in grado di associare gli indirizzi DNS della rete esterna con indirizzi IP. Attualmente esistono tre versioni di protocollo Socks:

  1. Socks 4;
  2. Socks 4a;
  3. Socks 5.

Quando un’applicazione conosce l’indirizzo IP del server di destinazione, chiede a Socks di comunicare col server, la richiesta inviata dal client è molto completa e precisa, visto che contiene l’identità dell’utente, il tipo di connessione da stabilire ed i dati da scambiare. Il protocollo Socks lavora in maniera trasparente permettendo di effettuare delle connessioni TCP dirette tra due PC appartenenti a reti IP differenti, la banda di rete non risulta rallentata visto che Socks memorizza dove instradare il traffico proveniente dai client. Per usare Socks è necessario che tutti i client della rete siano configurati ad hoc, se il client lo richiede, il client Socks avvia immediatamente una connessione con il server proxy Socks, in base alle impostazioni di default si usa la porta TCP 1080. Se il server proxy è in ascolto sulla stessa porta la connessione con il server di destinazione viene stabilita e Socks comincia a trasferire i dati in maniera bidirezionale, tra client e server. Implementare Socks in una rete aziendale è molto semplice, sia lato client, sia lato server.