Installation de Squid et SquidGuard sur Fedora Server

La mise en œuvre du proxy  Squid couplée à SquidGuard requiert 5 étapes. Squid : script de mise à jour de la blacklist SquidGuardVous trouverez dans ce tuto 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 et SquidGuard

Pour installer  Squid sous Fedora Server, n’oubliez pas d’initialiser le cache, après installation :

dnf install squid
squid -z
systemctl enable squid
systemctl start squid

Sous Linux Fedora Server, vous n’avez pas besoin d’ajouter le dépôt epel pour pouvoir installer SquidGuard :

dnf install epel-release
dnf install squidGuard

Configuration de SquidGuard

SquidGuard ne prend pas en charge l’IPv6. Il ne gère plus les redirections lorsqu’il s’agit d’adresses en https. Sans le préfixe https, la redirection se fait correctement.

Sous Fedora Server, le fichier de configuration se situe à l’emplacement /etc/squid/squidGuard.conf :

dbhome /var/squidGuard/blacklists
logdir /var/log/squidGuard
time workhours {
        weekly mtwhf 09:00 - 17:00
}
src lanwan {
        ip              0.0.0.0/0
}
dest adult {
        domainlist      porn/domains
        urllist         porn/urls
        expressionlist  porn/expressions
        redirect        neverssl.com
}
acl {
        lanwan within workhours {
                pass !adult all
        }
        default {
                pass     none
                redirect neverssl.com
        }
}

La configuration de Squid

Elle se fait sous Fedora à partir du fichier /etc/squid/squid.conf :

acl LAN src 192.168.1.0/24
acl LAN src fe80::/64
acl LAN src 127.0.0.1/32
acl LAN src ::1/128
#acl WAN src 0.0.0.0/0
#acl WAN src 2000::/3
http_access allow LAN #WAN
http_access deny all
http_port 3128
coredump_dir /var/spool/squid
cache_mem 2048 MB
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, /root/majsquidguard.sh suppose que vous ayez configuré correctement tout d’abord Squid et SquidGuard (voir ci-dessus) :

#!/bin/bash 
REP=/var/squidGuard 
FILE=blacklists.tar.gz 
cd $REP 
if [ -f $FILE ]
then     
  rm -f $FILE 
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. Dans l’exemple ci-dessous, la mise à jour de la blacklist est exécutée à midi tous les 7 jours.

0 12 */7 * * /root/majsquidguard.sh

Squid /