1. SQUID
Blacklists amb SquidGuard
Aquest document ha estat creat per Jordi Clopés Esteban
i està protegit per la llicencia Creative Commons by-sa 3.0
Twitter @jordiclopes
jordiclopes@gmail.com
2. QUÈ ÉS SQUIDGUARD?
SquidGuard permet descarregar una llista negra (blacklist) de
planes web d'Internet i aplicar-les al proxy Squid perquè les
denegui.
Podem actualitzar aquesta llista negra periòdicament.
3. INSTAL·LACIÓ
En una màquina sense squid instal·la SquidGuard:
apt-get install squidguard
En aquest procés utilitzarem l'squid i no l'squid3
Descarrega la blacklist d'Internet:
wget http://squidguard.mesd.k12.or.us/blacklists.tgz
Copia la Blacklist al directoricorresponent:
cp blacklists.tgz /var/lib/squidguard/db/
4. INSTAL.LACIÓ
Moute al directori /var/lib/squidguard/db:
cd /var/lib/squidguard/db
I descomprimeix la Blacklist:
tar xvzf blacklists.tgz
5. INSTAL·LACIÓ
Moute al directori /etc/squid (ull: és squid i no squid3)
cd /etc/squid/
Fes un copia de seguretat del fitxer squidGuarg.conf original:
cp squidGuard.conf squidGuard.conf.original
Descarregat el nou fitxer squidGuard.conf d'Internet:
wget http://ompldr.org/vaTR1YQ/squidGuard.conf
6. INSTAL·LACIÓ
Edita el fitxer squidGuard.conf i substitueix:
http://192.168.1.XXX/block.html
per
http://ip_del_teu_debian/block.html
per exemple:
http://192.168.10.8/block.html
7. INSTAL·LACIÓ
Donem permisos al lloc on es guardarà la base de dades de la
blacklist amb aquestes tres comandes:
chown proxy:proxy -R /var/lib/squidguard/db/*
find /var/lib/squidguard/db -type f | xargs chmod 644
find /var/lib/squidguard/db -type d | xargs chmod 755
8. INSTAL·LACIÓ
Instal·lem el programa sudo:
apt-get install sudo
Creem la base de dades de URLs:
sudo -u proxy squidGuard -C all
Ara editem /etc/squid/squid.conf:
I a sota de la linia http_port 3128 transparent
Afegim:
redirect_program /usr/bin/squidGuard
9. WEB BLOCK.HTML
Volem que quan un usuari accedeixi a una URL de la blacklist se'l
redirigeixi a una web d'advertència.
Crea a /var/www/ el fitxer block.html amb un text indicant que
la web està bloquejada. Pots eduquar la web al teu gust.
10. CONFIGURAR SQUID
Cal editar squid.conf de manera semblant a com ho varem fer amb l'squid3:
vi /etc/squid/squid.conf i afegim:
acl la_meva_lan src 192.168.10.0/24
http_access allow la_meva_lan
I definim l'espai de cache:
cache_mem 750 MB
cache_dir ufs /var/spool/squid 10000 16 256
Finalment reiniciem squid:
/etc/init.d/squid restart
11. ACTUALITZAR AUTOMÀTICAMENT
Si volem que la blacklist s'actualitzi diariament podem crear
un script i executar-lo cada mitjanit amb el Cron.
Cal afegir al CRON fent:
crontab -e
i afegim:
@midnight /root/squid_blacklist_update.sh
12. SCRIPT D'ACTUALITZACIÓ
Creem el fitxer:
vi /root/squid_blacklist_update.sh
i hi copiem el contingut de la pàgina següent. Aquest script es
connecta al servidor de la blacklist, descarrega el llistat i l'aplica a
SquidGuard.
Un cop copiat cal donar-li permisos d'execució fent:
chmod 755 /root/squid_blacklist_update.sh
Instal·lar rsync amb la comanda:
apt-get install rsync
13. CONTINGUT DE squid_blacklist_update.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
chown -R proxy:proxy $TARGET
chown -R proxy:proxy /var/log/squid/squidGuard.log
sleep 5s
/usr/bin/killall -HUP squid