23
jan

Contrôle parental avec Squid et SquidGuard

Si comme moi votre réseau personnel est géré à l’aide d’une passerelle Linux et que vos enfants ont accès à Internet sans vraiment de contrôle, cela risquerait de vous intéresser…

Squid est le proxy le plus connu, mais étant donné les débits possibles aujourd’hui, l’utilisation d’un proxy est de moins en moins nécessaire. Par contre, en plus de la fonction principale de cache, Squid possède des fonctionnalités intéressantes comme l’ajout de filtrages complémentaires.

SquidGuard est un outil permettant de bloquer l’accès à certaines pages Web, en fonction de différents critères. Cet outil est notamment utilisé par l’éducation nationale pour assurer un contrôle d’accès à Internet dans les établissements scolaires.

L’université de Toulouse met à jour régulièrement des listes noires (blacklist) de sites devant être interdits de consultation par les élèves (donc a priori par mes enfants également). Une page est d’ailleurs consacrée à l’utilisation et la mise en place de SquidGuard.

Installation

Squid est en principe livré avec les différentes distribution de Linux. SquidGuard l’est également dans certaines (c’est le cas dans la version OpenSuse que j’utilise).

Configuration

Il faut avant tout indiquer à Squid d’utiliser SquidGuard pour effectuer un filtrage supplémentaire. Cela se fait en ajoutant la ligne suivante au fichier squid.conf :

url_rewrite_program /usr/sbin/squidGuard -c /etc/squidguard.conf

Un redémarrage de Squid devrait faire appraître des process SquidGuard lancés par Squid.

Mise en place de listes noires

Vous pouvez confectionner vous-même vos blacklistes mais le plus simple est bien entendu d’utiliser des listes déjà éprouvées et mises à jour comme celles de l’université de Toulouse. Elles sont accessibles depuis cette page : http://cri.univ-tlse1.fr/blacklists/. Le fichier blacklists.tar.gz contient toutes les listes et pour une première installation il est sans doute intéressant de l’utiliser.

Les listes doivent être mises en place dans le répertoire indiqué par la variable dbhome du fichier de configuration de SquidGuard (/etc/squidguard.conf dans mon cas).

Prise en compte des listes dans SquidGuard

Il faut alors indiquer à SquidGuard d’utiliser ces listes ou au moins quelques unes (la liste adult est de loin la plus fournie et la plus intéressante en terme de contrôle parental).

dest blacklist {
    domainlist blacklists/adult/domains
    urllist    blacklists/adult/urls
}

Compilation des listes

Afin que SquidGuard soit plus performant et plus rapide au démarrage de Squid, il est possible (voire fortement conseillé) de demander à SquidGuard d’utiliser une base de données pour effectuer son filtrage.

La compilation des listes déclarées dans la configuration se fait à l’aide la commande :

squidGuard -C all

Le reste de la configuration de est assez implicite (déclaration des réseaux et utilisateurs devant être filtrés). Les fonctions avancées peuvent être mises en place en suivant la document de SquiGuard : http://www.squidguard.org/Doc/

Pour activer le filtrage, il suffit alors de configurer l’utilisation du proxy sur les postes qu’on désire protéger. Une solution plus radicale est de configurer au niveau des règles  du firewall l’utilisation automatique du proxy.

free blog themes

Leave a Reply