Translation(s): English - Italiano


Questa pagina è relativa all'impostazione di un sistema rudimentale di filtraggio web dei contenuti per mezzo di squidGuard e delle blacklist


Filtro web rudimentale con squidGuard

Quella che segue è la descrizione delle operazioni da compiere per impostare squidGuard in maniera semplice. Per configurazioni più avanzate guardare in fondo a questa pagina.

"Nota: i listati di comandi in questa pagina wiki sono stati ottenuti usando un server Sarge."

Installazione

Diventare root, poi eseguire:

apt-get install squidguard

Configurazione

Scaricare una blacklist di base da:

http://squidguard.mesd.k12.or.us/blacklists.tgz

Copiare quella blacklist nella directory di squid:

cp blacklist.tgz /var/lib/squidguard/db/

Spostarsi nella directory dei database di squidGuard:

cd /var/lib/squidguard/db

Scompattare la blacklist con:

tar xvzf blacklists.tgz

Modificare il proprio file di configurazione:

/etc/squid/squidGuard.conf

un esempio di squid.conf per la blacklist appena installata può essere trovato in SquidGuardConf

Impostare il proprietario adeguato per il database di squidGuard:

chown proxy:proxy -R /var/lib/squidguard/db/*

e i permessi (tutti i file 644, tutte le directory 755):

find /var/lib/squidguard/db -type f | xargs chmod 644
find /var/lib/squidguard/db -type d | xargs chmod 755

Inizializzare il database:

sudo -u proxy squidGuard -C all

Se si guarda all'interno delle directory che contengono i file domains e urls si potrà vedere che sono stati creati file addizionali: domains.db e urls.db.

Se non si ha sudo sarà nuovamente necessario cambiare il proprietario.

Dire a squid di usare squidGuard, per questo andrà inserita la seguente riga:

url_rewrite_program /usr/bin/squidGuard

al file di configurazione di squid

/etc/squid/squid.conf

Impostare il messaggio che sarà restituito per gli URL bloccati:

/var/www/block.html

Si può usare BlockHtml, che è una bella pagina in rosso e nero con un collegamento 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 sia visualizzato. Sul sito di squidGuard c'è una maniera molto carina per controllare se funziona: verificare la configurazione di 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

Collegamenti

TODO

Commenti riguardanti questa pagina

Si possono aggiungere in questa sezione, preferibilmente nella versione originale inglese della pagina, i propri commenti insieme al proprio nome Wiki.

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

inserirlo nel crontab di root:

sudo crontab -e

e aggiungere la seguente riga:

00 5 * * * sh /root/bin/squid_blacklist_update.sh