BxLUG groupe des utilisateurs de GNU/Linux de Bruxelles

Espace membres

Contrôle parental du contenu Web

Résumé : cette article a pour but de vous aider à configurer le filtre de contenu DansGuardian avec le service proxy Tinyproxy.

Software : Tinyproxy (license GPL) — DansGuardian (license GPL)

Niveau de difficulté : facile

Système d'exploitation du test : Ubuntu 6.06 - Dapper Drake

Un filtre de contenu facile à mettre en oeuvre

Cette solution de filtrage de contenu tente de répondre aux attentes des parents qui veulent limiter l'accès de certains sites à leurs enfants. Sa mise en oeuvre ne requiert aucune compétence particulière.

Principe de fonctionnement

DansGuardian est un ensemble de filtres aux travers desquels les pages web sont stoppées lorsque leur contenu correspond à certains mots, phrases ou images que vous ne voulez pas voir affichés. DansGuardian sert d'intermédiaire entre votre navigateur Web et l'internet. Tout le contenu Web passera d'abord par DansGuardian qui jugera, en fonction de sa configuration, s'il peut ou ne peut pas le faire suivre au navigateur. Dans la négative, une page d' "accès non-autorisé" apparait en lieu et place de la page Web demandée.

Image pour l'article "Controle parental..." - "access denied"

DansGuardian peut filtrer le contenu web en se basant sur des mots, des phrases, des images et des adresses IP mais aussi empêcher le téléchargement de certains types de fichiers.

Autant de possibilités pourrait faire croire en une grande difficulté lors de la configuration. Il n'en est rien. Il suffit de quelques réglages pour voir ce système de filtrage fonctionner correctement dans le cadre familial.

Installation

L'installation ne présente pas de difficulté. Les deux logiciels ont de grandes chances de se trouver sur les dépôts de votre distribution. Utilisez alors votre gestionnaire de paquets préféré pour installer les programmes.

Sous Ubuntu, la commande suivante fera parfaitement l'affaire :
sudo apt-get install dansguardian tinyproxy
Si les programmes ne sont pas disponibles sur les dépôts, rendez-vous sur le site des éditeurs (voir liens) et chargez les sources de la dernière version stable que vous y trouverez. Après avoir décompressé l'archive par :
tar -xvzf nom_de_l_archive.tar.gz
suivez les indications du fichier INSTALL pour compiler et installer le logiciel.

Configuration de Tinyproxy

Le chemin des fichiers de configuration font référence à un système Ubuntu (ou n'importe quel système Debian de manière plus général). Bien que l'organisation des fichiers sous tous les sytèmes GNU/Linux respecte un certain standard, il se peut que ces fichiers de configuration se trouvent chez vous dans un endroit légèrement différent. Vous devriez cependant réussir facilement à les retrouver.

Le seul outil nécessaire à la configuration sera un éditeur de texte. N'oubliez pas que les fichiers de configuration nécessitent les droits du super-utilisateur (root) pour être modifiés.

Editez le fichier "/etc/tinyproxy/tinyproxy.conf" en utilisant l'éditeur gedit par exemple sous Ubuntu :
sudo gedit /etc/tinyproxy/tinyproxy.conf

et modifier le port sur lequel Tinyproxy va recevoir les connexions de DansGuardian, nous mettrons le port 3128, comme illustré ci dessous :

# Port to listen on.
#
Port 3128

Une fois les modifications sauvegardée, démarrer (ou redémarrer) le service tinyproxy. Sous ubuntu :

sudo /etc/init.d/tinyproxy restart

Configuration de DansGuardian

A nouveau avec les privilèges du super-utilisateur, éditez le fichier de configuration de DansGuardian "/etc/dansguardian/dansguardian.conf" par :
sudo gedit /etc/dansguardian/dansguardian.conf
et assurez-vous que les options suivantes dans votre fichier reflète la configuration ci-dessous :
# the port that DansGuardian listens to.
filterport = 8080

# the ip of the proxy (default is the loopback - i.e. this server)
proxyip = 127.0.0.1

# the port DansGuardian connects to proxy on
proxyport = 3128
Le port 8080 sera le port sur lequel DansGuardian recevra les connexions du navigateur Web. Ce sera donc le port proxy à configurer dans le navigateur internet que vous utilisez. Le port 3128 sera le port sur lequel DansGuardian tentera de se connecter au serveur proxy qui tourne sur la machine local (127.0.0.1). Veillez également à mettre en commentaire, en début de fichier, la ligne contenant le mot UNCONFIGURED (en mettant un caractère # devant) sinon DansGuardian refusera de démarrer sous prétexte que la configuration n'est pas achevée.Une fois le fichier sauver, démarrez DansGuardian, par :
sudo /etc/init.d/dansguardian start

Configuration du navigateur Web

C'est la dernière étape de configuration avant de tester si tout fonctionne correctement. Nous allons indiquer au navigateur Web de passer par l'intermédiaire du filtre et non plus de récupérer les pages Web directement sur Internet. L'exemple illustrera le cas du navigateur Firefox mais vous devriez facilement pouvoir adapter les explications à votre navigateur.

Ouvrez le menu "Edit" -> "Preferences" -> Onglet "Général" -> "Paramètres de connexion". Cochez alors la case "Configuration Proxy Manuel" et configurez le HTTP Proxy à localhost et le Port à 8080 comme illustré. Vous pouvez accepter les changements, redémarrer votre navigateur et vérifier que l'accès à certains sites est à présent non autorisé.

Image pour l'article "Controle parental..." - "exemple config firefox"

Vous remarquerez également que le téléchargement de certains fichiers est aussi interdit (tar, gz, sh,…), ce qui n'est peut-être pas le but recherché. La configuration du fichier /etc/dansguardian/bannedextensionlist vous permettra d'ajuster le comportement de DansGuardian à ce sujet. Mettez simplement en commentaire la ligne qui contient le type de fichier que vous souhaitez pouvoir télécharger. N'hésitez pas à jeter un oeil dans les autres fichiers de configuration sous /etc/dansguardian/ pour mieux comprendre comment ajuster les critères de filtrage.

Un cran de sécurité au-dessus

Il est aussi facile de rétablir dans Firefox la connexion direct à internet qu'il l'a été de configurer le passage via un proxy. Pour éviter que n'importe qui ne puisse contourner le passage via le filtre, nous allons verrouiller les préférences de connexion dans Firefox. Editez le fichier /usr/lib/firefox/firefox.cfg et ajoutez-y les lignes suivantes :

lockPref("network.proxy.type", 1); // 0 - Unset, 1 - Manual, 2 - Automatic, 3 - None
lockPref("network.proxy.http", "localhost");
lockPref("network.proxy.http_port", 8080);

Sauvez et redémarrez Firefox. Les options de configuration du proxy sous "Edit" -> "Preferences" -> Onglet "Général" -> "Paramètres de connexion" sont maintenant verrouillées.

Mise à jour

Une fois la solution de filtrage configurée selon vos besoins, il est peu probable que celle-ci reste efficace jusqu'à la fin des temps. Certains sites non autorisés auront tendance à disparaitre de la toile avec l'apparition de nouveaux qui risquent de ne plus être arrêtés. De même, des phrases interdites pourraient devenir obsolète avec l'apparition de nouvelles, inconnues dans la base de connaissance de DansGuardian.

Il est donc utile de maintenir la blacklist et la phraselist à jour. La blacklist n'est pas installée par défaut avec DansGuardian. Vous pouvez vous rendre sur le site URLBlacklist.com pour télécharger la dernière mise à jour de la blacklist. Enregistrez-la dans votre répertoire personnel et ensuite décompressez-la dans le répertoire /etc/dansguardian par :
sudo tar -xvzf bigblacklist.tar.gz -C /etc/dansguardian/

Editez alors le fichier "/etc/dansguardian/bannedsitelist" et décommentez les catégories qui doivent être filtrée.

J'attire votre attention sur le fait que le site URLBlacklist.com est un site payant qui ne permet qu'un et un seul téléchargement gratuit de la blacklist. Il vous faudra ensuite, pour maintenir votre blacklist à jour, soit souscrire à un abonnement, soit trouver un site qui fournisse ce service gratuitement.

Une mise à jour de la phraselist peut se trouver sur le site même de DansGuardian, sous la rubrique Download->blacklist (voir liens)

Inconvénients possibles

Certains utilisateurs pourraient noté un léger ralentissement pendant le surf et le chargement de pages. Le problème pourrait provenir du cache de Firefox. Il suffit alors de vider ce cache (CTRL-SHIFT-DEL) pour résoudre le problème. Une autre cause de ralentissement pourrait être Tinyproxy. Il pourrait alors s'avérer nécessaire de redémarrer Tinyproxy pour revenir à une vitesse normale de surf.

Fichiers journaux

Comme avec tous bon programme qui se respecte, DansGuardian et Tinyproxy maintiennent des fichiers log dans le répertoire /var/log. Bien que peu utiles dans le cadre familial, les administrateurs qui souhaitent utilisés cette solution en entreprise devraient y trouver leur compte. Il existe même pour DansGuardian des scripts permettant un affichage plus "user-friendly" des logs. (sur le site de l'éditeur, sous la rubrique Download->Extras & Add-ons)

Liens utiles

Référence pour cet article

Bienvenue dans le monde du libre