Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
tutoriel:comment_mettre_en_place_un_controle_parental [Le 13/03/2020, 23:54]
82.64.139.120 [ctparental]
tutoriel:comment_mettre_en_place_un_controle_parental [Le 20/09/2022, 21:39] (Version actuelle)
82.64.139.120 [ctparental]
Ligne 1: Ligne 1:
- {{tag> éducation sécurité internet tutoriel contrôle_parental}}+{{tag> éducation sécurité internet tutoriel contrôle_parental}}
 ---- ----
  
Ligne 12: Ligne 12:
   - accès à l'​internet.   - accès à l'​internet.
  
-Les solutions évoquées ci-après peuvent concerner ces deux aspects ou seulement l'un des deux.  +Les solutions évoquées ci-après peuvent concerner ces deux aspects ou seulement l'un des deux.
  
 =====Session et internet===== =====Session et internet=====
Ligne 23: Ligne 22:
    
 Pour désactiver la session Invité, reportez-vous à la [[:​lightdm#​supprimer_la_session_invite|section dédiée]] sur la page lightdm. Pour désactiver la session Invité, reportez-vous à la [[:​lightdm#​supprimer_la_session_invite|section dédiée]] sur la page lightdm.
-==== ctparental ​ ==== 
  
 +==== ctparental ​ ====
  
-CTparental est un Contrôle parental ​permettant à des utilisateurs ayant juste assimilé les bases des lignes de commandes ​ .+CTparental est un Contrôle parental ​qui peut être mis en place par des utilisateurs ayant juste assimilé les bases des lignes de commandes.
  
-Basé sur dnsmasq ,  [[http://​e2guardian.org/​cms/​|e2guardian]] , privoxy , iptables-persistent ​et la [[http://​dsi.ut-capitole.fr/​blacklists/​|blackliste de l’université de Toulouse]].+Il est basé sur dnsmasq ​ou [[https://​dnscrypt.info/​|dnscrypt-proxy]] a partir de la 5.0.0 ,  [[http://​e2guardian.org/​cms/​|e2guardian]] , privoxy , nftable ​et la [[http://​dsi.ut-capitole.fr/​blacklists/​|blackliste de l’université de Toulouse]].
  
 Bien sûr il faut créer des comptes sans droit d'​administration pour vos enfants. Bien sûr il faut créer des comptes sans droit d'​administration pour vos enfants.
  
-Si vos enfants ont passé les 10 ans il est conseillé de mettre un mot de passe bios et de désactiver le boot sur support USB ou CDROM et un mot de passe sur grub aussi.+Si vos enfants ont passé les 10 ans il est conseillé de mettre un mot de passe biosde désactiver le boot sur support USB ou CDROMet de mettre e,n place un mot de passe sur grub aussi.
  
 Mais ne comptez pas les arrêter au-delà de 16 ans, ils sauront comment passer outre tout ça, bien que ça les ennuiera un petit moment donc autant les faire réfléchir un peu. Mais ne comptez pas les arrêter au-delà de 16 ans, ils sauront comment passer outre tout ça, bien que ça les ennuiera un petit moment donc autant les faire réfléchir un peu.
Ligne 38: Ligne 37:
 Dans tous les cas ce n'est qu'une sécurité pour éviter qu'ils ne grandissent trop vite, mais elle ne remplace pas l’accompagnement des parents, le petit coup d’œil de temps en temps et le dialogue. Dans tous les cas ce n'est qu'une sécurité pour éviter qu'ils ne grandissent trop vite, mais elle ne remplace pas l’accompagnement des parents, le petit coup d’œil de temps en temps et le dialogue.
  
 +=== Installation ===
 Il est maintenant disponible sous forme de fichier deb. Il est maintenant disponible sous forme de fichier deb.
  
-il faut **installer** avec  [[/​gdebi|gdebi]] en ligne de commande !! ,seul la méthode avec gdebi fonctionne ​ [[/​software-center|software-center]] ​ plante la plupart du temps .+il faut **installer** avec  [[/​gdebi|gdebi]] en ligne de commande !!.
  
-[[https://​gitlab.com/​marsat/​CTparental/​uploads/​381a8cc7bb638e3ca3f3100fb89f6659/ctparental_ubuntu14.04_4.22.08-1.0_all.deb|v-4.22.08-1.0 pour ubuntu ​14.04]]  +[[https://​gitlab.com/​ctparentalgroup/​CTparental/​uploads/​6fe05d78f6daab865f6cece30b060091/ctparental_ubuntu18.04_lighttpd_4.45.09-1.0_all.deb|v-4.45.09-1.0 pour ubuntu ​18.04]]
  
-[[https://​gitlab.com/​marsat/​CTparental/​uploads/​79e66d359f9e9732d80ff75ecd549dc1/ctparental_ubuntu16.04_lighttpd_4.44.08-1.0_all.deb|v-4.44.08-1.0 pour ubuntu ​16.04]]  +[[https://​gitlab.com/​ctparentalgroup/​CTparental/​uploads/​db3568664ea2be3b5af6fe9b4ce52fac/ctparental-a-lt_debian10_ubuntu20.04_5.1.03-1.0_all.deb|v-5.1.03-1.0 pour ubuntu ​20.04]]
  
-[[https://​gitlab.com/​marsat/​CTparental/​uploads/​c3757ff50d0d50929b227f7b2c4b939e/ctparental_ubuntu18.04_lighttpd_4.44.08-1.0_all.deb|v-4.44.08-1.0 pour ubuntu ​17.xx et 18.04]] +[[https://​gitlab.com/​ctparentalgroup/​CTparental/​uploads/​5e5b99b9b23521719b7bc65c188f1dde/ctparental-a-lt_debian11_ubuntu21.10_5.1.03-1.0_all.deb|v-5.1.03-1.0 pour ubuntu ​22.04]]
  
-[[https://​gitlab.com/​marsat/​CTparental/​uploads/​9aded684a2b8a59798e57b4290cab26e/​ctparental_ubuntu19.04_lighttpd_4.44.08-1.0_all.deb|v-4.44.08-1.0 pour ubuntu 18.10 et 19.04]] +les identifiants et mots de passe seront définis pendant cette procédure sauf pour l’installe par [[:gnome-software|GNOME Logiciels]] ​  ceux ci sont réciproquement **admin** ​et **admin**.
  
-les identifiants et mots de passe seront définis pendant cette procédure sauf pour l’installe par [[/​software-center|software-center]] ​ (fortement déconseillé) ​et pour ubuntu14.04 ou ceux si sont réciproquement **admin** ​et **admin**.+<note important>​ 
 +Si vous n'​entrez pas un mot de passe respectant ces critères du premier coup, l'​interface plantera ​et le formulaire sera inactif. 
 + 
 +6 a 20 caractères au total,1 Majuscule,1 minuscule,1 nombre ​et 1 caractère spécial parmi les suivants&​éè~#​{}()ç_@à?​.;:/​!,​$<>​=£% 
 +</​note>​
  
-<​note>​Par la suite on pourra les redéfinir en lançant la commande** sudo CTparental -uhtml** dans un terminal. On pourra aussi activer le mot de passe grub2 pour les menus sensibles avec la commande ** sudo CTparental -grubPon** ​+<​note>​Par la suite on pourra les redéfinir en lançant la commande** sudo CTparental -uhtml** dans un terminal. On pourra aussi activer le mot de passe grub2 pour les menus sensibles avec la commande ** sudo CTparental -grubPon**
 </​note>​ </​note>​
 <note important>​Il faut désinstaller les versions précédentes avant installation de nouvelle versions , <note important>​Il faut désinstaller les versions précédentes avant installation de nouvelle versions ,
Ligne 73: Ligne 77:
 </​note>​ </​note>​
  
-<note important>​Pour UBUNTU 16.04 : Dans le cas ou lighttpd n'​arrive pas à démarrer en fin d'​installation et où la commande ​+<note important>​Pour UBUNTU 16.04 : Dans le cas ou lighttpd n'​arrive pas à démarrer en fin d'​installation et où la commande
    ​journalctl -xe    ​journalctl -xe
 renvoie: renvoie:
Ligne 80: Ligne 84:
   sudo apt-get install gamin   sudo apt-get install gamin
  </​note>​  </​note>​
 +
 +== Utilisation ==
  
 Il possède ​ une [[https://​gitlab.com/​marsat/​CTparental/​wikis/​Interface-WEB.|interface web]] accessible via l'​adresse suivante [[https://​admin.ct.local/​]] pour les versions a partir de 4.20.26 et [[http://​127.0.0.1/​CTadmin/​]] pour les anciennes versions , qui facilite son paramétrage. Il possède ​ une [[https://​gitlab.com/​marsat/​CTparental/​wikis/​Interface-WEB.|interface web]] accessible via l'​adresse suivante [[https://​admin.ct.local/​]] pour les versions a partir de 4.20.26 et [[http://​127.0.0.1/​CTadmin/​]] pour les anciennes versions , qui facilite son paramétrage.
  
 Une liste complémentaire à la blackliste de Toulouse se nommant ctparental est à ajouter dans les catégories,​ pour limiter encore un peu plus les publicités et la pornographie. Une liste complémentaire à la blackliste de Toulouse se nommant ctparental est à ajouter dans les catégories,​ pour limiter encore un peu plus les publicités et la pornographie.
-à ajouter aux catégories adult,​agressif,​bitcoin,​dangerous_material,​dating,​ddos,​drogue,​gambling,​hacking,​malware,​marketingware,​mixed_adult,​phishing,​publicite,​redirector,​sect,​strict_redirector et strong_redirector pour être efficace. +à ajouter aux catégories adult,​agressif,​[[https://​cryptoactuel.com/​|bitcoin]],​dangerous_material,​dating,​ddos,​drogue,​gambling,​hacking,​malware,​marketingware,​mixed_adult,​phishing,​publicite,​redirector,​sect,​strict_redirector et strong_redirector pour être efficace.
- +
  
 Principales fonctions : Principales fonctions :
Ligne 118: Ligne 122:
 Pour le reste on peut ajouter ses propres règles dans le fichier /​etc/​CTparental/​iptables qui en possède certaines mais qui sont commentées et relancer la commande CTparental ​ -ipton pour les activer. Pour le reste on peut ajouter ses propres règles dans le fichier /​etc/​CTparental/​iptables qui en possède certaines mais qui sont commentées et relancer la commande CTparental ​ -ipton pour les activer.
 La version 4.40.00 ajoute la gestion du filtrage par [[https://​en.wikipedia.org/​wiki/​IP_address|ip]] ou réseaux, directement dans l’interface web pour les utilisateurs filtrée, l'​ajout de règles plus complexes ce faisant toujours par l'​édition du fichier /​etc/​CTparental/​iptables.</​note>​ La version 4.40.00 ajoute la gestion du filtrage par [[https://​en.wikipedia.org/​wiki/​IP_address|ip]] ou réseaux, directement dans l’interface web pour les utilisateurs filtrée, l'​ajout de règles plus complexes ce faisant toujours par l'​édition du fichier /​etc/​CTparental/​iptables.</​note>​
- 
-  
-  ​ 
- 
  
 <​note>​ [[http://​e2guardian.org/​cms/​|e2guardian]] sera utilisé dans un futur proche car dansguardian est au poins mort plus depuis 2012, solution par défaut sous debian 9 et supérieure et a partir d'​Ubuntu 17.04  </​note>​ <​note>​ [[http://​e2guardian.org/​cms/​|e2guardian]] sera utilisé dans un futur proche car dansguardian est au poins mort plus depuis 2012, solution par défaut sous debian 9 et supérieure et a partir d'​Ubuntu 17.04  </​note>​
Ligne 127: Ligne 127:
 <​note>​ [[https://​wiki.nftables.org/​wiki-nftables/​index.php/​Main_Page|nftables]] le remplacent d'​iptables est utilisé a partir de ubuntu18.10</​note>​ <​note>​ [[https://​wiki.nftables.org/​wiki-nftables/​index.php/​Main_Page|nftables]] le remplacent d'​iptables est utilisé a partir de ubuntu18.10</​note>​
  
 +Pour l'​installer manuellement et les dernières infos c'est par [[https://​gitlab.com/​ctparentalgroup/​CTparental/​wikis/​installation-fr|ici]]
  
-Pour l'​installer manuellement et les dernières infos c'est par [[https://​gitlab.com/​marsat/​CTparental/​wikis/​installation-fr|ici]] +Dépôt GIT : [[https://​gitlab.com/​ctparentalgroup/​CTparental]]
- +
-Dépôt GIT : [[https://​gitlab.com/​marsat/​CTparental]]+
  
 **Explication des différents paramètres pour une utilisation en ligne de commandes. ** **Explication des différents paramètres pour une utilisation en ligne de commandes. **
 une fois installé, lancer cette commande : une fois installé, lancer cette commande :
 +   sudo CTparental
  
-   sudo CTparental 
-    
 Exemple d’intersection Dansguardian / Dnsmasq pour les version v-4-xx et supérieur : {{:​tutoriel:​ctparental_e2guardian_dansguardian.png?​100|}} ​  ​{{:​tutoriel:​ctparental_dnsmasq.png?​100|}} Exemple d’intersection Dansguardian / Dnsmasq pour les version v-4-xx et supérieur : {{:​tutoriel:​ctparental_e2guardian_dansguardian.png?​100|}} ​  ​{{:​tutoriel:​ctparental_dnsmasq.png?​100|}}
- 
- 
- 
  
 ===== Session seulement ===== ===== Session seulement =====
 +====Timekpr====
  
- 
-====Timekpr==== 
 [[:​Timekpr]] (une contraction de « time keeper » en anglais) est un logiciel pour contrôler l'​usage de l'​ordinateur par les différents comptes d'​utilisateurs d'un ordinateur. Vous pouvez limiter l'​usage quotidien à partir de la durée d'​usage et les périodes de la journée où ils peuvent ou non se connecter. [[:​Timekpr]] (une contraction de « time keeper » en anglais) est un logiciel pour contrôler l'​usage de l'​ordinateur par les différents comptes d'​utilisateurs d'un ordinateur. Vous pouvez limiter l'​usage quotidien à partir de la durée d'​usage et les périodes de la journée où ils peuvent ou non se connecter.
  
Ligne 154: Ligne 148:
  
 ==== Solution radicale ==== ==== Solution radicale ====
-Soit une machine sur laquelle sont existants un compte disposant des droits d'​administration,​ d'​autres comptes sans droits d'​administration et parmi ceux-ci au moins un pour lequel l'​accès à internet n'a pas lieu d'​être contrôlé. Pour fixer les idées, mettons Adulte00, Adulte01, Progeniture00 et Progeniture01. Mettons que Adulte00 et 01 décident d'un commun accord que le contrôle le plus simple et le plus efficace tout en étant le moins demandeur en ressource humaine consiste en la solution radicale d'​absence d'​accès au net tout court pour Progéniture00 et 01. Dans ce cas, l'​administrateur peut aller dans les propriétés de la connexion, qu'​elle soit filaire ou wifi, et décocher la case en bas à gauche "​Disponible pour tous les utilisateurs"​. Problème : le compte non-admin pour lequel l'​accès à internet n'a pas lieu d'​être contrôlé (//i.e.// Adulte00 ou (//i.e.// xor) 01) se retrouve lui aussi sans connexion. Il faut alors se connecter avec ce compte et activer la connexion, ce qui devrait demander le mot de passe admin. A partir de ce moment, ce compte devrait avoir accès au réseau à chaque login. Mais là encore, tous les autres comptes auront accès à la connexion ... Comme précédemment,​ il suffit de modifier les propriétés de la connexion en décochant la case en bas à gauche "​Disponible pour tous les utilisateurs"​. ​+Soit une machine sur laquelle sont existants un compte disposant des droits d'​administration,​ d'​autres comptes sans droits d'​administration et parmi ceux-ci au moins un pour lequel l'​accès à internet n'a pas lieu d'​être contrôlé. Pour fixer les idées, mettons Adulte00, Adulte01, Progeniture00 et Progeniture01. Mettons que Adulte00 et 01 décident d'un commun accord que le contrôle le plus simple et le plus efficace tout en étant le moins demandeur en ressource humaine consiste en la solution radicale d'​absence d'​accès au net tout court pour Progéniture00 et 01. Dans ce cas, l'​administrateur peut aller dans les propriétés de la connexion, qu'​elle soit filaire ou wifi, et décocher la case en bas à gauche "​Disponible pour tous les utilisateurs"​. Problème : le compte non-admin pour lequel l'​accès à internet n'a pas lieu d'​être contrôlé (//i.e.// Adulte00 ou (//i.e.// xor) 01) se retrouve lui aussi sans connexion. Il faut alors se connecter avec ce compte et activer la connexion, ce qui devrait demander le mot de passe admin. A partir de ce moment, ce compte devrait avoir accès au réseau à chaque login. Mais là encore, tous les autres comptes auront accès à la connexion ... Comme précédemment,​ il suffit de modifier les propriétés de la connexion en décochant la case en bas à gauche "​Disponible pour tous les utilisateurs"​.
  
 **En résumé** : activation de la connexion pour chacun des adultes et modification en décochant la case "​Disponible pour tous les utilisateurs"​. Rien du tout pour la progéniture. **En résumé** : activation de la connexion pour chacun des adultes et modification en décochant la case "​Disponible pour tous les utilisateurs"​. Rien du tout pour la progéniture.
 ==== OpenDNS FamilyShield ==== ==== OpenDNS FamilyShield ====
  
-Cette méthode est la plus simple de toutes ! +Cette méthode est la plus simple de toutes !
  
 Avec OpenDNS FamilyShield,​ les filtres appliqués sont les mêmes pour tous (pas de paramétrage possible). Il suffit d'​utiliser comme serveurs DNS 208.67.222.123 et 208.67.220.123 et le tour est joué. Ces DNS filtrent automatiquement les sites adultes. Il suffit donc de mettre cette connexion par défaut pour tout le monde, et rajouter éventuellement des connexions avec d'​autres serveurs DNS pour chacun des utilisateurs qui n'ont pas besoin de filtrage; Avec OpenDNS FamilyShield,​ les filtres appliqués sont les mêmes pour tous (pas de paramétrage possible). Il suffit d'​utiliser comme serveurs DNS 208.67.222.123 et 208.67.220.123 et le tour est joué. Ces DNS filtrent automatiquement les sites adultes. Il suffit donc de mettre cette connexion par défaut pour tout le monde, et rajouter éventuellement des connexions avec d'​autres serveurs DNS pour chacun des utilisateurs qui n'ont pas besoin de filtrage;
Ligne 168: Ligne 162:
  
 [[http://​www.opendns.com/​home-solutions/​parental-controls|Site officiel de OpenDNS]] - (en français) [[http://​www.opendns.com/​home-solutions/​parental-controls|Site officiel de OpenDNS]] - (en français)
- 
  
 [[http://​store.opendns.com/​familyshield/​setup/​operatingsystem/​ubuntu|Installation pour Ubuntu]] - (en anglais) [[http://​store.opendns.com/​familyshield/​setup/​operatingsystem/​ubuntu|Installation pour Ubuntu]] - (en anglais)
- 
  
 ==== Procon latte ==== ==== Procon latte ====
- 
 Cette extension du navigateur Firefox est plutôt efficace et surtout très simple d'​installation. Bien sûr, elle ne convient qu'aux utilisateurs de Firefox ! Cette extension du navigateur Firefox est plutôt efficace et surtout très simple d'​installation. Bien sûr, elle ne convient qu'aux utilisateurs de Firefox !
 +<​note>​
 +**Inconvénients :**
 +  * Simple à contourner.
 +  * Ne protège que Firefox.
 +  * N'est plus compatible avec les versions récentes ("​Quantum"​) de Firefox.
 +</​note>​
  
- +=== Installation ===
- +
-== Installation == +
 Rien de plus simple, il suffit de se rendre à [[https://​addons.mozilla.org/​fr/​firefox/​addon/​1803|cette adresse avec Firefox]] et de cliquer sur //​Installer//​. Rien de plus simple, il suffit de se rendre à [[https://​addons.mozilla.org/​fr/​firefox/​addon/​1803|cette adresse avec Firefox]] et de cliquer sur //​Installer//​.
  
Ligne 188: Ligne 182:
   - cocher toutes les options des paramètres principaux, et notamment l'​option "​empêcher la désactivation ou la désinstallation"​   - cocher toutes les options des paramètres principaux, et notamment l'​option "​empêcher la désactivation ou la désinstallation"​
  
-__Deux remarques :__ +__Deux remarques :__
  
 Le blocage d'​accès via la liste blanche ne marche pas pour certains sites, par ex. fr.youtube.com. Dans ce cas, ajouter le nom du site (youtube) à la liste des données explicites du Filtre principal dans la colonne "sites bloqués"​. Le blocage d'​accès via la liste blanche ne marche pas pour certains sites, par ex. fr.youtube.com. Dans ce cas, ajouter le nom du site (youtube) à la liste des données explicites du Filtre principal dans la colonne "sites bloqués"​.
  
-L'​extension Public Fox  disponible [[https://​addons.mozilla.org/​fr/​firefox/​addon/​3911|cette adresse]] permet d'​aller plus loin en bloquant l'​accès aux modules complémentaires,​ mais elle ne fonctionne pas avec l'​occurrence "​Modules complémentaires"​ du menu Options de Firefox 3.0, ce qui oblige à installer un autre module de paramétrage du menu Options, comme par ex. Tools Menu Organiser disponible à [[https://​addons.mozilla.org/​fr/​firefox/​addon/​1911|cette adresse]] ​ +L'​extension Public Fox  disponible [[https://​addons.mozilla.org/​fr/​firefox/​addon/​3911|cette adresse]] permet d'​aller plus loin en bloquant l'​accès aux modules complémentaires,​ mais elle ne fonctionne pas avec l'​occurrence "​Modules complémentaires"​ du menu Options de Firefox 3.0, ce qui oblige à installer un autre module de paramétrage du menu Options, comme par ex. Tools Menu Organiser disponible à [[https://​addons.mozilla.org/​fr/​firefox/​addon/​1911|cette adresse]].
- +
- +
- +
- +
-== Inconvénients == +
- +
-  * Simple à contourner. +
-  * Ne protège que Firefox. +
-  * N'est plus compatible avec les versions récentes ("​Quantum"​) de Firefox. +
- +
  
 ==== Squidguard ==== ==== Squidguard ====
- 
- 
 === Pré-requis === === Pré-requis ===
- 
 Les logiciels utilisés pour mettre en œuvre ce contrôle parental sont : Les logiciels utilisés pour mettre en œuvre ce contrôle parental sont :
  
Ligne 223: Ligne 204:
 Le fichier de configuration est : **/​etc/​squid3/​squid.conf** Le fichier de configuration est : **/​etc/​squid3/​squid.conf**
  
-Tout d'​abord, ​sauvegardez ​ce fichier avec la commande :+Tout d'​abord, ​il est recommandé de réaliser une sauvegarde de ce fichier avec la commande :
  
-  sudo cp /​etc/​squid3/​squid.conf /​etc/​squid3/​squid.conf.orig+  sudo cp /​etc/​squid3/​squid.conf /​etc/​squid3/​squid.conf.back
  
 Maintenant, [[:​tutoriel:​comment_editer_un_fichier|éditez ce fichier]] avec l'​éditeur de votre choix en ayant les droits administrateur. Remplacez-en le contenu par les lignes suivantes : Maintenant, [[:​tutoriel:​comment_editer_un_fichier|éditez ce fichier]] avec l'​éditeur de votre choix en ayant les droits administrateur. Remplacez-en le contenu par les lignes suivantes :
  
-<​file>​+<​file ​- squid.conf>
 # ----------------------------------------------------------- # -----------------------------------------------------------
 cache_effective_user proxy cache_effective_user proxy
Ligne 276: Ligne 257:
  
 Dans le cas qui nous intéresse, le contrôle parental, on peut utiliser les filtres suivants : Dans le cas qui nous intéresse, le contrôle parental, on peut utiliser les filtres suivants :
-  * Autoriser l'​accès uniquement à une liste de sites (liste blanche). ​ +  * Autoriser l'​accès uniquement à une liste de sites (liste blanche).
   * Bloquer l'​accès à une série de domaines (liste noire).   * Bloquer l'​accès à une série de domaines (liste noire).
   * Bloquer les pages dont l'URL contient un mot interdit.   * Bloquer les pages dont l'URL contient un mot interdit.
  
-La configuration a lieu en deux temps. On crée d'​abord les ACL correspondants : +La configuration a lieu en deux temps. On crée d'​abord les ACL correspondants :
  
   acl whitelist dstdomain "/​etc/​squid3/​whitelist"​   acl whitelist dstdomain "/​etc/​squid3/​whitelist"​
Ligne 292: Ligne 273:
   http_access deny filtre_reg   http_access deny filtre_reg
  
-Squid applique les filtres dans l'​ordre. Le premier filtre vérifié s'​applique et pas les suivants. ​+Squid applique les filtres dans l'​ordre. Le premier filtre vérifié s'​applique et pas les suivants.
 Il faut donc prendre garde à l'​ordre dans lequel on les écrit. Il faut donc prendre garde à l'​ordre dans lequel on les écrit.
  
 Ici, le filtrage pour la whitelist est placé avant celui de la blacklist. Ici, le filtrage pour la whitelist est placé avant celui de la blacklist.
-Ainsi, si un domaine se trouve dans les deux listes, le site ne sera pas bloqué ​+Ainsi, si un domaine se trouve dans les deux listes, le site ne sera pas bloqué
 car Squid appliquera le premier filtre. car Squid appliquera le premier filtre.
  
  
-Pour finir, si aucune des règles n'est vérifiée on autorise l'​accès : +Pour finir, si aucune des règles n'est vérifiée on autorise l'​accès :
   http_access allow localhost   http_access allow localhost
 (avec localhost un ACL du type acl localhost src 127.0.0.1/​32) (avec localhost un ACL du type acl localhost src 127.0.0.1/​32)
- 
  
 Pour une référence plus complète des règles que l'on peut mettre en place dans Squid, Pour une référence plus complète des règles que l'on peut mettre en place dans Squid,
Ligne 312: Ligne 292:
  
 SquidGuard est une sorte de greffon à Squid qui joue le rôle 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. SquidGuard est une sorte de greffon à Squid qui joue le rôle 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 == == Les listes noires ==
Ligne 330: Ligne 309:
  
 C'est à partir de cette liste noire que la base de données va être créée pour SquidGuard. Si vous regardez 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, etc.). Ce sont ces thèmes qu'il faudra définir dans le fichier de configuration de Squidguard. C'est à partir de cette liste noire que la base de données va être créée pour SquidGuard. Si vous regardez 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, etc.). Ce sont ces thèmes qu'il faudra définir dans le fichier de configuration de Squidguard.
- 
- 
- 
- 
- 
- 
  
 === Mise à jour hebdomadaire automatique des listes noires === === Mise à jour hebdomadaire automatique des listes noires ===
 Pour mettre automatiquement à jour, chaque semaine, les listes noires de SquidGuard, il suffit de créer une tâche cron. Créez le fichier /​etc/​cron.weekly/​squidguard_blacklists : Pour mettre automatiquement à jour, chaque semaine, les listes noires de SquidGuard, il suffit de créer une tâche cron. Créez le fichier /​etc/​cron.weekly/​squidguard_blacklists :
-<​code>​sudo ​gedit /​etc/​cron.weekly/​squidguard_blacklists</​code>​+ 
 +<​code>​sudo ​nano /​etc/​cron.weekly/​squidguard_blacklists</​code>​
 et inscrivez-y les lignes suivantes : et inscrivez-y les lignes suivantes :
 <​code>​ <​code>​
Ligne 368: Ligne 342:
 Si vous le désirez, vous pouvez le tester (attention, il est long à rendre la main, à cause de la mise à jour des bases de SquidGuard) : Si vous le désirez, vous pouvez le tester (attention, il est long à rendre la main, à cause de la mise à jour des bases de SquidGuard) :
 <​code>​sudo /​etc/​cron.weekly/​squidguard_blacklists</​code>​ <​code>​sudo /​etc/​cron.weekly/​squidguard_blacklists</​code>​
- 
- 
  
 == Le fichier de configuration == == Le fichier de configuration ==
- 
- 
 Le fichier de configuration est : **/​etc/​squidguard/​squidGuard.conf** Le fichier de configuration est : **/​etc/​squidguard/​squidGuard.conf**
  
-De même sauvegardez ​ce fichier avec la commande :+De même réalisez une sauvegarde de ce fichier avec la commande :
  
-  sudo cp /​etc/​squidguard/​squidGuard.conf /​etc/​squidguard/​squidGuard.conf.orig+  sudo cp /​etc/​squidguard/​squidGuard.conf /​etc/​squidguard/​squidGuard.conf.back
  
 Maintenant, [[:​tutoriel:​comment_editer_un_fichier|éditez ce fichier]] avec l'​éditeur de votre choix en ayant les droits administrateur. Maintenant, [[:​tutoriel:​comment_editer_un_fichier|éditez ce fichier]] avec l'​éditeur de votre choix en ayant les droits administrateur.
Ligne 384: Ligne 354:
 remplacer le ficher avec les lignes suivantes : remplacer le ficher avec les lignes suivantes :
  
-<​file>​+<​file ​- squidGuard.conf>
 # #
 # CONFIG FILE FOR SQUIDGUARD # CONFIG FILE FOR SQUIDGUARD
Ligne 442: Ligne 412:
 <note important>​Si Squid ne démarre pas, et que /​var/​log/​squid3/​cache.log signale le problème "The url_rewriter helpers are crashing too rapidly",​ c'est que SquidGuard ne répond pas assez vite. Ceci est probablement dû à un thème contenant des expressions régulières (par exemple la base redirectors). Dans ce cas, essayer de mettre moins de thèmes dans l'​ACL</​note>​ <note important>​Si Squid ne démarre pas, et que /​var/​log/​squid3/​cache.log signale le problème "The url_rewriter helpers are crashing too rapidly",​ c'est que SquidGuard ne répond pas assez vite. Ceci est probablement dû à un thème contenant des expressions régulières (par exemple la base redirectors). Dans ce cas, essayer de mettre moins de thèmes dans l'​ACL</​note>​
  
-Maintenant il faut générer la base de données avec la commande suivante : +Maintenant il faut générer la base de données avec la commande suivante :
  
   sudo squidGuard -C all   sudo squidGuard -C all
Ligne 452: Ligne 422:
 === Configuration de IPTABLES === === Configuration de IPTABLES ===
  
-Maintenant que tout 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 celail faut d'​abord trouver ​l'​identifiant de l'​utilisateur proxy (UID) avec la commande :+Maintenant que tout 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, ​qui utilise ​l'​identifiant de l'​utilisateur proxy (UID).
  
-<​code>​ +Nous allons créer la règle iptables suivante (proxy est ici le nom du compte utilisé par Squid) :
-grep proxy  /​etc/​passwd +
-proxy:​x:​13:​13:​proxy:/​bin:/​bin/​sh +
-</​code>​ +
- +
-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) :+
  
 <​code>​ <​code>​
-sudo iptables -t nat -A OUTPUT -m owner ! --uid-owner ​13 -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128+sudo iptables -t nat -A OUTPUT -m owner ! --uid-owner ​proxy -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
 </​code>​ </​code>​
  
Ligne 481: Ligne 446:
 # By default this script does nothing. # 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+iptables -t nat -A OUTPUT -m owner ! --uid-owner ​proxy -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 3128
  
 exit 0 exit 0
 </​file>​ </​file>​
- 
  
 === Démarrage de Squid === === 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 : +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   sudo chown -R proxy:proxy /etc/squid /​var/​log/​squid /​var/​spool/​squid /​usr/​lib/​squid /​usr/​sbin/​squid /​var/​lib/​squidguard
Ligne 534: Ligne 498:
 <code bash> <code bash>
 $ sudo cp /​etc/​resolv.conf /​etc/​resolv.conf.auto $ sudo cp /​etc/​resolv.conf /​etc/​resolv.conf.auto
-$ gksudo ​gedit /​etc/​dhcp3/​dhclient.conf+$ gksudo ​nano /​etc/​dhcp3/​dhclient.conf
 # Ajoutez la ligne suivante au document # Ajoutez la ligne suivante au document
 prepend domain-name-servers 208.67.222.222,​208.67.220.220;​ prepend domain-name-servers 208.67.222.222,​208.67.220.220;​
Ligne 557: Ligne 521:
 « opendnslogin » est à remplacer par le login de votre compte OpenDNS « opendnslogin » est à remplacer par le login de votre compte OpenDNS
  
-« opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS ​+« opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS
  
 == avec ddclient == == avec ddclient ==
Ligne 576: Ligne 540:
 </​file>​ </​file>​
 « opendnslogin » est à remplacer par le login de votre compte OpenDNS « opendnslogin » est à remplacer par le login de votre compte OpenDNS
-« opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS ​+« opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS
  
  
Ligne 600: Ligne 564:
 Vérifiez que run_daemon est bien sur true Vérifiez que run_daemon est bien sur true
  
-vous pouvez tester le client avec +vous pouvez tester le client avec
 <code bash> <code bash>
 sudo ddclient -v sudo ddclient -v
 </​code>​ </​code>​
  
-et relancer le daemon ​+et relancer le daemon
 <code bash> <code bash>
 sudo /​etc/​init.d/​ddclient restart sudo /​etc/​init.d/​ddclient restart
Ligne 611: Ligne 575:
  
 === OpenDNS et session utilisateur === === OpenDNS et session utilisateur ===
-Il est possible de faire en sorte que le filtrage ne s'​applique que si la session d'un utilisateur bien défini est ouverte. ​+Il est possible de faire en sorte que le filtrage ne s'​applique que si la session d'un utilisateur bien défini est ouverte.
  
 Pour cela il faut créer un script bash et deux fichiers DNS (resolv), un pour les utilisateurs non restreints et un pour l'​utilisateur à restreindre. Pour cela il faut créer un script bash et deux fichiers DNS (resolv), un pour les utilisateurs non restreints et un pour l'​utilisateur à restreindre.
Ligne 619: Ligne 583:
 Créer le fichier /​etc/​resolv.child : Créer le fichier /​etc/​resolv.child :
 <code bash> <code bash>
-$ sudo gedit /​etc/​resolv.child+$ sudo nano /​etc/​resolv.child
 </​code>​ </​code>​
 avec les lignes suivantes : avec les lignes suivantes :
Ligne 643: Ligne 607:
 Créer le fichier /​etc/​resolv.adult : Créer le fichier /​etc/​resolv.adult :
 <code bash> <code bash>
-$ sudo gedit /​etc/​resolv.adult+$ sudo nano /​etc/​resolv.adult
 </​code>​ </​code>​
 Avec les lignes suivantes : Avec les lignes suivantes :
Ligne 667: Ligne 631:
 $ sudo chmod 644 /​etc/​resolv.adult $ sudo chmod 644 /​etc/​resolv.adult
 </​code>​ </​code>​
-Créer le fichier /​usr/​sbin/​opendns : +Créer le fichier /​usr/​sbin/​opendns :
 <code bash> <code bash>
-$ sudo gedit /​usr/​sbin/​opendns+$ sudo nano /​usr/​sbin/​opendns
 </​code>​ </​code>​
 avec les lignes suivantes : avec les lignes suivantes :
Ligne 689: Ligne 653:
 fi fi
 </​file>​ </​file>​
-A la ligne +A la ligne
  
 if users | grep -c "​child"​ > /dev/null ; then if users | grep -c "​child"​ > /dev/null ; then
Ligne 727: Ligne 691:
  
 Vous pouvez aussi mettre "sudo opendns"​ dans les programmes de démarrage de la session « child » (que « child » pourrait quand même désactiver,​ c'est pour cela que l'on utilise aussi le crontab) Vous pouvez aussi mettre "sudo opendns"​ dans les programmes de démarrage de la session « child » (que « child » pourrait quand même désactiver,​ c'est pour cela que l'on utilise aussi le crontab)
- 
  
 ===== Voir aussi===== ===== Voir aussi=====
Ligne 733: Ligne 696:
   * [[https://​addons.mozilla.org/​fr/​firefox/​addon/​11595|eXtension broozi]]   * [[https://​addons.mozilla.org/​fr/​firefox/​addon/​11595|eXtension broozi]]
  
- +  ​* [[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=167998|Discussion "​Contròle parental et IPtables"​ sur le forum ubuntu-fr]]
-  ​* [[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=167998|Discussion "​Contròle parental et IPtables"​ sur le forum ubuntu-fr]]+
   * [[:​tutoriel:​restrictions_horaires|Restreindre les plages horaires autorisées pour chaque utilisateur]]   * [[:​tutoriel:​restrictions_horaires|Restreindre les plages horaires autorisées pour chaque utilisateur]]
   * [[https://​github.com/​raf64flo/​parental_control|Scripts shell sur Github pour installer et supprimer le contrôle parental (à adapter, il n'y a pas de paramètres à ce jour)]]   * [[https://​github.com/​raf64flo/​parental_control|Scripts shell sur Github pour installer et supprimer le contrôle parental (à adapter, il n'y a pas de paramètres à ce jour)]]
- 
  
 ---- ----
  
 //​Contributeurs : [[:​utilisateurs:​Roozeec]],​ Boris Le Hachoir, [[:​utilisateurs:​Fabien26]],​ [[:​utilisateurs:​Furious-therapy]],​ sensouci.// //​Contributeurs : [[:​utilisateurs:​Roozeec]],​ Boris Le Hachoir, [[:​utilisateurs:​Fabien26]],​ [[:​utilisateurs:​Furious-therapy]],​ sensouci.//
  • tutoriel/comment_mettre_en_place_un_controle_parental.1584140074.txt.gz
  • Dernière modification: Le 13/03/2020, 23:54
  • par 82.64.139.120