Control Parental en Linux

Trucos y Utilidades 19 de ene. de 2023

Cómo configurar un control parental en un equipo con GNU/Linux

Hoy en día los sistemas operativos incluyen una herramienta de Control Parental, para permitir un uso responsable y en un entorno más o menos controlado para la seguridad de los hijos.

Hace tiempo, cuando mis hijos eran pequeños, probé las herramientas de control parental y en ese momento una de las mejor integradas con el sistema operativo era la de MacOS, la de Windows era caótica, poco práctica, poco efectiva y su gestión era un engorro, las de Linux, tampoco eran una maravilla.

Sin embargo han pasado los años y las herramientas para control parental de Linux han mejorado mucho y sus asistente son realmente sencillos y cómodos.

Control de Tiempo de Uso y Franja de Tiempo permitida

Vamos a usar la herramienta timekpr-next, es una evolución y mejora de la anterior herramienta timekpr, que fue abandonada.

Lo primero será crear una nueva cuenta de usuario para el menor en nuestro equipo, es realmente sencillo solo hay que crearlo desde el menú de Configuración en el apartado de Usuarios y Grupos.

Creamos una cuenta para gestionarla con el Control Parental

Luego como root procederemos a instalar la aplicación timekpr-next

apt-get -y install timekpr-next

En nuestro menú de Aplicaciones nos aparecerá la aplicación, para usarla nos pedirá la clave de root para poder aplicar las configuraciones necesarias

El uso principal de esta aplicación es el control del tiempo de uso que puede hacer un usuario, se puede indicar a que horas se puedo o no usar el equipo, limitar el uso de horas diarias, mensuales, etc, y si es necesario ampliar para casos excepcionales los límites de tiempo.
Además soporta todos los escritorios disponibles actualmente.

Administrando límites de tiempo de uso y franja de uso

Al usuario que tenga aplicado el control de tiempo, le aparecerá en la bandeja del sistema el tiempo usado y cuanto tiempo restante le queda.

Filtrado de Navegación Web

Usaremos la herramienta Privoxy, una herramienta libre y gratuita, que dispone de un menú de administración vía web.

Su instalación también es realmente sencilla, basta con ejecutar como root:

apt-get -y install privoxy

Esta herramienta es tan potente que incluso se usa como cortafuegos en algunas oficinas, incluso permite eliminar anuncios y diferentes banners o pop-up que suelen saltar en la navegación.

Permite usar una pagina web ficticia, creada para cuando se intente acceder a un sitio bloqueado.

Permite gestionar la configuración de modo individual para cada uno de los usuarios que hacen uso del equipo.

Lo primero que haremos será habilitar los logs para poder analizar la navegación y poder afinar el filtrado de este servicio Privado de Proxy.

Como root editamos el fichero /etc/privoxy/config y descomentamos (quitamos las almohadillas '#') de las lineas:

debug     1 # Log the destination for each request.
debug  1024 # Log the destination for requests Privoxy didn't
debug  4096 # Startup banner and warnings
debug  8192 # Non-fatal errors

Reiniciamos el servicio de privoxy mediante:

systemctl restart privoxy

Otras acciones para el usuario con control parental:

Iniciar nosotros por primera vez sesion

Configurar firefox y definir proxy 127.0.0.1 en puerto 8118

Cerrar firefox y proteger prefs.js de firefox del usuario con atributos de no borrado/modificacion

Configuración de Privoxy para cada usuario, por ejemplo para el usuario al que vamos a aplicar el Control Parental

La configuración se realiza desde una URL local: http://config.privoxy.org/

URL Local de privoxy
Configurando privoxy

A mi personalmente me gusta que los perfiles de Firefox estén identificados por el nombre del usuario (es algo personal), para ajustar el nombre, nos cambiamos al directorio /home/<usuario>/.mozilla/firefox y allí veremos un fichero que tiene por nombre profiles.ini, lo modificamos para que apunte al usuario de ese perfil:

[Profile0]
Name=default
IsRelative=1
Path=usuario
Default=1

[General]
StartWithLastProfile=1
Version=2

[Install6AFDA46A1A8AD48]
Default=usuario
Ajustamos profiles.ini

Y cambiamos de nombre el directorio que aparece en Path por el del nombre del usuario

La ultima acción a realizar es bloquear el fichero de preferencias para que el menor no pueda cambiar la opción del proxy. Eso se realiza fijando un atributo especial en el fichero prefs.js para que no lo pueda modificar:

# Nos vamos a la ruta del usuario
/home/usuario/.mozilla/firefox/usuario

# Copia de seguridad de sus preferencias actuales
cp -a prefs.js prefs.js.BACKUP
# Protegemos el fichero para que no se pueda modificar
sudo chattr +i prefs.js
Protegiendo prefs.js

Evitar ejecución de ciertos programas

Si queremos además evitar que la persona a la que hemos definido el control parental pueda además ejecutar ciertos programas usaremos la aplicación malcontent:

sudo apt -y install malcontent malcontent-gui

Esta aplicación evita no solo la ejecución de las aplicaciones que defininamos sino que incluso permite seleccionar la idoneidad por edad de las aplicaciones a usar:

Restringir uso de aplicaciones con 'malcontent'

Resumen de aplicaciones usadas

Para un Control Parental completo en Linux hemos tenido que usar tres aplicaciones:

  • Control de tiempo de uso: timekpr-next
  • Navegación segura: privoxy
  • Restricción de uso de aplicaciones y ajuste por edad: malcontent-gui

Etiquetas

Luis GuLo

🐧 SysAdmin GNU/Linux - 🐳 Docker - 🖥️ Bash Scripting - 🐪 Perl - 🐬 MySQL - 👥 Formador de TI - 👥 Formador de SysAdmin's - 💢 Ansible - ☁️ Cloud Computing - ❤️ Debian GNU/Linux