Les très fameux "ACL" permettent, entre autres, de filtrer efficacement des sites "indésirables".
Les plus souvent visés sont les sites "pour adultes", mais on peut y ajouter les sites qui farcissent vos écrans de publicités diverses ou qui vous "pistent".
Squid dispose pour cela de trois types principaux d'ACL (il y en a d'autres) mais la documentation est parfois sybilline.
Pour la plupart d'entre eix une syntaxe permet de déporter les paramètres dans un bête fichier texte externe dont il suffit d'indiquer le nom, ce nom peut être donné sous la forme d'une URL. Je mets "http://mon_serveur_web/deny.png" qui pointe vers une image de 1 pixel, comme cela on ne voit rien sur l'écran !
Premier type : liste d'URL "à éviter".
acl listeurl dstdomain "/etc/squid/nom_du_fichier"
deny_info http://mon_serveur/deny.png listeurl
http_access deny listeurl
Le format est simple, des noms de domaines, s'il sont précédés d'un point tous les sous-domaines sont eux aussi bloqués. Exemple :
.yieldmanager.com
.zanox-affiliate.de
.zanox.com
Deuxième type : liste d'IP "incorrectes"
acl listeip dst "/etc/squid/nom_du_fichier_ip"
deny_info http://mon_serveur/deny.png listeip
http_access deny listeip
Le format du fichier est simple : des adresses IP au format CIDR, par exemple :
209.207.224.220/32
209.207.224.246/32
Troisième type : liste d'expressions régulières.
acl ad_block dstdom_regex "/etc/squid/ad_block.db"
deny_info http:/mon_serveur/deny.png ad_block
http_access deny ad_block
Pour cette dernière liste j'utilise une liste "toute faite", il en existe plusieurs, par exemple un petit :
wget -O /etc/squid/ad_block.db 'http://pgl.yoyo.org/adservers/serverlist.php?hostformat=squid-dstdom-regex&show…'
Un petit exemple quand même pour la route :
.zintext\.com
.zmedia\.com
Note : cela marche aussi sans le "\" devant .com.
Avec tout ceci vous êtes parés à filtrer.
Télécharger ma liste de "vilains méchants". Elle date un peu depuis 2014, mais elle est mise à jour assez régulièrement.