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.


Le test de squidguard peut être fait par

echo "http://www.porno.net/ 192.168.0.6/- - GET" | /usr/sbin/squidGuard -c /etc/squid/squidGuard.conf -d

La sortie affichée permet de savoir si le filtre fonctionne ou non.