Filtraggio rudimentale con squidGuard
Recentemente abbiamo avuto delle lamentele nella nostra scuola riguardanti l'assenza di filtri internet. Così ho configurato squidGuard. Mi ci sono volute un paio di ore dal momento di venire a sapere dell'esistenza di squidGuard al farlo funzionare in maniera semplice. Per settaggi più avanzati guardare in fondo a questa pagina.
"Nota: i listati presenti sono stati realizzati usando un server Sarge."
Installazione
da root:
apt-get install squidguard
Configurazione
download di una blacklist di base da:
http://squidguard.mesd.k12.or.us/blacklists.tgz
copia di quella blacklist nella directory di squid:
cp blacklist.tgz /var/lib/squidguard/db/
sempre come root, spostarsi nella directory dei database di squidGuard:
cd /var/lib/squidguard/db
scompattare la blacklists con:
tar xvzf blacklists.tgz
Adesso è possibile editare il proprio file di configurazione:
/etc/squid/squidGuard.conf
un esempio di squid.conf per la blacklist appena installata può essere trovato in ?/SquidGuardConf
Si dovranno settare le ownership adeguate per il database di squidGuard:
chown proxy:proxy -R /var/lib/squidguard/db/*
e i permessi (tutti i files 644, tutte le directories 755):
find /var/lib/squidguard/db -type f | xargs chmod 644 find /var/lib/squidguard/db -type d | xargs chmod 755
Poi si inizializzerà il database:
sudo -u proxy squidGuard -C all
Se si guarda all'interno delle directories che contengono i files domains e urls si potrà vedere che sono stati creati files addizionali: domains.db e urls.db.
Adesso bisognerà dire a squid di usare squidGuard, per questo bisognerà inserire la seguente riga
redirect_program /usr/bin/squidGuard
al file di configurazione di squid
/etc/squid/squid.conf
preferibilmente dove dice:
# TAG: redirect_program
approssimativamente alla riga 1023
Impostare il messaggio che sarà restituito per gli URL bloccati
/var/www/block.html
Io ho usato ?/BlockHtml, che è una bella pagina in bianco e nero con un link a skolelinux.de.
Adesso riavviare squid con:
squid -k reconfigure
verificare l'installazione
Il modo più semplice è quello di visitare qualche sito che dovrebbe risultare bloccato e anche qualche sito che non si trova nella blacklist per controllare che questo sia consentito. Sul sito di squidGuard c'è una maniera molto carina di controllare che funzioni: verifying squidGuard
Per debian-edu si può usare il seguente comando:
echo "http://www.rotten.com / - - GET" | squidGuard -d
se si modificano le blacklist
Si dovrà aggiornare il database di squidGuard con:
sudo -u proxy squidGuard -C all
E riconfigurare squid con:
squid -k reconfigure
Links
TODO
- Documentazione riguardante le blacklist in differenti lingue.
- Logging delle violazioni alle blacklist e relativa notifica (email, jabber?).
- controllo basato su LDAP (??)
- Aggiornamenti automatici.
- Tradurre in tedesco e aggiungere al mio wiki
- Modulo Webmin - Ho cercato di installarlo e di farlo funzionare: DebianEdu/HowTo/SquidGuard/webmin, però in realtà il modulo non funziona benissimo e quindi questa idea è stata abbandonata poichè webmin e sarge sono entrambi deprecati.
Commenti su questa pagina
Aggiungi i commenti qui, grazie.
Aggiornamenti automatici
Salvare il seguente script come /root/bin/squid_blacklists_updates.sh:
TARGET=/var/lib/squidguard/db/blacklists cd $TARGET || exit # only run if squidGuard is active! [ "`ps auxw | grep squid[G]uard`" ] || exit rsync -az squidguard.mesd.k12.or.us::filtering $TARGET for DIR in `ls $TARGET` do if [ -f $DIR/domains.include ] then TMP=$RANDOM cat $DIR/domains $DIR/domains.include | sort | uniq > $DIR/domains.$TMP mv -f $DIR/domains.$TMP $DIR/domains fi if [ -f $DIR/urls.include ] then TMP=$RANDOM cat $DIR/urls $DIR/urls.include | sort | uniq > $DIR/urls.$TMP mv -f $DIR/urls.$TMP $DIR/urls fi done /usr/bin/squidGuard -c /etc/squid/squidGuard.conf -C all # /usr/sbin/squidGuard -c /etc/squid/squidGuard.conf -u chown -R proxy:proxy $TARGET chown -R proxy:proxy /var/log/squid/squidGuard.log sleep 5s /usr/bin/killall -HUP squid
e inserirlo nel crontab di root:
sudo crontab -e
aggiungere la seguente riga:
00 5 * * * sh /root/bin/squid_blacklist_update.sh
Traduzione: -- PaoloAlberti 2010-10-28 09:11:58