back

Squid e DansGuardian: come costruire un proxy con filtro dei contenuti web

Introduzione

In diversi contesti di rete, si pensi ad esempio ad una rete LAN aziendale o ai laboratori informatici di scuole medie inferiori, può essere importante implementare un sistema il più possibile automatico per il controllo e il filtraggio di alcuni contenuti web considerati dall'amministratore inappropriati al contesto. Si considerino a titolo di esempio le seguenti necessità:

  • proteggere i minori dal rischio di imbattersi in siti dedicati alla pornografia, alla violenza, al gioco d'azzardo e altro (il cosiddetto parental control);
  • impedire al personale di un'azienda o di un ente di perdere tempo frequentando siti non connessi con l'attività lavorativa;
  • migliorare l'utilizzo della banda disponibile, bloccando l'accesso a siti non connessi con l'attività lavorativa o la visione di filmati in streaming

Gli ingredienti che permettono di raggiungere gli obiettivi sopra elencati in una macchina Debian sono:

  • un insieme di blacklist che elenchino sia i siti e le URL da bloccare o meno, sia frasi che, trovate in una pagina, facciano sì che essa sia bloccata;
  • un software di filtraggio, o url rewriter, che, servendosi delle blacklist, possa dirottare una richiesta verso una pagina prestabilita, oppure lasciarla passare;
  • un software proxy, che si occupi essenzialmente di ricevere le richieste dal url rewriter e ad inoltrarle verso l'esterno;
  • le utility iptables, utilizzate per definire le regole che, in maniera trasparente, dirottano tutto il traffico web attraverso il proxy o il software di filtraggio, indipendentemente dalla volontà degli utenti;
  • il supporto Netfilter nel kernel, necessario alle utility iptables.

Per raggiungere tutti questi obiettivi è anche necessario che la macchina Debian che configureremo sia impostata come gateway predefinito della rete LAN che vogliamo sottoporre a filtraggio.
Lo schema logico di questa struttura di rete sarà quindi come il seguente:

 Rete       Default         URL           Proxy
locale <--> Gateway <-->  Rewriter   <--> Server <--> Internet
 LAN        Debian      DansGuardian      Squid
          \                                     /
           \___________________________________/
                             |
             Tutti questi servizi risiederanno
               su una singola macchina Debian

Nei capitoli seguenti analizzeremo uno per uno tutti i punti della struttura da implementare.

back