Le choix de la source de listes noires d'URLs (et|ou) de noms de domaines a un impact très important sur la configuration de l'outil de filtrage squidGuard. Pour les besoins d'exploitation d'une infrastructure d'enseignement, le service offert par Centre de Ressources Informatiques de l'Université de Toulouse I convient parfaitement !.
La démarche suivie ici ne s'embarrasse pas du choix de tel ou tel service. On télécharge la totalité des listes en une opération unique et on utilise le script d'indexation fourni par le paquet squidguard pour construire la base de données en fonction de la configuration présentée dans Section 5, « La configuration du service de filtrage des URLs ».
L'adresse de la page de téléchargement des listes noires est : http://cri.univ-tlse1.fr/blacklists/. Voici un exemple de traitement manuel de ces listes.
$
cd /var/tmp/$
wget http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz --2015-09-05 21:02:12-- http://dsi.ut-capitole.fr/blacklists/download/blacklists.tar.gz Résolution de dsi.ut-capitole.fr (dsi.ut-capitole.fr)… 193.49.48.249 Connexion à dsi.ut-capitole.fr (dsi.ut-capitole.fr)|193.49.48.249|:80… connecté. requête HTTP transmise, en attente de la réponse… 200 OK Taille : 9606794 (9,2M) [application/x-gzip] Sauvegarde en : « blacklists.tar.gz » blacklists.tar.gz 100%[=================>] 9,16M 346KB/s ds 48s 2015-09-05 21:03:00 (195 KB/s) — « blacklists.tar.gz » sauvegardé [9606794/9606794]$
tar xf blacklists.tar.gz
À l'issue de ce téléchargement et de la décompression du fichier
d'archive, le répertoire blacklist
contient les répertoires qui correspondent aux différentes
«catégories» de listes noires. Le choix entre les différentes
catégories se fait dans le fichier de configuration du paquet
squidguard.
# mv blacklists/* /var/lib/squidguard/db/ # update-squidguard Double checking directory and file permissions...done! Re-building SquidGuard db files...done! Reloading Squid...done!
Une fois que l'on a validé le processus manuellement, il est
préférable d'automatiser le traitement pour assurer une mise à jour
périodique des enregistrements en liste noire. Voici un exemple de
Shell script à déposer dans le
répertoire /etc/cron.weekly/
pour
qu'il soit exécuté toutes les semaines.
#!/bin/sh cd /var/tmp rm -rf blacklist* >/dev/null 2>&1 wget -q ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz if [ -f /var/tmp/blacklists.tar.gz ]; then tar xf blacklists.tar.gz cp -au blacklists/* /var/lib/squidguard/db/ >/dev/null 2>&1 /usr/sbin/update-squidguard >/dev/null 2>&1 fi
Ce script reprend simplement les étapes réalisées manuellement
plus haut et fait appel au script update-squidguard
fourni avec le paquet
squidguard.
Il faut juste noter que ce dernier script à été modifié pour
relancer squid3
en lieu et place de
squid. Voici une copie dans
laquelle les lignes 13 et 15 ont été modifiées.
#! /bin/sh # db update script for Chastity # echo -n "Double checking directory and file permissions..." chown -R proxy.proxy /var/lib/squidguard/db >/dev/null 2>&1 chmod 2770 /var/lib/squidguard/db >/dev/null 2>&1 echo "done!" echo -n "Re-building SquidGuard db files..." su - proxy -c "squidGuard -C all" >/dev/null 2>&1 su - proxy -c "squidGuard -u" >/dev/null 2>&1 echo "done!" if [ -e /etc/init.d/squid3 ]; then echo -n "Reloading Squid..." /etc/init.d/squid3 reload >/dev/null 2>&1 echo "done!" fi