id-10023328Un proxy firewall, anche denominato gateway o application firewall o proxy server, è una sorta di intermediatore oppure, se vogliamo utilizzare la sua traduzione letterale, è una specie di procuratore o delegato. Il suo compito è intercettare ed ispezionare i messaggi prima che arrivino a destinatario.

Il packet filtering, come avevamo visto qui, si limita a monitorare il traffico di rete mentre il proxy interrompe il canale di comunicazione diretta tra due strumenti connessi e la riavvia prendendo il posto del mittente. Mentre, infatti, il firewall packet filtering si basa sull’ACL (ovvero, la Lista di Controllo degli Accessi) che regola il traffico di rete il proxy firewall non solo utilizza l’ACL ma ferma anche la connessione dell’utente. Proviamo a chiarificarne il funzionamento schematicamente:

  1. Un utente X, che potremmo essere benissimo noi, ha il proprio browser (Chrome o Firefox per esempio) configurato per usare il firewall proxy server e decide di visitare una pagina internet.
  2. Il proxy firewall accetta la richiesta di visitare tale pagina può intromettersi facendo le veci dell’utente.
  3. L’host esterno risponde alla richiesta inoltrata dal proxy firewall inviandogliela.
  4. Il proxy la esamina e se la richiesta risulta sicura questi inizia una nuova sessione tra sé ed il sistema interno ricollegandosi, quindi, all’utente.proxy-2

Il proxy firewall può essere utilizzato su diversi livello del sistema di rete. Per esempio, il vecchio circuit-level proxy lavorava nei bassi livelli del modello OSI (Open System Interconnection) monitorando il traffico da un punto della rete. Questo significa che creava un circuito tra due sistemi comunicanti ma non poteva occuparsi del contenuto dei pacchetti e, quindi, l’ispezione era quanto meno superficiale. Per chi ha dato un’occhiata a cos’è un firewall packet filtering il circuit-level proxy apparirà piuttosto simile nel modo di approcciarsi ai pacchetti ed ai protocolli. Il traffico inviato da questo proxy sembrava essere generato dallo stesso firewall e non dal sistema da cui proveniva: questo era utile per nascondere informazioni relative ai computer della rete che il firewall in questione stava proteggendo.

Un esempio di circuit-level proxy è SOCKS che provvede a creare un canale sicuro tra due computers. SOCKS è uno strumento creato per semplificare la conversione di applicazioni client o server in proxy. Un SOCKS-client invia una richiesta d’accedere ad un computer su internet; questa arriva alla rete del firewall proxy di SOCKS che inspeziona i pacchetti e ne controlla le regole per vedere se questo tipo di connessione è permessa o meno. Se il pacchetto è apposto il SOCKS firewall invia il messaggio al computer-destinatario via internet; quando questo pc risponde invia i pacchetti al SOCKS firewall che controlla nuovamente i dati e, poi, li passa al client iniziale che abbiamo denominato SOCKS-client.proxy-3

Un altro esempio di proxy firewall è l’application-level proxy, invece, ispeziona i pacchetti fino ad arrivare al livello dell’applicazione. Questo tipo di proxy riesce a comprendere il pacchetto nel suo insieme e può prendere delle decisioni basate sul loro contenuto. Inoltre, avendo il computer più tipi di protocollo (HTTP, Telnet, SMTP, NTP, FTP, etc.) ad ognuno di essi può corrispondere un application-level proxy: questo perché il proxy deve essere in grado di comprendere a fondo il funzionamento ed i comandi di uno specifico protocollo. Se, quindi, questo tipo di proxy non capisce un certo tipo di protocollo o servizio non può proteggerne la comunicazione; tale problema non è estendibile al circuit-level proxy poiché lavorando ad un livello più basso non ha bisogno di occuparsene.

Come abbiamo fatto, precedentemente, con il firewall packet filtering vediamo allora quali sono le debolezze del proxy firewall:

  • Non sono il massimo per applicazioni in tempo reale che richiedono un servizio a banda larga.
  • Sono limitati in termini di supporto per quanto riguarda nuove applicazioni e protocolli di rete.
  • Possono generare dei problemi nella performance a causa delle varie richieste per processare i singoli pacchetti.

Inoltre, va ricordato che i sistemi proxy sono effettivi solamente se utilizzati assieme a qualche metodo di restrinzione a livello di traffico IP tra i clients e i server reali come, per esempio, un router che faccia lo screening poiché, altrimenti, i clients potrebbero bypassare il sistema proxy. Se questo fosse possibile allora anche qualche altro ente esterno potrebbe fare lo stesso.

[Le immagini contenute in questo articolo sono state prese dal libro “Building Internet Firewalls” di Elizabeth D. Zwicky, Simon Cooper & D. Brent Chapman].

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *