logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Ceci est une ancienne révision du document !


Contrôle parental à l'aide de CTparental

Nota :

Contributeurs, les FIXME sont là pour vous aider, supprimez-les une fois le problème corrigé ou le champ rempli !

Introduction

Nous allons mettre en place un contrôle parental sur une debian 12 à l'aide de CTparental. Pour les versions précédentes de debian, d'autres tutos existent :

Je me suis largement inspiré de ces tutos dont je vais donner les grandes étapes, en insistant sur les points qui ont été bloquant dans mon contexte, et en ajoutant des tips de paramétrage qui m'ont été utiles.

Prérequis

Il faut disposer de deux comptes utilisateur sur le poste de travail : un compte enfant sans les droits administrateur et un parent avec les droits administrateur.

Si le poste de l'enfant est paramétré pour se connecter automatiquement à sa session au démarrage, il faut désactiver cette connexion automatique.

FIXME Certains tutos disent qu'il faut désactiver certain services qui seront pris en charge par CTparental. Je ne l'ai pas fait et ça fonctionne chez moi. Je vous laisse modifier ce tuto si vous constatez que cela est nécessaire pour certain services.

Installation de gdebi :

apt install gdebi
ATTENTION !
Il faut activer les dépôts testing et unstable et régler les priorités afin de régler certains soucis de dépendances non satisfaites avec debian 12. Cette modification doit être réalisée avec beaucoup de prudence si vous ne voulez pas rendre le système instable.

Pour éviter cela, il existe une série de tests que vous pouvez faire pour tester votre configuration, et de précautions à prendre.

Après avoir créé ou modifié votre fichier preferences, la première chose à faire est dans un terminal en root :

apt update

Puis vérifiez que vos modifications ont bien été prises en compte grâce à apt-cache policy.

Si les résultats affichés ne vous conviennent pas, vous risquez d'avoir une mauvaise surprise après une mise à jour…

On ajoute /etc/apt/sources.list.d/testing.list et /etc/apt/sources.list.d/unstable.list :

testing.list
deb https://deb.debian.org/debian/ testing main
unstable.list
deb https://deb.debian.org/debian/ unstable main

Modifier/éditer /etc/apt/preferences.d/pinning.pref :

pinning.pref
Package: *
Pin: release n=bookworm
Pin-Priority: 900
 
Package: *
Pin: release a=testing
Pin-Priority: 500
 
Package: *
Pin: release a=unstable
Pin-Priority: 100
ATTENTION !
On se souvient du warning précédent avant de continuer. Tout va bien ? Alors on continue en se rappelant que quoi qu'il advienne, vous êtes seul-e responsable ;-)

Installation

Visiter le site de téléchargement, choisir et télécharger la version qui vous convient. Il n'y a pas de version pour debian 12. J'ai choisi la version pour debian 11 full nginx.

On ouvre un terminal et on lance l'installation :

gdebi ctparental-full-nginx*.deb

Suivre les instructions dans le terminal :

  • Oui, on installe : O puis ↵ Entrée
  • ne pas modifier le codage clavier ↵ Entrée

…on patient…plus ou moins longtemps…on va boire un café…on se gratte le nez…

  • on crée l'identifiant pour administrer le contrôle parental + ↵ Entrée
  • on crée le mot de passe + ↵ Entrée
  • on confirme le mot de passe + ↵ Entrée

Et voilà, à ce stade, c'est opérationnel.

Utilisation

Pour l'utilisation, je ne vais pas réinventer la roue, je vous renvoie vers ce lien pour la configuration et celui-ci pour l'administration.

Bonus ouverture de ports

On rembobine l'histoire et on reprend la fin de l'install :

….blablabla….

  • on confirme le mot de passe + ↵ Entrée

Et voilà, à ce stade, c'est opérationnel.

…Ou pas ! :-)

Si, comme moi, vous aviez une politique d'accès bien définie via nftables, et bien du coup, non, ça n'est pas opérationnel car CTparental a pris la main sur nftables et votre configuration passe désormais par lui.

On édite le fichier /etc/CTparental/nftables.conf, on ajoute ses règles et on exécute la commande suivante :

CTparental -ipton

Accès distant à l'interface

Partons de la situation suivante : vos enfants ont des PC identifiés sur le réseau local par un nom d'hôte et une ip connus. Lorsque vous réalisez un ping depuis n'importe quel poste sur le réseau local vers le nom d'hôte de l'un d'eux, celui-ci fonctionne et tape bien dans l'ip voulue. Vous pouvez faire cela en modifiant les fichiers /etc/hosts de tous vos postes ou directement sur votre routeur. Ça n'est pas obligatoire mais c'est pratique.

Éditer le fichier /etc/nginx/sites-enabled/ctparental.conf et ajouter/modifier les lignes contenant IP_POSTE_ENFANT ou HOSTNAME_POSTE_ENFANT dans mon exemple ci-dessous :

server {
    listen 127.0.0.11:80 ;
    listen IP_POSTE_ENFANT:80 ;
    listen [fd00::127:11]:80 ;
    return 301 https://$host$request_uri;
}


server {
**#    server_name admin.ct.local;**
**    server_name HOSTNAME_POSTE_ENFANT;**
    # SSL configuration
    #
    #ssl on;
    listen 127.0.0.11:443 ssl ;
    listen IP_POSTE_ENFANT:443 ssl ;
    listen [fd00::127:11]:443 ssl ;
    ssl_certificate /etc/ssl/private/admin.ct.local.pem;
    ssl_certificate_key /etc/ssl/private/admin.ct.local.pem;
    root /var/www/CTadmin;
    index index.html index.php;

    location / {
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;
    }

    # pass PHP scripts to FastCGI server
    #
    location ~ \.php$ {
        fastcgi_read_timeout 180;
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php-fpm.sock;
    }
    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    location ~ /\.ht {
        deny all;
    }
}

server {
    server_name duckduckgo.com ;
    # SSL configuration
    #
    # ssl on;
    listen 127.0.0.11:443 ssl ;
    listen IP_POSTE_ENFANT:443 ssl ;
    listen [fd00::127:11]:443 ssl ;
    ssl_certificate /etc/ssl/private/duckduckgo.pem;
    ssl_certificate_key /etc/ssl/private/duckduckgo.pem;
    return 301 https://safe.duckduckgo.com$request_uri;
}

server {
    server_name www.qwant.com ;
    # SSL configuration
    #
    # ssl on;
    listen 127.0.0.11:443 ssl ;
    listen IP_POSTE_ENFANT:443 ssl ;
    listen [fd00::127:11]:443 ssl ;
    ssl_certificate /etc/ssl/private/qwant.pem;
    ssl_certificate_key /etc/ssl/private/qwant.pem;
    return 301 https://www.qwantjunior.com$request_uri;
}

Recharger le service nginx :

systemctl restart nginx.service

Il ne vous reste plus qu'à rentrer l'adresse https://HOSTNAME_POSTE_ENFANT dans votre navigateur pour gérer sa connexion depuis votre poste de travail.

1)
N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/ctparental.1694084764.txt.gz · Dernière modification: 07/09/2023 13:06 par mazkagaz

Pied de page des forums

Propulsé par FluxBB