Squidguard est un plugin de filtrage d'URL à associer au programme squid. Il faut installer et paramétrer le proxy squid en premier lieu. La procédure est détaillé dans le wiki installer-squid3.
Le module squidguard permet de filtrer l’accès au contenu web.
$ sudo apt-get install squidguard
A l'installation le fichier de configuration consulte le dossier /var/lib/squidguard/db
Modifier la configuration de squid pour qu'il utilise squidguard:
url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf
url_rewrite_children 10 startup=0 idle=1 concurrency=0
Modifier le fichier de configuration /etc/squidguard/squidGuard.conf.
Indiquer le répertoire conteneur des listes:
Déclarer les sources
Déclarer les destinations
Déclarer les ACL mettant en relation les sources et des destinations autorisées:
Lorsque une ressource destination non autorisée est demandée, la directive redirect est utilisée par squiGuard. On peut alors rediriger la requête vers une page statique ou dynamique en spécifiant des variables. Des fichiers cgi d'exemples sont disponibles sous /usr/share/doc/squidguard/examples. Pour servir ces fichiers cgi, un serveur web doit être installé/fonctionnel. Pour ces modestes besoins lighttpd a été installé.
Ci dessous les variables disponibles lors de la redirection:
%a | Adresse IP du client. |
---|---|
%i | Identifiant utilsateur (RFC931, LDAP or mySQL) ou “unknown” |
%n | nom de domaine du client ou “unknown” |
%p | URI de la requête |
%s | source group du client ou “unknown” |
%t | target group: la destination évaluée or “unknown”. |
%u | URL |
Le script:
Les fichiers pac, à placer sur un serveur web permettent de configurer automatiquement le proxy sur le navigateur demandant l'URL (javascript).
function FindProxyForURL(url, host) { if ( isInNet(myIpAddress(), "127.0.0.0", "255.0.0.0") || isInNet(myIpAddress(), "192.168.0.0", "255.255.255.0")) { return "DIRECT"; } else { if (shExpMatch(url, "http:*")) return "PROXY 192.168.1.28:3128" ; if (shExpMatch(url, "https:*")) return "PROXY 192.168.1.28:3128" ; return "DIRECT"; } }
Le mime-type associé au fichiers .pac doit être modifié si nécessaire dans la configuration du serveur web:
application/x-ns-proxy-autoconfig .pac;