Pour installer squidGuard à une installation existante de squid, il faut rajouter à squid.conf
Code:
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
dans /etc/squid.conf ou
/etc/squid/squid.conf.
Puis définir des groupes de machines
dans /etc/squid/squidGuard.conf par
Code:
src pudibonds {
ip 192.168.2.1-192.168.2.254
}
src toutvenant {
ip 192.168.1.3-192.168.1.254
}
src moi
{
ip 192.168.1.2
}
et définir des domaines précis
correspondant à une liste noire, ceux que j'utilise sont
Code:
dest adult {
domainlist
adult/domains
urllist adult/urls
}
dest publicite
{
domainlist publicite/domains
urllist publicite/urls
}
dest
warez {
domainlist warez/domains
urllist warez/urls
}
dest
porn {
domainlist porn/domains
urllist porn/urls
}
La définition de la politique se
fait à la fin du fichier /etc/squid/squidGuard.conf
Code:
toutvenant {
pass !porn !warez
all
redirect http://192.168.1.1/interdiction.html
}
pudibonds
{
pass !porn !adult !publicite !warez all
redirect
http://192.168.1.1/interdiction.html
}
moi {
pass
all
redirect http://192.168.1.1/interdiction.html
}
default {
pass local none
redirect
http://192.168.1.1/interdiction.html
}
}
Les codes «domainlist
porn/domains» se définisse à partir de l'arborescence de ta liste
noire, ce qui précède correspond donc à la liste
/var/lib/squidguard/db/porn/domains (et la base de données
/var/lib/squidguard/db/porn/domains.db), etc.
La question est
comment avoir une liste noire. L'éducation nationalegère une liste
quotidiennement mise à jour sur
ftp://eole.orion.education.fr/maj/blacklists/blacklists.tar.gz
et exploitable librement. Un script de mise à jour quotidien est
Code:
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
cd
/tmp
rm -Rf blacklists*
if wget
ftp://eole.orion.education.fr/maj/blacklists/blacklists.tar.gz
> /dev/null 2> /dev/null ; then
tar xzf
blacklists.tar.gz
cd blacklists
cp
-dpRf * /var/lib/squidguard/db/
chown -R proxy.proxy
/var/lib/squidguard/db/*
squidGuard -C all
/etc/init.d/squid restart > /dev/null
cd
..
rm -R blacklists*
exit
0
else
echo "Bug: MAJ Squidguard"
exit 1
fi
code éxécuté via une ligne
Code:
22 4 * * * root /usr/local/bin/misajourGuard
dans /etc/crontab.
Squid
peux être mis en mode transparent en rajoutant
Code:
httpd_accel_host
virtual
httpd_accel_port 80
httpd_accel_with_proxy
on
httpd_accel_uses_host_header on
dans le squid.conf sur un squid jusqu'à
Woody
ou bien modifier la ligne
Code:
http_port 3128 transparent
pour les version supérieures.
Pour
modifier les filtres, ajouter ou retrancher des urls ou des domains,
il suffit de faire un fichier diff.
Exemple: on souhaite
interdire
http://www.lefigaro.fr/actualite-france/2010/03/17/index.html
dans le filtre adult, il suffit de rajouter un fichier «urls.diff»
dans /var/lib/squidguard/db/adult contenant
Code:
Code:
+ www.lefigaro.fr/actualite-france/2010/03/17/index.html
ou encore, si on veut être
plus général et faire un fichier «domains.diff» contenant
Code:
+lefigaro.
La réciproque peut être
faite, on peut autoriser le site multimania.com/supernichons/ en
rajoutant
Code:
-multimania.com/supernichons/
dans «urls.diff» ainsi que le
domain
Code:
-beaux-gros-nichons.com
dans «domains.diff». L'accès à
http://www.multimania.com/supernichons/
et au domaine beaux-gros-nichons.com sera autorisé.
Important:
après chaque changement, faire:
Code:
Code:
# squidGuard -C all
# squidGuard
-u
# /etc/init.d/squid restart
en veillant à ce que tous les
fichiers appartiennent à proxy.