Les listes Adblock sont célèbres pour leur efficacité en terme de blocage des publicités sur les pages internet. Pour des questions de sécurité et de temps de chargement des pages internet, il est préférable en entreprise de bloquer ces publicités. Voici comment intégrer les listes ADblock dans squidGuard.
Sources :
1 – Téléchargement des listes
Dans mon cas, je vais utiliser les listes FR + EasyList. Je télécharge le fichier dans /home
cd /home
wget https://easylist-downloads.adblockplus.org/liste_fr+easylist.txt –no-check-certificate
mv liste_fr+easylist.txt easylist.txt
2 – Script SED
Un script SED (https://sites.google.com/site/uttools/squid-adblocker) va nous permettre de transformer les listes ADBlock au format Squidguard.
cd /home
nano adblock.sed
s/\r//g;
/Adblock/d;
/.*\$.*/d;
/\n/d;
/.*\#.*/d;
/@@.*/d;
/^!.*/d;
/^\[.*\]$/d;
s#http://#||#g;
s/\/\//||/g
s,[+.?&/|],\\&,g;
s/\[/\\\[/g
s/\]/\\\]/g
s#*#.*#g;
s,\$.*$,,g;
s/\\|\\|\(.*\)\^\(.*\)/\.\1\\\/\2/g;
s/\\|\\|\(.*\)/\.\1/g;
/^\.\*$/d;
/^$/d;
3 – Configuration de squidguard
3-1 Transformer le fichier au format squidguard
cd /home
cat easylist.txt | sed -f adblock.sed > expressions
3-2 Création du répertoire Adblock
cd /var/lib/squidguard/db
mkdir adblock
chmod 2770 adblock
chown proxy:proxy adblock
3-2 Copie du fichier expressions
cp /home/expressions /var/lib/squidguard/db/adblock
chmod 644 /var/lib/squidguard/db/adblock/expressions
chown proxy:proxy /var/lib/squidguard/db/adblock/expressions
3-3 Modification du fichier squidguard.conf
nano /etc/squid/squidGuard.conf
Ajouter à la fin du fichier les lignes suivantes :
dest adblock {
expressionlist adblock/expressions
logfile /var/log/squid/adblock.log
}
Modifier votre ACL. Dans mon cas :
utilisateurs_internet {
pass !adblock local all
redirect http://monserveur/index.html
}
Redémarrer les services squid
/etc/init.d/ squid reload
Générer la base SquidGuard
squidGuard -C all
Pour vérifier que tout fonctionne, on peut regarder le fichier de log qui trace tout ce qui passe par la règle adblock.
cat /var/log/squid/adblock.log
2013-02-14 13:56:02 [1136] Request(utilisateurs_internet/adblock/-) http://pagead2.googlesyndication.com/pagead/show_ads.js ip/- – GET REDIRECT
2013-02-14 13:58:08 [1133] Request(utilisateurs_internet/adblock/-) http://adserver.adtech.de/addyn/3.0/1040/3010170/0/170/ADTECH;loc=100;target=_blank;grp=426; misc=1360839359611 ip/- – GET REDIRECT
Auteur : POMENTE Guillaume
Merci!
j’ai adapté pour mon serveur openindiana, ça marche nickel, j’ai même fait un petit script bash pour CRONner les màjs des listes une fois ou deux par semaine (je sais pas si c’est suffisant mais on verra bien)