Squid: bloccare la pubblicità migliora la sicurezza

Una delle tante parti di cui farei a meno, in una pagina web, è senz’altro la pubblicità. Inoltre se si considera che molto spesso quest’ultme rimandano a siti nei quali è facile trovare malware (spyware, keylogger …), è senza dubbio importante limitarne l’accesso, sopratutto in ambienti corporate, dove è necessario garantire la sicurezza e la stabilità dei sistemi informatici.

Per implementare questo filtro utilizzo Squid (http://www.squid-cache.org/) e un elenco di ads servers, aggiornati, disponibili al sito http://pgl.yoyo.org/adservers/.

Script per il download e installazione del file di elenco servers:


# Script for update Adv Servers List for Squid
# written by Miticojo
#!/bin/sh

set -e

# Set file and program path
ads_tmp_file='/tmp/adservers'
ads_squid_file='/etc/squid/adservers'
ads_list_website='http://pgl.yoyo.org/adservers/serverlist.php?hostformat=squid-dstdom-regex;showintro=0'
squid_bin='/usr/sbin/squid'

# Download Adv Servers List and keep only servers list
/usr/bin/wget -O $ads_tmp_file $ads_list_website
cat /tmp/adservers | grep -v '<' | grep '(' > $ads_squid_file

# Reload Squid configurations
$squid_bin -k reconfigure

exit 0

Una volta creato lo script, lo si rende eseguibile (chmod +x …) e lo inserisce nel crontab del sistema per essere eseguito in modo schedulato.

Prima di poter testare l’efficacia del filtro è necessario aggiungere qualche riga al file squid.con (solitamente è in /etc/squid/):

acl ads dstdom_regex -i "/etc/squid/adservers"
http_access deny ads

La prima riga imposta una nuova acl, di tipo Destination Domain Regular Expression, puntando all’elenco presente nel file che otteniamo con lo script precedente; mentre la seconda riga effettua il blocco.

Dunque qualora gli utenti che utilzzano il proxy visualizzino pagine con elementi pubblicitari, residenti nei servers in elenco, visualizzaranno all’interno delle pagine degli avvisi di blocco.
Per dare un tocco di eleganza al filtro consiglio di posizionare in un qualsiasi web server una immagine gif trasparente di 1×1 pixel (scaricabile all’indirizzo http://upload.wikimedia.org/wikipedia/commons/c/ce/Transparent.gif) e di aggiungere al codice precedente (in squid.conf)

 deny_info http://webserver/Transparent.gif ads 

con il risultato di non visualizzare più avvisi di blocco all’interno delle pagine visitate, bensì la totale assenza della pubblicità e uno spazio vuoto al suo posto.

Esistono ulteriori metodi ancor più performanti (anche se veramente pesanti per la CPU) come, ad esempio, DansGuardian (http://dansguardian.org/) che si integra con Squid e utilizza un vero e proprio database  aggiornabile.

Buona navigazione …

Condividi questo articolo:

  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • Blogosphere News
  • Diigo
  • DotNetKicks
  • email
  • LinkedIn
  • Live
  • MySpace
  • PDF
  • Ping.fm
  • Twitter
  • Yahoo! Bookmarks
  • Add to favorites

Articoli correlati

  1. Squid: bloccare l’accesso a Live Messenger e Jabber

About the Author