La fonction filtre de Squid fonctionne essentiellement à l'aide de listes noires, il est donc essentiel de disposer de "listes noires" à jour car les publicitaires "invasifs" n'hésitent pas à modifier leurs noms de domaines et les adresses IP de leurs machines (merci le cloud !).
Une bonne source de ces listes est le site https://pgl.yoyo.org, vous pouvez aussi aller voir https://yoyo.org.
Comme ces listes ne sont pas forcément dans un format reconnu par Squid, j'utilise deux scripts qui effectuent :
- La récupération des données.
- Leur mise en forme.
- Leur placement dans le bon répertoire sous le "bon nom" reconnu par le paramétrage de Squid.
Le paramétrage dans "squid.conf" est simple, il suffit d'ajouter :
Paramétrage SQUID
acl yoyo_ip dst "/etc/squid/yoyo_bad_adresses.txt"
deny_info http://xxxxxxx/deny.png yoyo_ip
http_access deny yoyo_ip
acl ad_block dstdom_regex "/etc/squid/ad_block.db"
deny_info http://xxxxxxx/deny.png ad_block
http_access deny ad_block
Note : le renvoi est fait vers un serveur Apache (Nginx doit faire aussi bien) résidant sur la même machine, le fichier "deny.png" est une simple image d'un petit point rouge.
On doit pouvoir faire le même genre d'opération avec un fichier "local" sur les postes clients.
Ces scripts sont, plus ou moins, paramétrables à l'aide d'un fichier ".conf"et réalisent les opérations pour lesquelles ils ont été conçus.
Il est conseillé de les lancer une fois par semaine afin de bénéficier d'une mise à jour régulière.