Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
tutoriel:comment_mettre_en_place_un_controle_parental [Le 22/06/2019, 15:22] – [ctparental] 91.168.12.65 | tutoriel:comment_mettre_en_place_un_controle_parental [Le 14/02/2021, 18:41] (Version actuelle) – [ctparental] 85.171.241.6 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | | ||
+ | ---- | ||
+ | ====== Contrôle parental ====== | ||
+ | |||
+ | Cette page recense les solutions de contrôle parental sur Ubuntu. | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | Le contrôle parental comporte au moins deux aspects : | ||
+ | - accès aux sessions et temps d' | ||
+ | - accès à l' | ||
+ | |||
+ | Les solutions évoquées ci-après peuvent concerner ces deux aspects ou seulement l'un des deux. | ||
+ | |||
+ | |||
+ | =====Session et internet===== | ||
+ | |||
+ | ==== La Session Invité ==== | ||
+ | |||
+ | La session invité a des droits limité mais permet de passer au dessus de contrôles parentaux appliqués sur votre navigateur comme par exemple ProCon Latte qui sera étudié ci-dessous. | ||
+ | En effet à chaque redémarrage du système la session invité efface tout ce qui a pu être installé lors de la session précédente, | ||
+ | |||
+ | Pour désactiver la session Invité, reportez-vous à la [[: | ||
+ | ==== ctparental | ||
+ | |||
+ | |||
+ | CTparental est un Contrôle parental permettant à des utilisateurs ayant juste assimilé les bases des lignes de commandes | ||
+ | |||
+ | Basé sur dnsmasq , [[http:// | ||
+ | |||
+ | Bien sûr il faut créer des comptes sans droit d' | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 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. | ||
+ | |||
+ | 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 faut **installer** avec [[/ | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | les identifiants et mots de passe seront définis pendant cette procédure sauf pour l’installe par [[/ | ||
+ | |||
+ | <note important> | ||
+ | Si vous n' | ||
+ | |||
+ | 6 a 20 caractères au total,1 Majuscule,1 minuscule,1 nombre et 1 caractère spécial parmi les suivants. & | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | </ | ||
+ | <note important> | ||
+ | |||
+ | pour ubuntu 16.04 et 14.04: | ||
+ | sudo apt-get autoremove --purge ctparental clamav-* | ||
+ | sudo rm -rf / | ||
+ | sudo rm -rf / | ||
+ | sudo rm -rf /etc/nginx/ | ||
+ | pour ubuntu 17.04 et plus: | ||
+ | sudo apt-get autoremove --purge ctparental clamav-* | ||
+ | sudo rm -rf / | ||
+ | sudo rm -rf / | ||
+ | sudo rm -rf /etc/nginx/ | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | penser a activer la nouvelle catégorie suivante cryptojacking, | ||
+ | Le cryptojacking est défini comme l' | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | | ||
+ | renvoie: | ||
+ | " | ||
+ | | ||
+ | sudo apt-get install gamin | ||
+ | </ | ||
+ | |||
+ | == Utilisation == | ||
+ | |||
+ | Il possède | ||
+ | |||
+ | Une liste complémentaire à la blackliste de Toulouse se nommant ctparental est à ajouter dans les catégories, | ||
+ | à ajouter aux catégories adult, | ||
+ | |||
+ | |||
+ | |||
+ | Principales fonctions : | ||
+ | - Filtrage par Blackliste ou par Whiteliste . | ||
+ | - Filtre par Catégories. | ||
+ | - Filtre personnalisé de sites. | ||
+ | - Filtre Personnalisé de sites à laisser accessibles même s'ils sont présents dans une des catégories que l'on veut bloquer. | ||
+ | - Réglages des heures de connexions autorisées par utilisateur. | ||
+ | - Réglage du temps max de navigation des utilisateurs. | ||
+ | - Nombres de minutes de connexions max par jours autorisées. | ||
+ | - Groupe de personnes privilégiées ne subissant pas de filtrage web. | ||
+ | - Notifications des Utilisateurs toutes les minutes durant les 5 dernières minutes avant déconnexion. | ||
+ | - Dansguardian (extentions + type mime paramétrable via l' | ||
+ | - Privoxy (paramètre non disponible via l' | ||
+ | - Force SafeSearch google | ||
+ | - Force safesearch youtube.com ( très restrictifs conviens au jeune enfants , pas a des adolescents.) | ||
+ | - Force SafeSearch duckduckgo | ||
+ | - Force SafeSearch bing (en http seulement) https supporter depuis la version 4.20.27 | ||
+ | - Force SafeSearch Qwant supporter depuis la version 4.20.27 | ||
+ | - Blocage de moteurs de recherches jugés non sûr comme search.yahoo.com. | ||
+ | - Ajout du mot de passe grub2, le mot de passe est persistants, | ||
+ | - Fonctionne avec firefox, midori, chromium ... | ||
+ | - Gestion de règles personnalisées pour iptables. Activé avec CTparental | ||
+ | - export de configuration à partir de la version 4.20.13< | ||
+ | - import de configuration à partir de la version 4.20.13< | ||
+ | - Multi-langues, | ||
+ | - à partir de la version 4.22.05 une synchronisation et possible entre des postes dit clients et un poste dit serveur. voir [[https:// | ||
+ | - à partir le la version 4.20.23 la session invité est aussi filtré. | ||
+ | <note help>les services suivants sont automatiquement acceptés pour avoir une navigation correcte sur internet : http, | ||
+ | ping (sortant uniquement), | ||
+ | Pour le reste on peut ajouter ses propres règles dans le fichier / | ||
+ | La version 4.40.00 ajoute la gestion du filtrage par [[https:// | ||
+ | |||
+ | |||
+ | | ||
+ | |||
+ | |||
+ | < | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | Pour l' | ||
+ | |||
+ | Dépôt GIT : [[https:// | ||
+ | |||
+ | **Explication des différents paramètres pour une utilisation en ligne de commandes. ** | ||
+ | une fois installé, lancer cette commande : | ||
+ | |||
+ | sudo CTparental | ||
+ | |||
+ | Exemple d’intersection Dansguardian / Dnsmasq pour les version v-4-xx et supérieur : {{: | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ===== Session seulement ===== | ||
+ | |||
+ | |||
+ | ====Timekpr==== | ||
+ | [[: | ||
+ | |||
+ | ==== Configuration manuelle ==== | ||
+ | Des [[tutoriel: | ||
+ | |||
+ | ===== Internet seulement ===== | ||
+ | |||
+ | ==== Solution radicale ==== | ||
+ | Soit une machine sur laquelle sont existants un compte disposant des droits d' | ||
+ | |||
+ | **En résumé** : activation de la connexion pour chacun des adultes et modification en décochant la case " | ||
+ | ==== OpenDNS FamilyShield ==== | ||
+ | |||
+ | Cette méthode est la plus simple de toutes ! | ||
+ | |||
+ | Avec OpenDNS FamilyShield, | ||
+ | |||
+ | Une petite note rapide pour dire que cette solution est pour le moins ambiguë, elle filtre effectivement les sites pour adultes, mais en renvoyant à une page appartenant à Opendns, qui fait de la pub... pour d' | ||
+ | | ||
+ | Pour plus de détails : | ||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | [[http:// | ||
+ | |||
+ | |||
+ | ==== Procon latte ==== | ||
+ | |||
+ | Cette extension du navigateur Firefox est plutôt efficace et surtout très simple d' | ||
+ | |||
+ | |||
+ | |||
+ | == Installation == | ||
+ | |||
+ | Rien de plus simple, il suffit de se rendre à [[https:// | ||
+ | |||
+ | Afin d' | ||
+ | |||
+ | - cliquer sur le bouton " | ||
+ | - cocher toutes les options des paramètres principaux, et notamment l' | ||
+ | |||
+ | __Deux remarques :__ | ||
+ | |||
+ | Le blocage d' | ||
+ | |||
+ | L' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | == Inconvénients == | ||
+ | |||
+ | * Simple à contourner. | ||
+ | * Ne protège que Firefox. | ||
+ | * N'est plus compatible avec les versions récentes (" | ||
+ | |||
+ | |||
+ | ==== Squidguard ==== | ||
+ | |||
+ | |||
+ | === Pré-requis === | ||
+ | |||
+ | Les logiciels utilisés pour mettre en œuvre ce contrôle parental sont : | ||
+ | |||
+ | * [[:squid]] : | ||
+ | * Squidguard (Il faut activer le dépôt universe) (Voir Squidguard | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | En effet, squid 3.3.8 n'est pas compatible avec squidguard 1.5-4 https:// | ||
+ | === Configuration de Squid === | ||
+ | |||
+ | Le fichier de configuration est : **/ | ||
+ | |||
+ | Tout d' | ||
+ | |||
+ | sudo cp / | ||
+ | |||
+ | Maintenant, [[: | ||
+ | |||
+ | < | ||
+ | # ----------------------------------------------------------- | ||
+ | cache_effective_user proxy | ||
+ | cache_effective_group proxy | ||
+ | # ----------------------------------------------------------- | ||
+ | visible_hostname none | ||
+ | # ----------------------------------------------------------- | ||
+ | |||
+ | # ----------------------------------------------------------- | ||
+ | acl all src 0.0.0.0/ | ||
+ | acl localhost src 127.0.0.1/ | ||
+ | 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 | ||
+ | |||
+ | url_rewrite_program / | ||
+ | url_rewrite_children 10 | ||
+ | |||
+ | http_port 3128 transparent | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | === Configuration d'un filtre uniquement par Squid === | ||
+ | |||
+ | Squid permet, à lui seul, de mettre en place toute une série de filtres. | ||
+ | |||
+ | Dans le cas qui nous intéresse, le contrôle parental, on peut utiliser les filtres suivants : | ||
+ | * Autoriser l' | ||
+ | * Bloquer l' | ||
+ | * Bloquer les pages dont l'URL contient un mot interdit. | ||
+ | |||
+ | La configuration a lieu en deux temps. On crée d' | ||
+ | |||
+ | acl whitelist dstdomain "/ | ||
+ | acl blacklist dstdomain "/ | ||
+ | acl filtre_reg url_regex -i ^.*sex.*$ ^.*porn.*$ ^.*hack.*$ ^.*crack.*$ ^.*drug.*$ ^.*felation.*$ | ||
+ | |||
+ | Puis on lui applique les filtres : | ||
+ | |||
+ | http_access allow whitelist | ||
+ | http_access deny blacklist | ||
+ | http_access deny filtre_reg | ||
+ | |||
+ | Squid applique les filtres dans l' | ||
+ | Il faut donc prendre garde à l' | ||
+ | |||
+ | 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é | ||
+ | car Squid appliquera le premier filtre. | ||
+ | |||
+ | |||
+ | Pour finir, si aucune des règles n'est vérifiée on autorise l' | ||
+ | http_access allow localhost | ||
+ | (avec localhost un ACL du type acl localhost src 127.0.0.1/ | ||
+ | |||
+ | |||
+ | Pour une référence plus complète des règles que l'on peut mettre en place dans Squid, | ||
+ | on peut se référer au document : | ||
+ | [www.visolve.com/ | ||
+ | |||
+ | === Configuration de SquidGuard === | ||
+ | |||
+ | 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 == | ||
+ | |||
+ | Pour ce qui est du filtrage des sites, on ne va bien sûr pas entrer les adresses à la main, des listes noires existent sur le net. Voici une adresse de blacklist : ftp:// | ||
+ | |||
+ | Voici les commandes à faire pour les installer : | ||
+ | |||
+ | < | ||
+ | wget ftp:// | ||
+ | sudo tar zxvf blacklists.tar.gz -C / | ||
+ | sudo su | ||
+ | cd / | ||
+ | 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 regardez le répertoire / | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | === 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 / | ||
+ | < | ||
+ | et inscrivez-y les lignes suivantes : | ||
+ | < | ||
+ | #!/bin/sh | ||
+ | # | ||
+ | # Fichier / | ||
+ | # | ||
+ | # Télécharge chaque semaine les listes noires pour SquidGuard | ||
+ | # et met à jour les bases de ce dernier. | ||
+ | |||
+ | if [ -d / | ||
+ | wget ftp:// | ||
+ | tar zxvf / | ||
+ | rm -rf / | ||
+ | mkdir / | ||
+ | mv -f / | ||
+ | chmod 2770 / | ||
+ | rm -rf / | ||
+ | / | ||
+ | chown -R proxy:proxy /etc/squid3 / | ||
+ | service squid3 restart | ||
+ | fi | ||
+ | </ | ||
+ | |||
+ | Rendez ce fichier exécutable : | ||
+ | < | ||
+ | |||
+ | 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) : | ||
+ | < | ||
+ | |||
+ | |||
+ | |||
+ | == Le fichier de configuration == | ||
+ | |||
+ | |||
+ | Le fichier de configuration est : **/ | ||
+ | |||
+ | De même sauvegardez ce fichier avec la commande : | ||
+ | |||
+ | sudo cp / | ||
+ | |||
+ | Maintenant, [[: | ||
+ | |||
+ | remplacer le ficher avec les lignes suivantes : | ||
+ | |||
+ | < | ||
+ | # | ||
+ | # CONFIG FILE FOR SQUIDGUARD | ||
+ | # | ||
+ | |||
+ | dbhome / | ||
+ | logdir / | ||
+ | |||
+ | # ------------------------------------------------------------ | ||
+ | # Définition de la base de données de filtrage utilisée | ||
+ | # ------------------------------------------------------------ | ||
+ | dest adult { | ||
+ | domainlist adult/ | ||
+ | urllist adult/urls | ||
+ | } | ||
+ | |||
+ | dest publicite { | ||
+ | domainlist publicite/ | ||
+ | urllist publicite/ | ||
+ | } | ||
+ | |||
+ | dest warez { | ||
+ | domainlist warez/ | ||
+ | urllist warez/urls | ||
+ | } | ||
+ | |||
+ | dest porn { | ||
+ | domainlist porn/ | ||
+ | urllist porn/urls | ||
+ | } | ||
+ | |||
+ | dest violence { | ||
+ | domainlist violence/ | ||
+ | urllist violence/ | ||
+ | } | ||
+ | |||
+ | # 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>/ | ||
+ | # urllist <nom du thème>/ | ||
+ | # } | ||
+ | |||
+ | # ------------------------------------------------------------ | ||
+ | # Définition 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 | ||
+ | } | ||
+ | } | ||
+ | # ------------------------------------------------------------ | ||
+ | </ | ||
+ | |||
+ | <note important> | ||
+ | |||
+ | 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:// | ||
+ | |||
+ | === 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 cela, il faut d' | ||
+ | |||
+ | < | ||
+ | grep proxy /etc/passwd | ||
+ | proxy: | ||
+ | </ | ||
+ | |||
+ | 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 **/ | ||
+ | |||
+ | < | ||
+ | #!/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 / | ||
+ | |||
+ | Lancer maintenant la commande : | ||
+ | |||
+ | sudo squid -z | ||
+ | |||
+ | Maintenant le démarrage proprement dit : | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | Et la réponse doit être : //Starting Squid HTTP proxy squid [ok]// | ||
+ | |||
+ | ==== DansGuardian ==== | ||
+ | |||
+ | Deux autres solutions sont d' | ||
+ | |||
+ | ==== OpenDNS ==== | ||
+ | |||
+ | * www.opendns.com - (en anglais) | ||
+ | |||
+ | La technique est différente, | ||
+ | Du coup PAS DE LOGICIEL à installer sur l' | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Ci-dessous la traduction en français | ||
+ | |||
+ | Ubuntu | ||
+ | |||
+ | - Faites un clic-droit sur l' " | ||
+ | - Choisissez le type de connexion dont vous disposez. Pour cet exemple, nous allons utiliser " | ||
+ | - Sous " | ||
+ | - Dans la fenêtre ' | ||
+ | - Sous " | ||
+ | - Mettez ces adresses comme Serveurs DNS : 208.67.222.222, | ||
+ | - Cliquez sur " | ||
+ | |||
+ | Pour éviter que vos réglages soient révoqués après redémarrage, | ||
+ | des périodes d' | ||
+ | modifications suivantes par l' | ||
+ | |||
+ | <code bash> | ||
+ | $ sudo cp / | ||
+ | $ gksudo gedit / | ||
+ | # Ajoutez la ligne suivante au document | ||
+ | prepend domain-name-servers 208.67.222.222, | ||
+ | # enregistrez et quittez | ||
+ | $ sudo ifdown eth0 && sudo ifup eth0 | ||
+ | </ | ||
+ | |||
+ | Il peut être nécessaire de changer eth0 pour votre propre interface | ||
+ | réseau si elle utilise un nom non-standard. | ||
+ | |||
+ | === OpenDNS et adresse IP dynamique === | ||
+ | Une fois que vous avez créé un compte sur OpenDNS, il faut associer à ce compte votre adresse IP. Si vous avez une adresse IP dynamique la mise à jour automatique de cette association peut se faire : | ||
+ | |||
+ | == via une simple requête WEB lancée automatiquement toutes les 10 minutes == | ||
+ | <code bash> | ||
+ | $ sudo crontab -e | ||
+ | # Ajoutez la ligne suivante au document (voir doc vi ou nano) | ||
+ | */10 * * * * wget -O - -q --http-user=opendnslogin --http-passwd=opendnspassword https:// | ||
+ | # enregistrez et quittez (voir doc vi ou nano) | ||
+ | </ | ||
+ | |||
+ | « opendnslogin » est à remplacer par le login de votre compte OpenDNS | ||
+ | |||
+ | « opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS | ||
+ | |||
+ | == avec ddclient == | ||
+ | [[http:// | ||
+ | |||
+ | [[: | ||
+ | |||
+ | [[: | ||
+ | < | ||
+ | # / | ||
+ | ssl=yes # use ssl-support | ||
+ | use=web, web=whatismyip.org | ||
+ | protocol=dyndns2 | ||
+ | server=updates.opendns.com | ||
+ | login=opendnslogin | ||
+ | password=' | ||
+ | home | ||
+ | </ | ||
+ | « opendnslogin » est à remplacer par le login de votre compte OpenDNS | ||
+ | « opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS | ||
+ | |||
+ | |||
+ | [[: | ||
+ | < | ||
+ | # Configuration for ddclient scripts | ||
+ | # generated from debconf on mardi 22 décembre 2009, 18:06:36 (UTC+0100) | ||
+ | # | ||
+ | # / | ||
+ | |||
+ | # Set to " | ||
+ | # established. This might be useful, if you are using dial-on-demand | ||
+ | run_ipup=" | ||
+ | |||
+ | # Set to " | ||
+ | run_daemon=" | ||
+ | |||
+ | # Set the time interval between the updates of the dynamic DNS name in seconds. | ||
+ | # This option only takes effect if the ddclient runs in daemon mode. | ||
+ | daemon_interval=" | ||
+ | </ | ||
+ | |||
+ | Vérifiez que run_daemon est bien sur true | ||
+ | |||
+ | vous pouvez tester le client avec | ||
+ | <code bash> | ||
+ | sudo ddclient -v | ||
+ | </ | ||
+ | |||
+ | et relancer le daemon | ||
+ | <code bash> | ||
+ | sudo / | ||
+ | </ | ||
+ | |||
+ | === OpenDNS et session utilisateur === | ||
+ | Il est possible de faire en sorte que le filtrage ne s' | ||
+ | |||
+ | Pour cela il faut créer un script bash et deux fichiers DNS (resolv), un pour les utilisateurs non restreints et un pour l' | ||
+ | |||
+ | Dans l' | ||
+ | |||
+ | Créer le fichier / | ||
+ | <code bash> | ||
+ | $ sudo gedit / | ||
+ | </ | ||
+ | avec les lignes suivantes : | ||
+ | < | ||
+ | # generated by opendns - resolv.child | ||
+ | |||
+ | # / | ||
+ | # / | ||
+ | # / | ||
+ | # link / | ||
+ | # line opendns in crontab as root (sudo crontab -e) | ||
+ | # line ALL ALL=NOPASSWD:/ | ||
+ | |||
+ | nameserver 208.67.222.222 | ||
+ | nameserver 208.67.220.220 | ||
+ | |||
+ | </ | ||
+ | Propriétaire : root via chown ; Permissions : 644 via chmod | ||
+ | <code bash> | ||
+ | $ sudo chown root:root / | ||
+ | $ sudo chmod 644 / | ||
+ | </ | ||
+ | Créer le fichier / | ||
+ | <code bash> | ||
+ | $ sudo gedit / | ||
+ | </ | ||
+ | Avec les lignes suivantes : | ||
+ | < | ||
+ | # generated by opendns - resolv.adult | ||
+ | |||
+ | # / | ||
+ | # / | ||
+ | # / | ||
+ | # link / | ||
+ | # line opendns in crontab as root (sudo crontab -e) | ||
+ | # line ALL ALL=NOPASSWD:/ | ||
+ | |||
+ | nameserver x.x.x.x | ||
+ | nameserver y.y.y.y | ||
+ | |||
+ | </ | ||
+ | x.x.x.x et y.y.y.y sont à remplacer par les DNS de votre FAI | ||
+ | |||
+ | Propriétaire : root via chown ; Permissions : 644 via chmod | ||
+ | <code bash> | ||
+ | $ sudo chown root:root / | ||
+ | $ sudo chmod 644 / | ||
+ | </ | ||
+ | Créer le fichier / | ||
+ | <code bash> | ||
+ | $ sudo gedit / | ||
+ | </ | ||
+ | avec les lignes suivantes : | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | |||
+ | # / | ||
+ | # / | ||
+ | # / | ||
+ | # link / | ||
+ | # line opendns in crontab as root (sudo crontab -e) | ||
+ | # line ALL ALL=NOPASSWD:/ | ||
+ | |||
+ | if users | grep -c " | ||
+ | wget -O - -q --http-user=opendnslogin --http-passwd=opendnspassword https:// | ||
+ | cp / | ||
+ | else | ||
+ | cp / | ||
+ | fi | ||
+ | </ | ||
+ | A la ligne | ||
+ | |||
+ | if users | grep -c " | ||
+ | |||
+ | " | ||
+ | |||
+ | « opendnslogin » est à remplacer par le login de votre compte OpenDNS | ||
+ | |||
+ | « opendnspassword » est à remplacer par le mot de passe de votre compte OpenDNS | ||
+ | |||
+ | Ce script remplacera les DNS normaux par les DNS de OpenDNS si la session « child » est ouverte et mettra à jour votre adresse IP (dynamique) sur OpenDNS. Si la session « child » est inactive les DNS seront ceux de votre FAI et il n'y aura pas de mise à jour de votre adresse IP sur OpenDNS. | ||
+ | |||
+ | Propriétaire : root via chown ; Permissions : 755 via chmod | ||
+ | <code bash> | ||
+ | $ sudo chown root:root / | ||
+ | $ sudo chmod 755 / | ||
+ | </ | ||
+ | Il faut ensuite permettre aux utilisateurs de lancer le script en tant que root sans avoir à taper le mot de passe : | ||
+ | <code bash> | ||
+ | $ sudo visudo | ||
+ | # Ajoutez la ligne suivante au document (voir doc vi ou nano) : | ||
+ | ALL ALL=NOPASSWD:/ | ||
+ | # enregistrez et quittez (voir doc vi ou nano) | ||
+ | </ | ||
+ | Ajouter un lien dans / | ||
+ | <code bash> | ||
+ | $ sudo ln / | ||
+ | </ | ||
+ | Ajouter la ligne dans le cron pour que le script s' | ||
+ | <code bash> | ||
+ | $ sudo crontab -e | ||
+ | # Ajoutez la ligne suivante au document (voir doc vi ou nano) | ||
+ | */10 * * * * / | ||
+ | # enregistrez et quittez (voir doc vi ou nano) | ||
+ | </ | ||
+ | Dans ce cas, le script opendns effectuant lui-même la mise à jour de l' | ||
+ | |||
+ | Vous pouvez aussi mettre "sudo opendns" | ||
+ | |||
+ | |||
+ | ===== Voir aussi===== | ||
+ | * [[http:// | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | * [[http:// | ||
+ | * [[: | ||
+ | * [[https:// | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | // |