Squid : script de mise à jour de la blacklist SquidGuard
J’ai mis hier en ligne un script de mise à jour du logiciel SquidGuard, à partir de la blacklist fournie par l’université de Toulouse et mise à jour par Fabrice Prigent. Merci à lui.
Installation de Squid
Pour installer Squid sous CentOS 7, n’oubliez pas d’initialiser le cache, après installation :
yum install squid squid -z yum enable squid yum start squid
Installation de SquidGuard sur CentOS 7
Sous Linux CentOS (ou sur Red Hat) 7, il vous faudra tout d’abord ajouter le dépôt epel pour pouvoir installer SquidGuard :
yum install epel-release yum install squidGuard
Modification de la configuration Squid
Pensez à ajouter au fichier /etc/squid/squid.conf la ligne suivante :
url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
Script de mise à jour de la blacklist SquidGuard
L’exécution de ce script suppose que vous ayez configuré correctement tout d’abord Squid et SquidGuard (voir ci-dessous) :
#!/bin/bash REP=/var/squidGuard FILE=blacklists.tar.gz cd $REP if [ -f blacklists.tar.gz ] then rm -f blacklists.tar.gz fi wget -q http://dsi.ut-capitole.fr/blacklists/download/$FILE tar zxvf $FILE /usr/bin/squidGuard -C all -d chown squid:squid $REP -R systemctl reload squid
Vous devez ensuite planifier l’exécution la planification de la tâche avec crontab -e, après avoir rendu exécutable ce script à l’aide de la commande chmod +x.
Exemple de fichier de configuration SquidGuard
Sous CentOS 7, le fichier de configuration se situe à l’emplacement /etc/squid/squidGuard.conf :
dbhome /var/squidGuard logdir /var/log/squidGuard src lan { ip 192.168.0.0/16 172.16.0.0/12 10.0.0.0/8 127.0.0.0/8 } dest adult { domainlist blacklists/porn/domains urllist blacklists/porn/urls expressionlist blacklists/porn/expressions redirect 307:https://lite.qwant.com/? } acl { lan { pass !adult all redirect 307:https://lite.qwant.com/? } default { pass none redirect 307:https://lite.qwant.com/? } }
Exemple de fichier /etc/squid/squid.conf
acl localnet src 10.0.0.0/8 # RFC1918 possible internal network acl localnet src 172.16.0.0/12 # RFC1918 possible internal network acl localnet src 192.168.0.0/16 # RFC1918 possible internal network acl localnet src fc00::/7 # RFC 4193 local private network range acl localnet src fe80::/10 # RFC 4291 link-local (directly plugged) machines http_access allow localnet http_access deny all http_port 3128 cache_dir ufs /var/spool/squid 256 16 256 coredump_dir /var/spool/squid cache_mem 256 MB url_rewrite_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf