Contrôle parental pour le pc debian de vos enfants :)

dépôt Git

Wiki

Pour faire remonter un bug c’est par ICI

Petit rappel , le contrôle parental ne doit pas ce substituer aux coups d’oeil de temps en temps mais apporte un plus.

Je vous propose donc de mètre en place un filtrage directement sur le pc a protéger, à l’aide de :
iptables+dnsmasq+dansguardian+privoxy ( Pour le filtrage )
lighttpd ( pour la page de redirection et l’interface d’administration)

par le deb:
télé-charger puis extraire l’archive contenant le deb.
pour debian 8(jessie)
[$ wget -c https://github.com/marsat/CTparental/releases/download/4.16.5/ctparental_debian_jessie_4.16.5-1_all.deb

pour debian 9 et supérieure et ubuntu 16.04

$ wget -c https://github.com/marsat/CTparental/releases/download/4.16.5/ctparental_debian_testing_4.16.5-1_all.deb

nettoyage des versions précédentes:

# apt-get autoremove  ctparental clamav-*
# sed -i "s?^%ctoff.*??g" /etc/sudoers
# sed -i "s?^ALL  ALL=(ALL) NOPASSWD:/usr/local/bin/CTparental.sh.*??g" /etc/sudoers

installer le deb:

gdebi ctparental_*_all.deb

(j’ utilise gdebit car cela évite le télé-chargement est l’installe soit même des dépendances.)

Important depuis la version 3.92 les paramètres proxy change automatiquement au premier démarrage de la session, ce qui fait que c’est transparent pour l’utilisateur.
si après avoir redémarrer votre session vous avez encore des problème de connexion aux site https tèl que google.com, tester avants tous l’ajout du proxy suivant.
proxy http 127.0.0.1 sur port 8080
proxy https 127.0.0.1 sur port 8080

pour les versions avant la 3.95-3
Il est conseiller d’ajouter tous les domaine de vos dépôts dans les domaines réhabilitée cella peut évite certaine erreur quant on utilise su au lieux de su - avant des commandes apt-get aptitude …

lancer cette commandes pour les connaître.

$ cat /etc/apt/sources.list /etc/apt/sources.list.d/* | grep "^deb" | cut -d"/" -f3 | sort -u | sed -e "s/^www././g"

pour la version 3.95-3 et supérieure il faut juste pensé a lancer la commande

# CTparental.sh -ubl

après l’ajout d’un nouveaux dépôt.

pour tester si sa fonctionne un ping youporn.com
doit retourner quelque chose comme sa :

[quote]PING youporn.com (127.0.0.10) 56(84) bytes of data.
bytes from 127.0.0.10: icmp_req=1 ttl=64 time=0.026 ms[/quote]
si lIP en gras est différente c’est que le filtrage ne fonctionne pas.

je ne vais pas copier la licence GPL sur le forum mais voici le lien tous de même http://www.gnu.org/licenses/gpl.html

pour l’aide taper:

CTparental.sh sans aucun paramètres.

/usr/local/share/CTparental/CHANGELOG

[code]# 20/04/2016
ctparental (4.16.4)

  • dépendance php-cgi et php-xml pour ubuntu 16.04 et debian testing ,
    remplace php5-cgi des verssions plus anciennes de ces distributions.

  • Amélioration du paramétrage de /etc/sudoers pour le compte du,
    serveur lighttpd,plus réstrictif et plus simple a la foie.

  • Ajoute la possiblitée de désactiver/activer les règles privoxy par default.

  • ne supprime plus les fichiers de .conf dans /etc/CTparental a la
    désinstalation,ce qui permet de retrouver ces parramètres aprés une maj.

[/code]
ctparental_3.85-2_all.tar.gz (53.5 KB)

1 J'aime

Ehlo, je viens de parcourir trés rapido, ton script…

IL me semble que tu peux aisément remplacer, la détection de ton interface wan, par une cmd plus facilement compréhensible, et plus rapide - si je ne me trompe pas - :

ip route | awk '/^default via/{print $5}'

Parfois, on a le tord de chercher la complication !
Voili, voilou… en espérant t’être utile :smiley:

[quote=“PengouinPdt”]Ehlo, je viens de parcourir trés rapido, ton script…

IL me semble que tu peux aisément remplacer, la détection de ton interface wan, par une cmd plus facilement compréhensible, et plus rapide - si je ne me trompe pas - :

ip route | awk '/^default via/{print $5}'

Parfois, on a le tord de chercher la complication !
Voili, voilou… en espérant t’être utile :smiley:[/quote]
Merci en effet c’est bien plus simple :wink: je modifie.

Sympa le script 8)

Une idée d’amélioration? Adapter le script pour qu’il soit utilisable avec d’autres distros facilement (ça concerne surtout les lignes “apt-get” en fait, ainsi que le lancement des services)

[quote=“agentsteel”]Sympa le script 8)
Une idée d’amélioration? Adapter le script pour qu’il soit utilisable avec d’autres distros facilement (ça concerne surtout les lignes “apt-get” en fait, ainsi que le lancement des services)[/quote]
j’ai prit votre idée d’amélioration en compte et est modifier le scripte en conséquence.
sa devrai fonctionner pour les distribution baser sur yum est urpmi, mais je n’est tester que sur ma debian wheezy.

juste pour signaler que la version 2.0 ajoute les restrictions horaire de login pour les utilisateurs. Compatible avec gdm lightdm slim kdm xdm et login ( connection console tty ).

J’utilise opendns home en version “gratuite”.
Il suffit de créer un compte (avec ip ou nom de domaine) et de mettre les dns de chez opendns sur les pc clients que l’on veut protéger.

Bonsoir à tous
@Hulk j’ai voulu tester ton script v2.0 sans aucun paramètre mais il me retourne deux erreurs

/usr/local/bin/CTparental.sh: 16: [: Illegal number: !
/usr/local/bin/CTparental.sh: 31: /usr/local/bin/CTparental.sh: Syntax error: “(” unexpected

[quote=“M.i.B”]Bonsoir à tous
@Hulk j’ai voulu tester ton script v2.0 sans aucun paramètre mais il me retourne deux erreurs

/usr/local/bin/CTparental.sh: 16: [: Illegal number: !
/usr/local/bin/CTparental.sh: 31: /usr/local/bin/CTparental.sh: Syntax error: “(” unexpected[/quote]

sa viens de l’interpréteur de commande choisi.
il faut utiliser bash et non sh.

mille excuse j’ai oublier un !
à la premier ligne du scripte.
qui permet de signifier au système quel interpréteur utiliser .

je le corrige de suite!
merci d’indiquer si le problème est bien résolut chez toi de cette manière.

Bonsoir à tous
@Hulk merci d’avoir corrigé le bug, le script fait ses mises à jour de liste noire seul ou faut-il effectuer cette tâche manuellement?

La mise a jours automatique est ajouter a partir de la version 2.40

Bonjour à tous

J’essaie de mettre en place le script CTparental.
Une fois l’installation terminée, j’ai - quelle que soit la commande choisie - un message comme celui-là :

[code] sudo /usr/local/bin/CTparental.sh -ubl
.

Application de la liste blanche (domaine réabiliter):.

  • Restarting DNS forwarder and DHCP server dnsmasq
    dnsmasq: failed to create listening socket for 127.0.0.1: Adresse déjà utilisée
    [fail]
    [/code]

J’ai été voir ce qui se trouve dans mes fichiers ossim.conf : rien, tout vide.

Quelqu’un sait-il ce que je dois faire ?
Merci d’avance,
MC

[quote=“MC_911”]Bonjour à tous

J’essaie de mettre en place le script CTparental.
Une fois l’installation terminée, j’ai - quelle que soit la commande choisie - un message comme celui-là :

[code] sudo /usr/local/bin/CTparental.sh -ubl
.

Application de la liste blanche (domaine réabiliter):.

  • Restarting DNS forwarder and DHCP server dnsmasq
    dnsmasq: failed to create listening socket for 127.0.0.1: Adresse déjà utilisée
    [fail]
    [/code]

J’ai été voir ce qui se trouve dans mes fichiers ossim.conf : rien, tout vide.

Quelqu’un sait-il ce que je dois faire ?
Merci d’avance,
MC[/quote]
cela semble être un problème avec dnsmasq, peut tu retourner le résultat de ces commandes (console admin ou via sudo).

ainsi que :
la distribution utiliser ??
ton poste est t’ils raccorder a plusieurs réseaux ??
a t’il déjà un serveur dhcp qui tourne dessus ??
personnellement je pencherais pour la dernier ligne au vue du message d’erreur.

le résultat de cette commande nous en dirais peut ètre un peut plus aussi.

Suis-je bête … ma distrib est une ubuntu 12.04 LTS, toute fraiche

cat /etc/dnsmasq.conf

[code] # Configuration file for “dnsmasq with blackhole”

Inclusion de la blacklist de Toulouse dans la configuration

conf-dir=/usr/local/etc/CTparental-dnsfilter-enabled

conf-file=/alcasar-dns-name # zone de definition de noms DNS locaux

no-dhcp-interface=eth0
bind-interfaces
cache-size=1024
domain-needed
expand-hosts
bogus-priv
server=127.0.0.1
server=[/code]

cat /usr/local/bin/CTparental.sh | grep version

[code]# version 2.01 correction de bug .

version 2.0 ajoute les restrictions horaire de login pour les utilisateurs. Compatible avec gdm lightdm slim kdm xdm et login ( connection console tty ).

version 1.04 ajout de fonction de white liste pour réabiliter des domaines bloquer par la blackliste de toulouse sans pour autemps enlever la categorie complette.

version 1.03 ajout de fonction de configuration des categories activées .

version 1.02 ajout du support pour yum , urpmi

version 1.01 ( ajoute une un “sens interdit” au lieux de “it works” pour les domaine bloqué.

présent dans le code du projet alcasar en version 2.6.1 ; web page http://www.alcasar.net/

[/code]

ifconfig -a

[code]eth0 Link encap:Ethernet HWaddr 00:0a:e4:ac:23:37
inet adr:192.168.1.10 Bcast:192.168.1.255 Masque:255.255.255.0
adr inet6: fe80::20a:e4ff:feac:2337/64 Scope:Lien
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
Packets reçus:5156 erreurs:0 :0 overruns:0 frame:0
TX packets:4764 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:2926756 (2.9 MB) Octets transmis:1453002 (1.4 MB)

eth1 Link encap:Ethernet HWaddr 00:13:ce:19:4d:e0
BROADCAST MULTICAST MTU:1500 Metric:1
Packets reçus:0 erreurs:0 :0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
Octets reçus:0 (0.0 B) Octets transmis:0 (0.0 B)

lo Link encap:Boucle locale
inet adr:127.0.0.1 Masque:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
Packets reçus:310 erreurs:0 :0 overruns:0 frame:0
TX packets:310 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:0
Octets reçus:29408 (29.4 KB) Octets transmis:29408 (29.4 KB)[/code]

ip route

default via 192.168.1.254 dev eth0 proto static 169.254.0.0/16 dev eth0 scope link metric 1000 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.10 metric 1 mc@Girls:~$ service --status-all [ ? ] acpi-support [ ? ] acpid [ ? ] alsa-restore [ ? ] alsa-store [ ? ] anacron [ - ] apparmor [ ? ] apport [ ? ] atd [ ? ] avahi-daemon [ ? ] bluetooth [ - ] bootlogd [ - ] brltty [ ? ] console-setup [ ? ] cron [ ? ] cups [ ? ] dbus [ ? ] dmesg [ ? ] dns-clean [ - ] dnsmasq [ ? ] failsafe-x [ ? ] friendly-recovery [ - ] gpsd [ - ] grub-common [ ? ] hostname [ ? ] hwclock [ ? ] hwclock-save [ ? ] irqbalance [ - ] kerneloops [ ? ] killprocs [ ? ] lightdm [ ? ] mini-httpd [ ? ] modemmanager [ ? ] module-init-tools [ ? ] network-interface [ ? ] network-interface-container [ ? ] network-interface-security [ ? ] network-manager [ ? ] networking [ ? ] ondemand [ ? ] passwd [ ? ] plymouth [ ? ] plymouth-log [ ? ] plymouth-splash [ ? ] plymouth-stop [ ? ] plymouth-upstart-bridge [ ? ] pppd-dns [ ? ] procps [ - ] pulseaudio [ ? ] rc.local [ ? ] resolvconf [ ? ] rfkill-restore [ ? ] rfkill-store [ - ] rsync [ ? ] rsyslog [ + ] saned [ ? ] sendsigs [ ? ] setvtrgb [ + ] sl-modem-daemon [ ? ] speech-dispatcher [ - ] stop-bootlogd [ - ] stop-bootlogd-single [ ? ] sudo [ ? ] udev [ ? ] udev-fallback-graphics [ ? ] udev-finish [ ? ] udevmonitor [ ? ] udevtrigger [ ? ] ufw [ ? ] umountfs [ ? ] umountnfs.sh [ ? ] umountroot [ - ] unattended-upgrades [ - ] urandom [ ? ] whoopsie [ - ] x11-common

netstat -anlp | grep -w LISTEN

tcp 0 0 127.0.0.10:80 0.0.0.0:* LISTEN 1077/mini-httpd tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 1006/dnsmasq tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 864/cupsd tcp6 0 0 ::1:53 :::* LISTEN 1006/dnsmasq tcp6 0 0 ::1:631 :::* LISTEN 864/cupsd

[quote=“MC_911”]Suis-je bête … ma distrib est une ubuntu 12.04 LTS, toute fraiche

cat /etc/dnsmasq.conf

[code] # Configuration file for “dnsmasq with blackhole”

Inclusion de la blacklist de Toulouse dans la configuration

conf-dir=/usr/local/etc/CTparental-dnsfilter-enabled

conf-file=/alcasar-dns-name # zone de definition de noms DNS locaux

no-dhcp-interface=eth0
bind-interfaces
cache-size=1024
domain-needed
expand-hosts
bogus-priv
server=127.0.0.1
server=[/code]

[/quote]
tu a un probablement de serveur dns “server=127.0.0.1” tu devrai avoir ici les serveurs
DNS de ton FAI.
n’aurait tu pas supprimer le fichier suivant.
/usr/local/etc/resolv.conf.sav ( ce fichier est importent est ne doit pas être supprimer )
si oui lance ces commandes:

poste le résultat du ls.
redémarre le pc
puis vérifie que tu accède bien Internet.
si c’est le cas :

est sauvegarde la réponse dans un fichier txt et poste la ici.
puis

normalement sa devrais marcher.

si tu n’a pas d’accéder Internet il faut résoudre ce problème avant d’installer le control parental

merci pour ces pistes, je regarderai ça demain ou Dimanche … je ne suis pas beaucoup chez moi en ce moment.
Sinon, à titre d’info, le PC, dans sa config actuelle a bien accès à internet :think: … mais c’est probablement géré par un widget quelconque. Je vais refaire la config réseau de bas niveau, donc. Et je vous dirais ce qu’il en est :slightly_smiling:

J’ai donc désinstallé le scritp, remis mon resolv.conf en forme avec mes DNS free, rebooté, vérifié que mon internet était toujours là, et réinstallé le script.

Lors de l’install, j’ai le même

* Starting DNS forwarder and DHCP server dnsmasq dnsmasq: failed to create listening socket for port 53: Adresse déjà utilisée [[color=#FF0000]fail[/color]]

mon resolv.conf a été vidé de son contenu, le dnsmasq.conf a retrouvé un server=127.0.0.1

Pour mémoire, le PC est installé du WE dernier. Aucun soft installé dessus, rien qui tourne sinon ce qu’il y a par défaut dans la distrib.

Je penche vers un problème avec NetworkManager, le gestionnaire de réseau d’Ubuntu … mon resolv.conf.sav ne contient pas mes serveurs DNS entrés manuellement tout à l’heure. Je le vire et je vous dis ce qu’il en est. Enfin si j’arrive à faire fonctionner le réseau comme un grand :wink:

C’était bien le paquet NetworkManager qui me pourrissait ma conf.

J’ai réussi à reconfigurer mon réseau à la main et à installer correctement CTparental … merci :slightly_smiling:
Il ne me reste plus qu’à découvrir son fonctionnement.

[edit]j’ai du mal à configurer le bouzin … j’ai filtré les catégories avec le -“cble”, fait un “-on” un “-rl” un “-ubl” mais je vois toujours tout ce que je veux !?
A quoi sert le fichier ossi.conf ?

/usr/local/etc/ossi.conf
ce fichier cert a ajouter de domaine en plus de ceux qui sont déjà dans la blacklist de Toulouse.
exemple:

[quote]toto.com
toto.toto.com[/quote]

je vais installer ubuntu 12.04 dans une VirtualBox histoire de voir d’où vient le problème.

normalement avec une install de base ( -i ) la catégorie adulte est actives ce qui bloque le site youporn.com par exemple.

si ce site est bien bloquer c’est que l’install fonctionne.
si tu rencontre d’autre domaine que tu veux bloquer ajoute les dans /usr/local/etc/CTparental-blackliste-local suivit d’un CTparental.sh -ubl .