74 - Control parental con tu Raspberry

74 - Control parental con tu Raspberry

Con GateSentry puedes montar en tu casa o donde tu quieras, un sencillo control parental con tu Raspberry, para proteger a los mas menores o a quien quieras

1:25
-3:15

Ojo, que hoy me voy a meter en un terreno realmente farragoso, como verás mas adelante. Creo firmemente en la educación por encima de la prohibición. En mostrar todos los caminos, explicando de forma constructiva los que se consideran buenos y los que se consideran malos, y las ventajas de los primeros frente a los segundos. Porque intentar ocultar los segundos, a los ojos de tus hijos es como intentar ponerle puertas al campo. Sin embargo, esto lo hago desde la distancia en tanto en cuanto no soy padre, con lo que para mi es muy sencillo predicar. Otro gallo cantaría si esta fuera mi situación. Sin embargo, lo que veo es que ante tanta oferta audiovisual la cosa se pone muy difícil. Así que en este sentido, he estado buscando una aplicación que pudiera ayudarte en el caso de que esté buscando una aplicación de control parental. Una solución para el control parental con tu Raspberry Pi.

Control parental con tu Raspberry

Control parental con tu Raspberry

Antes de meternos en faena

Antes de meternos en faena, y como hago todos los jueves, te cuento lo que he publicado esta semana. Se trata de dos artículos, bueno, realmente son dos capítulos de dos tutoriales.

El primero de los dos es un nuevo capítulo del tutorial sobre Systemd, y en particular está dirigido a journalctl. Esta herramienta te permite ver y gestionar los logs del sistema, y en particular, conocer que está pasando con tus servicios en Systemd.

El segundo, es a su vez el segundo capítulo del tutorial sobre scripting en Bash. Después de ver las razones por las que te debes introducir en el mundo del scripting, e incluso haber hecho tu primer hola mundo, vas a dar un paso mas. En este segundo capítulo podrás ver sobre variables en Bash. Aunque es un capítulo eminentemente teórico, he intentado conjugarlo con diferentes ejemplos para hacerlo lo mas ameno posible, dentro de lo árido que puede llegar a ser.

Sobre los nativos digitales

Seguro que en mas de una ocasión has oído hablar de los nativos digitales. Se trata de un término acuñado por el autor estadounidense Marc Prensky en 2011, refiriéndose a personas que han crecido con la red y el progreso tecnológico. Una generación nacida entre 1995 y el 2015, y que es posterior a los milenials.

Por otro lado, igualmente, seguro que has oído aquello de que se manejan con mucha soltura con los móviles, y otros dispositivos igual o mejor que tu, dependiendo de tu edad, claro.

Hoy en día, ves, incluso a un bebé, coge un móvil, y apañárselas para ver su propia serie en YouTube, o comenzar a jugar a su juego favorito, sin que tu le hayas dicho como hacerlo. Sin embargo, esto no tiene nada que ver con ser un nativo digital, esto tiene mas que ver con los desarrolladores que están detrás de estas aplicaciones y sistemas informáticos. Desarrolladores, que han sabido ver como implementar sus aplicaciones o sistemas operativos para que hasta un bebé sepa manejarlo.

Es posible que te preguntes que ¿porque a ti te cuesta mas? Si este es tu caso, te digo, que tu tienes que realizar un doble trabajo, y es des-aprender como hacías las cosas antes y aprender como hacerlas ahora. Ese bebé juega con ventaja.

¿Y porque te cuento todo esto? Hay quien piensa que, a un nativo digital no hay que enseñarles nada sobre tecnología, porque te va a dar sopa con ondas. Y nada mas lejos de la realidad. A un nativo digital hay que educarlo como a cualquier otra persona.

Control parental

En este sentido, durante un tiempo, he estado buscando una aplicación que nos ayude a gestionar las conexiones a internet desde el punto de vista del control parental. Estaba buscando una herramienta para gestionar el control parental con tu Raspberry Pi.

El funcionamiento, es relativamente sencillo, puesto que se trata de una aplicación que hará de proxy. Esto implica que deberás configurar en todos los dispositivos que quieras que tengan control parental este proxy. Con ello te quiero decir, que las posibilidades de esta medida como una solución para el control parental con la Raspberry Pi es limitada. Y digo que es limitada porque, en tanto en el usuario, cuanto tenga los suficientes conocimientos será capaz de cambiar la configuración para saltarse el proxy.

Sin embargo, para la mas tierna infancia es ideal. De esta forma podrás evitar, que por error entre donde no debería entrar. Por lo menos hasta que pueda entender los peligros que eso conlleva. Sobre todo para esto es para lo que lo veo una muy buena solución

GateSentry o el control parental con la Raspberry

¿Que es GateSentry? Es una aplicación, un sistema de filtrado web multiplataforma implementado en Go. Esta aplicación tiene su propio servidor proxy que permite tanto el filtrado HTTP como el HTTPS.

Entre las posibilidades multiplataforma que ofrece, está, por supuesto la Raspberry Pi, y es aquí donde creo, que hace un papel excepespectacular cional, puesto que con un consumo muy reducido de recursos, cumple excepcionalmente con su cometido, como tu mismo podrás comprobar.

Características de GateSentry como control parental con la Raspberry

Su propia interfaz web

Una de las grandes ventajas y facilidades que te ofrece GateSentry, es que trae su propio interfaz web. Un interfaz web desarrollado en React y que puedes gestionar con cualquier navegador.

Y digo que se trata de una ventaja y facilidad porque no necesitarás nada mas que GateSentry. No necesitas ninguna pieza adicional. Ni servidor web, ni servidor de bases de datos ni nada. Solo necesitas GateSentry.

Filtrado https

GateSentry soporta el filtrado de contenido en HTTPS. Ten en cuenta que https es un protocolo cifrado, con lo que esta característica no está soportada siempre en los sistemas de control parental.

El filtrado de contenido https lo hace mediante un ataque MITT a tu tráfico seguro. De cualquier forma, si esta característica no la necesitas puedes deshabilitarla desde el panel de administración de GateSentry.

En mi caso particular, no he conseguido que funcionara correctamente. No se si porque no lo he configurado como debía, o bien, porque en la versión que he instalado tenía algún error. Así que simplemente lo he deshabilitado.

Sistema de autentificación

GateSentry cuenta con su propio sistema de autentificación de usuarios. Un sistema en el que puedes añadir o borrar usuarios, así como habilitar o deshabilitar el acceso a internet.

Por supuesto, si no necesitas el sistema de autentificación de usuarios en tu propia red, puedes deshabilitarlo.

Acceso a internet basado en horario

Una de las características que tienen algunos sistemas de control parental es la restricción de uso de internet en base al horario. Es decir, que en función de la hora del día podrás o no, acceder a internet.

Así GateSentry te permite, mediante una tabla horaria, establecer las horas del día durante las cuales se puede o no se puede tener acceso a internet-

Bloqueo en función del tipo

Otra herramienta realmente interesante que pone GateSentry en tus manos es la de bloquear en función del tipo de archivo que se quiera acceder. Así, es posible deshabilitar el acceso a imágenes. Para hacerlo, tan slo tienes que bloquear los tipos mime image/png o image/jpeg. Al igual que esto puedes bloquear otros tipos de archivo.

Bloqueo remoto

Entre las características de GateSentry, puedes encontrar una, que te puede ser especialmente útil, sobre todo en esos momentos de rabieta, en el que terminas por decir, te quedas sin internet.

GateSentry te permite habilitar y desabilitar el acceso de un usuario a internet con un solo click. Esto lo puedes hacer desde el panel de gestión de la interfaz web.

Estadísticas

Como no podía ser menos, GateSentry, dispone de un interesante sistema de estadísticas. Eso si, para disfrutar plenamente de esta característica necesitarás tener habilitado el sistema de autentificación.

Si tienes habilitado el sistema de autentificación, podrás ver la cantidad de datos consumido por cada uno de los usuarios de tu red.

Configuración específica para la Raspberry

GateSentry registra todo el tráfico que pasa a través de la aplicación y lo guarda en un archivo llamado log.db. Se trata del típico archivo de registro, para que luego puedas hacer consultas sobre él y tener una idea de lo que está sucediendo en tu aplicación de control parental.

Si estás utilizando tu Raspberry desde USB como te comenté en el capítulo del tutorial sobre la Raspberry que dediqué a configurar la Raspberry desde USB, no tienes problema alguno.

Sin embargo, si utilizas la Raspberry con la tarjeta microSD conviene que ese archivo de registro, log.db lo muevas a la memoria. La cuestión es que las memorias SD son sensibles a muchas escrituras, y dejar log.db en la micro SD, puede llevar a que se corrompa. Dejando el archivo en memoria, te evitarás el problema de que se corrompa la SD, pero como contrapartida, en el caso de que tengas un corte de suministro eléctrico perderás toda la información.

Para cambiar la ubicación del archivo de registro lo tienes que hacer desde el panel de administración, en el apartado de configuración.

Instalación

Existen ejecutables tanto para Linux como para OSX. Simplemente lo tienes que descargar desde la página de GateSenty. O bien lo descargas desde la página de GateSentry, o bien sigues estas sencillas instrucciones,

mkdir ~/gatesentry
cd ~/gatesentry
wget https://blobs.abdullahirfan.com/file/gatesentry/gs-linux-arm
chmod +x gs-linux-arm
sudo ./gs-linux-arm -service install
sudo ./gs-linux-arm -service start

La penúltima instrucción instala GateSentry como un servicio. Mientras que la última instrucción lo inicia.

Primeros pasos con GateSentry

Una vez hayas instalado y puesto en marcha GateSentry, el siguiente paso es configurar tu Raspberry como proxy en cada uno de los dispositivos. Esto es tan sencillo como en el caso de Ubuntu, ir a Configuración > Red > Proxy de la red, y definir la opción Manual. Aquí tendrás que indicar la dirección IP de tu Raspberry Pi, y el puerto a utilizar. Así, por ejemplo en mi caso sería,

  • HTTP: 192.168.1.48:10413
  • HTTPS: 192.168.1.48:10413

En el caso de un móvil Android, la configuración se realiza a través de Configuración > WiFi > LaRedWiFi > Proxy. Donde LaRedWiFi es la red WiFi a la que estés conectado.

Una vez lo tengas configurado, en cada uno de los dispositivos, tan solo tienes que acceder a tu navegador de internet preferido. En ese momento te pedirá que introduzcas usuario y contraseña, escribe guest en ambos, siempre y cuando tengas activado la autentificación de usuarios.

La primera vez te pedirá que instales un certificado, simplemente lo descargas y lo instalas como el de cualquier otra entidad certificadora.

Para acceder al panel de configuración tienes que dirigirte a http://192.168.1.48:10786. Recuerda cambiar la IP a la que corresponde a tu Raspberry Pi. El credencial para acceder es usuario admin y contraseña admin.

Configuración de GateSentry

La configuración de GateSentry es muy sencilla. Una vez accedas al panel de configuración, tan solo te tienes que desplazar por las distintas secciones del panel lateral.

  • La primera de las secciones establece lo estricto que es GateSentry a la hora de bloquear páginas. De esta forma cuanto mas estricto mas páginas serán loqueadas.
  • Log Viewer te mostrará las peticiones mas recientes.
  • Block Times te muestra un calendario semana vista de horas donde puedes bloquear o permitir el acceso a internet. Para cambiar una hora de bloqueada a permitida, tan solo tienes que hacer clic sobre esa hora.
  • Settings. Te permite realizar algunos cambios básicos en la configuración. Estos cambios pueden ser la ubicación del archivo de log, que como te he indicado anteriormente es vital que lo cambies en la Raspberry desde micro SD. También puedes cambiar la contaseña de administrador y la posibilidad del filtrado de https.
  • Consumo de datos. En este apartado es donde puedes crear, modificar y borrar usuarios, así como habilitar el acceso a internet.
  • Report Bugs. Te abre un formulario de Google Docs para que informes de un bug, en caso de que lo encuentres.
  • Keywords to Block. Aquí puedes indicar las palabras que quieres que impidan que se cargue una página web. El problema lo tendrás en el caso de que el acceso a la página sea vía https, que entonces deberás utilizar la configuración que he indicado anteriormente.
  • Blocked urls. Aquí puedes definir todas las direcciones web de páginas que quieres que estén bloqueadas.
  • Bloqued file types. En este apartado puedes definir aquellos tipos de archivo que no quieres que se visualicen o descarguen.
  • Exception Hosts y Exception Urls puedes indicar tanto hosts como direcciones que quieres que estén exentas del bloqueo de esta aplicación de control parental.

Desinstalación

En el caso de que quieras desinstalar la aplicación, es tan sencillo como que desinstales el servicio y borres los archivos. Básicamente, si has seguido los pasos que te he indicado anteriormente, tan solo tienes que ejecutar las siguientes instrucciones,

cd ~/gatesentry
sudo ./gs-linux-arm -service uninstall
cd ..
sudo rm -rf gatesentry

Conclusión

Como has podido ver, y como tu mismo puedes comprobar, la instalación, configuración y uso de la aplicación es tremendamente sencillo. Precisamente este es algo que mas me atrae de esta aplicación. En pocos minutos la puedes instalar y probar, y sacar tus propias conclusiones, y sobre todo comprobar si la puedes utilizar como control parental con tu Raspberry, y si realmente se adapta a tus necesidades o no cumple las espectativas de lo que andas buscando.


Más información,

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *