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

on dirai que tu a un problème de lancement du service lighttpd .
regarde si tu a perl d’installer, je suis sous testing ou il est installer par default, manque peut être sous debian stable.

tu a peut ètre encore des trace d’anciennes version du scripte notamment , mini-httpd et peut ètre encore installer et rentre en conflit avec lighttpd.

par contre si c’est sur le même pc , que l’install a marcher , je comprend pas ?
normalement il n’y a aucun rapport entre les cartes ethx ou wlanx et lighttpd , vue qu’on le tape en local.
si tu a le temps retourne aussi les fichiers de log de lighttpd.

Après vérification j’avais bien mini-httpd installé, problème wifi résolu.
Encore merci pour ton travail.

Bon supper :slightly_smiling:.
Mais pour info , j’ouvre un file sur Support Debian car c’est plus adapter pour tous ce qui est débogage du script plutôt que dans Trucs et Astuces.
bug-ctparental-sh-t46554.html

Oups j’avais pas vu le fil pour le deboggage.

Grand merci @hulk pour ce script très pratique. Ça vaudrait d’ailleurs peut-être le coup de lui donner plus de visibilité via un dépôt GitHub ou autre.

Serait-il possible d’intégrer quelques éléments de configuration complémentaires permettant de forcer le mode SafeSearch de Google. Pour ce que j’en comprends, d’après les explications de cette page, ça devrait être possible avec l’outillage actuel de CTparental. Mais je n’ai pas de certitudes vu mes compétences réseau.

Merci par avance,

_g.

Re,

Alors voilà, j’ai pas mal grenouillé, mais j’ai trouvé une config satisfaisante, qui a le mérite d’être complémentaire à CTparental. En résumé :
[ol]
[li]Forcer l’utilisation d’un proxy via des règles iptables[/li]
[li]Configurer le proxy avec squid + squidGuard pour forcer le mode SafeSearch des moteurs de recherches en ré-écrivant les URL concernés[/li]
[li]Ajout d’un fichier google.conf à la configuration dnsmasq de CTparental pour empêcher les recherches Google via SSL qui contourneraient la protection précédente[/li][/ol]

Forcer l’utilisation d’un proxy via des règles iptables
J’utilise les règles iptables suivantes pour chacun des comptes concernés :

iptables -A OUTPUT -m owner --uid-owner "$user" -d localhost -j ACCEPT
iptables -A OUTPUT -m owner --uid-owner "$user" -j DROP

De cette façon, si l’utilisateur veut surfer sur le Net il n’a pas d’autre choix que de configurer l’usage du proxy dans son navigateur.

squid + squidGuard
[ol]
[li]Installation de squid avec la configuration minimale suivante:

acl SSL_ports port 443 563 acl Safe_ports port 80 # http acl Safe_ports port 21 # ftp acl Safe_ports port 443 563 # https 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 631 # cups acl Safe_ports port 777 # multiling http acl PURGE method PURGE acl CONNECT method CONNECT http_access allow all http_port localhost:3128 coredump_dir /var/spool/squid3 url_rewrite_program /usr/bin/squidGuard -c /etc/squidguard/squidGuard.conf url_rewrite_children 10 startup=0 idle=1 concurrency=0 refresh_pattern ^ftp: 1440 20% 10080 refresh_pattern ^gopher: 1440 0% 1440 refresh_pattern -i (/cgi-bin/|\?) 0 0% 0 refresh_pattern . 0 20% 4320 cache_effective_user proxy cache_effective_group proxy
Je ne connais pas grand’chose à cet outil. Pour ce que j’en comprends, on peut probablement conserver la config par défaut proposée par Debian, et ne s’attacher qu’au paramétrage [mono]http_port[/mono] et [mono]url_rewrite_*[/mono].
[/li]
[li]Installation de squidGuard avec la config suivante :

dbhome /var/lib/squidguard/db logdir /var/log/squidguard rewrite search_engine { s@(.*\.google\..*/(custom|search|images|groups|news)?.*q=.*)@\1\&safe=strict@i s@(.*\..*/yandsearch?.*text=.*)@\1\&fyandex=1@i s@(.*\.yahoo\..*/search.*p=.*)@\1\&vm=r@i s@(.*\.live\..*/.*q=.*)@\1\&adlt=strict@i s@(.*\.msn\..*/.*q=.*)@\1\&adlt=strict@i s@(.*\.bing\..*/search.*q=.*)@\1\&adlt=strict@i } acl { default { pass all rewrite search_engine } }
J’ai récupéré les snippets rewrite sur ce post.[/li][/ol]

Empêcher le coutournemant de SafeSearch par SSL
En gros ça consiste à ajouter une conf dnsmasq pour rediriger [mono]www.google.com[/mono] vers [mono]nosslsearch.google.com[/mono]. Facile, mais là où ça se complique c’est qu’il faut le faire pour tous les pays :open_mouth:
Heureusement, Google nous donne tous ses TLD sur cette page. Je n’ai donc eu qu’à faire :

wget -q -O - http://www.google.com/supported_domains | sed 's:^:address=/www:;s:$:/216.239.32.20:' >/usr/local/etc/CTparental/google-tld.conf

Où [mono]216.239.32.20[/mono] correspond à [mono]nosslsearch.google.com[/mono].
Puis j’ai ajouté les lignes ci-dessous à la configuration dnsmasq :

address=/encrypted.google.com/127.0.0.10 conf-file=/usr/local/etc/CTparental/google-tld.conf

Voili voilà, ça a l’air de marcher. Mais je suis preneur de tout complément ou simplification !

Hope this helps…

oui j’avais déjà penser a la possibilité d’ajouter , un proxy , type tinyproxy couplé à squidguard , avec un paramétrage iptables , mais j’ai pas trop le temps en ce moment.

si non j’ai ajouter un dépôt git lien ci dessous.
c’est mon premier dépôt git , je conne pas encore trop bien l’outil aussi, il n’est peut être pas bien structurer …

https://github.com/marsat/CTparental

Merci ! Je vais jeter un oeil.

En regardant la doc afin de déterminer le meilleur moyen d’insérer mes extensions, je tombe sur:

[quote]-gcton => créer un group de privilégier ne subisent pas le filtrage.
mais ralenti les ouvertures de sessions, quant on passe d’un user restraint a un qui ne l’est pas
est inversement.[/quote]
Vu que je commence à apprécier iptables, je me dis qu’il y a moyen d’utiliser cet outil pour simplifier la gestion du groupe d’utilisateurs privilégiés, sans avoir à touiller dans la conf des gestionnaires de session pour démarrer / stopper CTparental à chaque bascule d’utilisateur.

Voici l’idée :

  • on ne touche plus à /etc/resolv.conf
  • dnsmasq écoute sur le port 54
  • règle iptables par défaut redirige les requêtes de 53 vers 54 pour forcer l’utilisation de dnsmasq
  • règles iptables complémentaire pour ne pas rediriger les utilisateurs privilégiés.

Voici ce que ça donne pour iptables:

/sbin/iptables -t nat -N ctparental /sbin/iptables -t nat -A OUTPUT -j ctparental if ctoff_entry=$(/bin/grep '^ctoff:' /etc/group); then priviledged_users=$(echo "$ctoff_entry" | /usr/bin/awk -F: '{print $4;}' | /bin/sed 's/,/ /g') for user in $priviledged_users; do /sbin/iptables -t nat -A ctparental -m owner --uid-owner "$user" -p tcp --dport 53 -j ACCEPT /sbin/iptables -t nat -A ctparental -m owner --uid-owner "$user" -p udp --dport 53 -j ACCEPT done fi /sbin/iptables -t nat -A ctparental -p tcp --dport 53 -j DNAT --to 127.0.0.1:54 /sbin/iptables -t nat -A ctparental -p udp --dport 53 -j DNAT --to 127.0.0.1:54

Et pour revenir en arrière :

/sbin/iptables -t nat -D OUTPUT -j ctparental /sbin/iptables -t nat -F ctparental /sbin/iptables -t nat -X ctparental

[quote=“pini”]

Sujet du message:  	Re: Contrôle parental pour le pc debian de vos enfants :slightly_smiling: 	 Répondre en citant le message

En regardant la doc afin de déterminer le meilleur moyen d’insérer mes extensions, je tombe sur:
Citation:
-gcton => créer un group de privilégier ne subisent pas le filtrage.
mais ralenti les ouvertures de sessions, quant on passe d’un user restraint a un qui ne l’est pas
est inversement.

Vu que je commence à apprécier iptables, je me dis qu’il y a moyen d’utiliser cet outil pour simplifier la gestion du groupe d’utilisateurs privilégiés, sans avoir à touiller dans la conf des gestionnaires de session pour démarrer / stopper CTparental à chaque bascule d’utilisateur.

Voici l’idée :

  • on ne touche plus à /etc/resolv.conf
  • dnsmasq écoute sur le port 54
  • règle iptables par défaut redirige les requêtes de 53 vers 54 pour forcer l’utilisation de dnsmasq
  • règles iptables complémentaire pour ne pas rediriger les utilisateurs privilégiés.[/quote]

Tous sa ma l’aire très bien , je savais pas qu’on pouvais associer des règles iptables a un uid , c’est très pratique :slightly_smiling:.
j’ajouterai que sa vas résoudre pas mal de problème de compatibilité sur les autres distributions.
car une grande partie d’entre eux provenaient de ces touillages dans la conf des gestionnaires de session.
en plus sa supprime une dépendance a “resolvconf” , et évite les magouille pour les distribution qui ne l’on pas.
pour le proxy on pourrais aussi le rendre transparent grasse a une règle iptables, dans le même esprit que pour dnsmasq
mais redirigent vers le port d’écoute du serveur proxy, mais je pense que la tu y arriveras mieux que moi.
pour le choix du serveur proxy je pence que tinyproxy + dansguardian et peut être plus adapter que squid car sur des petites configurations, l’ajout d’un serveur squid pourrais ralentir la connexion internet.
voici ce que je compter adapter quant j’avais étudier cette solution.
pilpi.net/journal/2006/03/se … ng-ubuntu/

[quote=“hulk”]
Tous sa ma l’aire très bien , je savais pas qu’on pouvais associer des règles iptables a un uid , c’est très pratique :slightly_smiling:.
j’ajouterai que sa vas résoudre pas mal de problème de compatibilité sur les autres distributions.
car une grande partie d’entre eux provenaient de ces touillages dans la conf des gestionnaires de session.
en plus sa supprime une dépendance a “resolvconf” , et évite les magouille pour les distribution qui ne l’on pas.
pour le proxy on pourrais aussi le rendre transparent grasse a une règle iptables, dans le même esprit que pour dnsmasq
mais redirigent vers le port d’écoute du serveur proxy, mais je pense que la tu y arriveras mieux que moi.
pour le choix du serveur proxy je pence que tinyproxy + dansguardian et peut être plus adapter que squid car sur des petites configurations, l’ajout d’un serveur squid pourrais ralentir la connexion internet.
voici ce que je compter adapter quant j’avais étudier cette solution.
pilpi.net/journal/2006/03/se … ng-ubuntu/[/quote]

Alors le proxy transparent c’est pas possible, car ça implique de faire le ‘man in the middle’ (avec certificat self signed et tout et tout) pour le https.

Pour ce qui est du proxy, je pensais à ‘polipo’. C’est un poil plus lourd que tinyproxy, mais ça me semble un bon compromis. En particulier polipo est compatible avec squidguard. Voici les tailles par outil :

$ apt-cache show tinyproxy polipo squid3 | grep -i size Installed-Size: 218 Size: 87510 Installed-Size: 725 Size: 179444 Installed-Size: 5869 Size: 1798366

Hum oups… J’ai pris trop de café. Je me rends compte que CTparental utilise déjà cette méthode. Désolé pour le bruit ! /o\

[quote]Il y a aussi une solution pour la gestion des créneaux horaires sans toucher aux sessions : pam_time. J’ai grapillé quelques liens qui correspondent à notre cas d’utilisation :
[] skindley.wordpress.com/2006/12/1 … s-by-time/
[
] askubuntu.com/questions/68918/ho … uting-time
[*] serverfault.com/questions/139789 … tain-users

Je me pencherai là-dessus après les vacances :slightly_smiling:[/quote]

oui CTparental utiliser pam_time pour les heure de connexion autorisé ,par contre, pour le temps max/24h , c’est une bidouille avec cron qui lance CTparental -uctl toute les minutes.
voir fonction updatetimelogin qui en gros regarde qui est connecter au pc et incrémente sont temp total de connexion. puis vérifie qu’il n’a pas dépasser son cota, verrouille sont compte et ferme sa session le cas échéant.
puis vérifie si on a changer de journée, pour déverrouiller les comptes et initialiser les compteurs.

Pour le calcul de la durée de connexion sur une période donnée ça vaudra peut-être le coup de regarder du côté de la commande [mono]last[/mono]:

$ last -F pini | grep ' tty[0-9]' | grep ' :[0-9]*' pini tty7 :0 Sun Mar 2 21:20:13 2014 still logged in pini tty7 :0 Sun Mar 2 20:22:27 2014 - Sun Mar 2 21:17:02 2014 (00:54) pini tty7 :0 Sun Mar 2 20:16:54 2014 - Sun Mar 2 20:19:55 2014 (00:03) pini tty7 :0 Sun Mar 2 19:15:40 2014 - Sun Mar 2 20:13:37 2014 (00:57)

je sais pas il faut dans tous les cas une commande toutes le minutes pour voir si l’utilisateur est toujours connecter, désactiver son compte , et le déconnecter le cas échéant.
who me parai plus facile a l’utilisation surtout pour le calcule du temps , un simple incrément de 1 suffit.
certes on est pas précis a la secondes avec cette méthode mais, on en a pas vraiment besoins .
le code qui résulterait de l’utilisation de last , serais trop compliquer a mon goût.

Bonjour à tous

J’ai un problème de connexion avec internet.

Alors récapitulatif: J’ai UBUNTU 12.04 depuis presque un an sur mon nouveau PC Portable.
Et depuis j’installe régulièrement des UBUNUTU et LINUX MINT autour de moi sur des PC ancien ou nouveau.

J’ai donc installé LINUX MINT MATE MAYA sur l’ordi des enfants en remplaçant WIN XP!!!

J’ai créé trois sessions: admin, ado et enfant
J’ai voulu mettre en place un filtrage car je n’ai pas trouvé de solution avec mon FAI (SFR) et son contrôle parental associé.

Je me suis donc tourné vers les forums et je pense avoir mal manipé avec CTparental et DNSMASQ.
J’ai réussi à installé CTparental et à le configurer. Mais je voulais changer la config de connexion heure/jour mais je n’arrive plus à me connecter sur la page internet.
Forcément car je ne suis plus dans la plage horaire même en étant superutilisateur!!!

J’ai donc décidé de le supprimer mais pas de retour à la normal et connexion internet aléatoire!!!

Pouvez vous m’aider?

J’espère avoir été assez clair!

Merci à tous.

Neutehouse

ps: J’ai malheureusement créé un autre sujet avec le même message.

pour les bugs c’est par la stp.
bug-ctparental-sh-t46554.html#p485523

bonjour
tout d’abord un grand merci pour ce script

sous Debian 8
j’ai installé la blacklist de Toulouse
ça fonctionne bien
toutefois je souhaite pouvoir accéder à un site bloqué
je l’ai ajouté sur 127.0.0.1:CTadmin
j’ai enregistré
je me suis déconnecté en tant qu’utilisateur
je me reconnecte et le site est toujours intedit d’accès
comment dois je m’y prendre ?
merci pour vos réponses

[quote=“coucou91700”]bonjour
tout d’abord un grand merci pour ce script

sous Debian 8

je me suis déconnecté en tant qu’utilisateur
je me reconnecte et le site est toujours intedit d’accès
comment dois je m’y prendre ?
merci pour vos réponses[/quote]

as-tu effacé le cache de ton navigateur cela peut venir de là, sinon :
1-dans un terminal en root lance cette commande.

2-cela ne marche toujours pas .
retourne le résultat de ces commandes en root

bonjour,

merci pour ta réponse je regarde ce soir

cdt