Primo esperimento di Content Filtering Proxy

Ieri, insieme a Roberto Bartali ed a Stefano Frigerio, tecnico del Laboratorio di Informatica di Scienze Politiche, abbiamo installato il primo proxy, con funzioni di content filtering, tutto basato su software opensource.

HPIM0151L’hardware, un Pentium III 750MHz con 400MByte di RAM, 40GByte di HD e due schede di rete Tulip, monta una Debian 5.0.3 con installazione minimale dove abbiamo messo:

Il tutto per un’aula informatica di circa 15 macchine Windows XP. Ecco come abbiamo scelto di configurare il tutto:

DansGuardian (regolarmente pacchettizzato, installabile con apt-get install dansguardian), è un demone che rimane in ascolto sulla porta 8080 e passa tutte le chiamate al proxy Squid in ascolto sulla 3128. DansGuardian analizza tutto il traffico in ingresso ed uscita, decidendo, sulla base di alcuni parametri configurabili dall’amministratore, se concedere o meno l’accesso al client. In particolare abbiamo scelto, come primo approccio, di bloccare tutto il traffico relativo ai siti porno utilizzando un sistema di parole-chiave pesate. Praticamente viene assegnato un punteggio ad ogni parola-chiave, ad esempio:

  • sesso = 50
  • sex = 50
  • porno = 100
  • etc etc etc

se la somma delle parole-chiave trovate nel contenuto supera una threshold (soglia) definita, l’accesso a tale pagina viene interdetto. Questo permette di risparmiare l’uso di blacklist, onerose dal punto di vista dell’aggiornamento, e concentrarsi di più sui contenuti da concedere o meno. Ovviamente, come potete vedere dalla documentazione sul sito di DansGuardian, le features sono moltissime:

  • Can block adverts by the use of an advert URL block list.
  • Can filter text and HTML pages for obscene (sexual, racial, violent, etc) content.
  • Uses an advanced phrase weighting system to reduce over or under blocking.
  • Can filter sites using the PICS labeling system.
  • Can filter according to MIME type and file extension.
  • Can filter according to URLs including Regular Expression URLs.

HPIM0152In più è possibile abilitare la scansione antivirus dei contenuti in transito (ClamAV)  ed attivare un sistema di alerting pienamente configurabile, ad esempio se l’utente X cerca di accedere più di N volte in M secondi ad un sito web proibito, il sistema invia una mail direttamente all’amministratore avvertendolo del tentativo ripetuto di accesso.

Per concludere ho impostato il firewall (IPTABLES) in modo da “blindare” la macchina e consentire solo l’accesso alla porta 8080 (in questo modo DansGuardian NON è bypassabile).

A fine giornata il tempo necessario per reinstallare il sistema operativo, configurare la rete, installare e configurare il proxy ed il content filtering, configurare il firewall e fare qualche verifica di funzionamento ha richiesto circa 4 ore di lavoro. Essendo il tutto realizzato con software OpenSource non ci sono stati costi di licenza.

Adesso abbiamo lasciato a Stefano l’onore e l’onere 🙂 di farci sapere come funziona, così da poter -eventualmente- proporre questa soluzione anche in altre sedi !

Michele Pinassi
System Manager Area Sistema Biblioteche