ubuntu-fr

Communauté francophone des utilisateurs d'Ubuntu

[[tutoriel:comment_mettre_en_place_un_controle_parental]]

Piste: » comment_mettre_en_place_un_controle_parental


Comment mettre en place un contrôle parental ?

Cette page vous explique comment mettre relativement simplement un contrôle parental pour les accès WEB pour un PC seul connecté à Internet (pas de réseau local)

Objectifs

  • Restreindre l'accès au WEB pour certains thèmes

Procon latte

Sous ce nom horrible se cache un contrôle parental sous forme d'extension pour Firefox.

Cette extension est plutôt efficace et surtout très simple d'installation.Bien sûr, elle ne convient qu'aux utilisateurs de Firefox!

Installation

Rien de plus simple, il suffit de se rendre à cette adresse avec Firefox et de cliquer sur Installer.

Afin d'empêcher la désactivation facile de Procon latte via le menu des modules complémentaires, l'extension Public Fox peut bloquer l'accès aux modules complémentaires.

Il suffit d'installer l'extension disponible cette adresse.

Configuration

Inconvénients

  • Simple à contourner ...
  • Ne protège que Firefox ...

Squidguard

Pré-requis

Les logiciels utilisés pour mettre en œuvre ce contrôle parental sont :

  • squid:
  • squidguard (Il faut activer le depot universe):

Pour ce faire , il faut les installer avec la commande apt-get :

sudo apt-get install squid squidguard
Cette page explique la mise en place d'un contrôle parental sur un PC Ubuntu directement raccordé sur le net sans réseau local.

Configuration de Squid

Le fichier de configuration est : /etc/squid/squid.conf

Tout d'abord, sauvegardez ce fichier avec la commande :

 sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.orig

Maintenant éditez ce fichier avec l'éditeur de votre choix en ayant les droits administrateurs. Insérez-y les lignes suivantes :

# -----------------------------------------------------------
cache_effective_user proxy
cache_effective_group proxy
# -----------------------------------------------------------
visible_hostname none
# -----------------------------------------------------------

# -----------------------------------------------------------
acl all src 0.0.0.0/0.0.0.0
acl localhost src 127.0.0.1/255.255.255.255
acl manager proto cache_object
acl serveur src 192.168.0.1
acl poste src 192.168.0.50
acl multipostes src 192.168.0.100-192.168.0.125
acl SSL_ports port 443 563
acl Safe_ports port 80 # http
acl Safe_ports port 20 # ftp-data
acl Safe_ports port 21 # ftp
acl Safe_ports port 443 563 # ssl
acl Safe_ports port 70 # gopher
acl Safe_ports port 210 # wais
acl Safe_ports port 1025-65535 # unregistered ports
acl Safe_ports port 280 # http-mgmt
acl Safe_ports port 488 # gss-http
acl Safe_ports port 591 # filemaker
acl Safe_ports port 777 # multiling http
acl Safe_ports port 631 # cups
acl Safe_ports port 873 # rsync
acl Safe_ports port 901 # SWAT
acl purge method PURGE
acl CONNECT method CONNECT

http_access allow all

redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
redirect_children 10

http_port 3128 transparent

installez le paquet

Configuration de SquidGuard

SquidGuard est une sorte de plugin a squid qui joue le role de redirecteur. En fait si une requête du navigateur n'est pas conforme à ce qui a été défini dans sa configuration il affiche une autre page web que celle demandée.

Les listes noires

Pour ce qui est du filtrage des sites, on ne va bien sur pas entrer les adresses à la main, des listes noires existent sur le net. Voici une adresse de blacklist : ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz

Voici les commandes à faire pour les installer :

wget ftp://ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz
sudo tar zxvf blacklists.tar.gz -C /var/lib/squidguard/db/
sudo su
cd /var/lib/squidguard/db
mv blacklists/* .
rm -rf blacklists

C'est à partir de cette liste noire que la base de données va être crée pour Squidguard. Si vous regarder le répertoire /var/lib/squidguard/db, vous verrez pleins de sous répertoires de thèmes pour les listes noires (gambling,radio,webmail,porn,adult, ...). Ce sont ces thèmes qu'il faudra définir dans le fichier de configuration de Squidguard

Le fichier de configuration

Le fichier de configuration est : /etc/squid/squidGuard.conf

De même sauvegardez ce fichier avec la commande :

sudo cp /etc/squid/squidGuard.conf /etc/squid/squidGuard.conf.orig

Maintenant, éditez ce fichier avec l'éditeur de votre choix en ayant les droits administrateurs.

Insérez-y les lignes suivantes :

#
# CONFIG FILE FOR SQUIDGUARD
#

dbhome /var/lib/squidguard/db
logdir /var/log/squid

# ------------------------------------------------------------
# Definition de la base de données de filtrage utilisée
# ------------------------------------------------------------
dest adult {
        domainlist adult/domains
        urllist adult/urls
}

dest publicite {
        domainlist publicite/domains
        urllist publicite/urls
}

dest warez {
        domainlist warez/domains
        urllist warez/urls
}

dest porn {
        domainlist porn/domains
        urllist porn/urls
}

dest violence {
        domainlist violence/domains
        urllist violence/urls
}

# ajoutez ici les thèmes supplémentaires de votre choix présents dans la blacklist de la façon suivante
# dest <nom du thème> {
#        domainlist <nom du thème>/domains
#        urllist <nom du thème>/urls
# }

# ------------------------------------------------------------
# Definition des ACL
# ------------------------------------------------------------

acl {
  default {
# les thèmes supplémentaires sont à ajouter avant le mot-clé all par !<nom du thème>
        pass !porn !adult !publicite !warez !violence all
        redirect http://roozeec.free.fr/interdiction.html
  }
}
# ------------------------------------------------------------

Maintenant il faut générer la base de données avec la commande suivante :

sudo squidGuard -C all

Patientez un peu car ça peut être long.

Vous aurez compris ici que SquidGuard va rediriger toutes les pages qui sont non conformes à la règle pass vers la page web : http://roozeec.free.fr/interdiction.html

Configuration de IPTABLES

Maintenant que tous est fait pour ce qui est du proxy, il faut aussi que les requêtes du navigateur soit redirigées vers le proxy squid que nous venons de configurer. Pour celà, il faut d'abord trouver l'identifiant de l'utilisateur proxy (UID) avec la commande :

grep proxy  /etc/passwd
proxy:x:13:13:proxy:/bin:/bin/sh

Ici la réponse est 13, donc nous allons créer la règle iptables suivante (13 est ici la valeur donnée précédemment) :

sudo iptables -t nat -A OUTPUT -m owner ! --uid-owner 13 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

De façon à lancer cette commande au démarrage du PC, il suffit de la mettre dans le fichier /etc/rc.local, juste avant la commande exit 0 (13 est ici la valeur donnée précédemment) :

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.

iptables -t nat -A OUTPUT -m owner ! --uid-owner 13 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128

exit 0

Démarrage de Squid

Maintenant que tout est prêt, il suffit de lancer squid, mais avant tout il va falloir lancer quelques commandes pour bien définir les droits des fichiers :

sudo chown -R proxy:proxy /etc/squid /var/log/squid /var/spool/squid /usr/lib/squid /usr/sbin/squid /var/lib/squidguard

Lancer maintenant la commande :

sudo squid -z

Maintenant le démarrage proprement dit :

sudo /etc/init.d/squid start

Et la réponse doit être : Starting Squid HTTP proxy squid [ok]

DansGuardian

Une autre solution est d'utiliser DansGuardian tel qu'expliqué sur cette page.


Contributeurs : Roozeec, Boris Le Hachoir, Fabien26.


tutoriel/comment_mettre_en_place_un_controle_parental.txt · Dernière modification: Le 03/07/2008, à 15:46 par reneca
Le contenu de ce wiki est sous double licence : CC BY-SA et GNU FDL