14

Click here to load reader

Blacklists amb Squidguard a Debian Squeeze

Embed Size (px)

Citation preview

Page 1: Blacklists amb Squidguard a Debian Squeeze

SQUID

Blacklists amb SquidGuard

Aquest document ha estat creat per Jordi Clopés Estebani està protegit per la llicencia Creative Commons by-sa 3.0Twitter @[email protected]

Page 2: Blacklists amb Squidguard a Debian Squeeze

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.

Page 3: Blacklists amb Squidguard a Debian Squeeze

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/

Page 4: Blacklists amb Squidguard a Debian Squeeze

INSTAL.LACIÓ

Moute al directori /var/lib/squidguard/db:

cd /var/lib/squidguard/db

I descomprimeix la Blacklist:

tar xvzf blacklists.tgz

Page 5: Blacklists amb Squidguard a Debian Squeeze

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

Page 6: Blacklists amb Squidguard a Debian Squeeze

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

Page 7: Blacklists amb Squidguard a Debian Squeeze

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

Page 8: Blacklists amb Squidguard a Debian Squeeze

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

Page 9: Blacklists amb Squidguard a Debian Squeeze

WEB BLOCK.HTMLVolem 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.

Page 10: Blacklists amb Squidguard a Debian Squeeze

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 MBcache_dir ufs /var/spool/squid 10000 16 256

Finalment reiniciem squid:

/etc/init.d/squid restart

Page 11: Blacklists amb Squidguard a Debian Squeeze

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

Page 12: Blacklists amb Squidguard a Debian Squeeze

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

Page 13: Blacklists amb Squidguard a Debian Squeeze

CONTINGUT DE squid_blacklist_update.sh

TARGET=/var/lib/squidguard/db/blacklistscd $TARGET || exit# only run if squidGuard is active![ "`ps auxw | grep squid[G]uard`" ] || exitrsync -az squidguard.mesd.k12.or.us::filtering $TARGETfor DIR in `ls $TARGET`doif [ -f $DIR/domains.include ]thenTMP=$RANDOMcat $DIR/domains $DIR/domains.include | sort | uniq> $DIR/domains.$TMPmv -f $DIR/domains.$TMP $DIR/domainsfiif [ -f $DIR/urls.include ]thenTMP=$RANDOMcat $DIR/urls $DIR/urls.include | sort | uniq > $DIR/urls.$TMPmv -f $DIR/urls.$TMP $DIR/urlsfidone/usr/bin/squidGuard -c /etc/squid/squidGuard.conf -C allchown -R proxy:proxy $TARGETchown -R proxy:proxy /var/log/squid/squidGuard.logsleep 5s/usr/bin/killall -HUP squid