jueves, mayo 07, 2015

Control Parental con Latch: Cómo gestionar el uso de Internet por los menores

El control parental es una característica que permite tener una supervisión sobre la navegación o acciones que un usuario puede realizar, por ejemplo, la lista de sitios a los que se puede conectar en Internet. Esta característica nace de la necesidad de poder decidir qué contenidos o qué páginas pueden ser visitados o no en cada instante de tiempo. El uso del Control Parental no está ligado solamente a contenido, sino que también puede ser utilizado para evitar que se acceda a algunos sitios como redes sociales, o servidores de juegos con el objeto de que el usuario “no pierda su valioso tiempo” en horas en las que deberías estar estudiando.

Figura 1: Control parental con Latch usando el plugin Latch Firewall

En este artículo vamos a contar cómo se puede establecer un sistema de Control Parental utilizando Latch y el plugin de Latch para el Firewall de Windows que se presentó en el Latch Plugin Contest de este año. En el caso del control parental con Latch, el tutor o poseedor del control parental sólo podrá gestionar las conexiones con los sitios web, y en ningún caso podrá obtener información sobre el contenido o navegación dentro de los límites marcados.

Figura 2: Esquema de control parental con Latch el plugin Latch Firewall

Con el control parental se puede pensar que existe una pérdida de la privacidad y es algo que no es cierto en este caso. El usuario que se encuentra bajo el control parental podría tener toda su privacidad intacta, mientras que el usuario poseedor del control puede verificar a qué sitios se puede conectar y a que horas. Esto es importante ya que la privacidad no se ve afectada, el contenido que se consulta será privado para el usuario. En el caso de un intento de acceso a un sitio prohibido, el usuario que maneja el control parental obtendrá información solo sobre el intento de acceso.

Compilación e instalación de Latch Firewall

El plugin desarrollado por Ignacio Cabra se encuentra disponible en Github. Cualquier usuario puede descargar, leer, compilar el código del plugin, el cual es un proyecto en .NET. Hay que tener algunas cosas en cuenta a la hora de realizar la compilación del binario con .NET.


Figura 3: Funcionamiento de Latch Firewall

Para este ejemplo se ha utilizado Microsoft Visual Studio 2013 y cuando se ejecuta la opción New Project hay que seleccionar en ‘Installed’ la opción ‘Other Project Types’ y seleccionar ‘Setup and Deployment’. Una vez aquí, como se puede visualizar en la imagen, se debe seleccionar ‘InstallShield Limited Edition Project’.

Figura 4: Configuración de la compilación de Latch Firewall en Visual Studio 2013

En algunas versiones puede ser que tengamos que hacer un pequeño cambio en el fichero LatchFirewallCore.cpp, cambiando la línea ‘#include “windivert.h”’ por ‘#include “Libs/windivert.h”’.

Figura 5: Instalación de Latch Firewall en un equipo

Tras asegurarnos de esto, deberíamos compilarlo y obtener el fichero setup.exe, que es el instalador de Latch Firewall. Ahora ejecutamos el instalador y realizamos la correcta instalación. Se debe hacer con una cuenta de administrador que no tenga que ver con la cuenta de usuario de la persona tutorizada

Darse de alta en Latch y crear aplicación

Una vez que tenemos instalada la aplicación nos vamos a crear una cuenta para poder utilizar Latch. El sitio web de Latch proporciona información para crear una cuenta y una vez dentro de la cuenta crear una aplicación. Para crear la aplicación desde el área de desarrolladores la crearemos.

Figura 6: Creación de una aplicación en el área de desarrolladores de Latch

Al darle al botón ‘Añadir una nueva aplicación’ podremos indicar el nombre de la aplicación que queremos crear, por ejemplo Latch Control Parental.

Figura 7: App de Latch Control Parental

Cuando generamos la nueva aplicación veremos unos términos que deben sonarnos familiares si hemos trabajado ya con Latch, como son el Application ID y el Secret. Estos dos valores son fundamentales y deberemos configurarlos más adelante en nuestra aplicación instalada Latch Firewall.

Configuración de parámetros en Latch Firewall y pairing

Ahora, abriendo la aplicación Latch Firewall nos encontramos con un botón denominado ‘Latch Management’. Esta funcionalidad permite indicar el Application ID y el Secret de la aplicación que hemos creado en nuestra cuenta de desarrollador de Latch. Además, en esta ventana tenemos que realizar el pairing.

Figura 8: Latch Settings en Latch Firewall

Una vez realizado el pairing con la aplicación móvil de Latch, vamos a estudiar la estrategia que se quiere implementar. Nos aprovecharemos de los Operation ID, que son operaciones que quedan englobadas con un Application ID. Es decir, podemos generar N operaciones bajo la aplicación Latch Control Parental que hemos creado.

Para crear una operación en una aplicación vamos al área de desarrolladores de Latch y seleccionamos la aplicación que hemos creado. En la parte inferior tenemos la opción ‘Operaciones’ y podemos añadirlas desde ahí. Nos piden un nombre para la operación, y en este caso vamos a agrupar el uso de redes sociales bajo una misma operación en Latch. Con esto conseguimos que el tutor pueda bloquear todas las redes sociales que configure en Latch Firewall simplemente con una operación.

Figura 9: Operación para controlar las conexiones a redes sociales con Latch Firewall

Esta acción genera un Operation ID que utilizaremos posteriormente en Latch Firewall. Ahora, tenemos que definir en Latch Firewall, pulsando en el botón ‘Add’, la regla que queremos generar. Como se ha comentado queremos agrupar distintas redes sociales bajo una misma operación, por lo que el Operation ID lo repetiremos por cada dirección IP que queramos englobar.

Configuración de Reglas en Latch Firewall

Cuando abrimos la opción ‘Add’ en Latch Firewall nos encontramos con un formulario con diversos campos. A continuación se explica qué es cada campo y qué se debe indicar:

Figura 10: Interfaz de gestión de Latch Firewall
Tipo de conexión: Este campo indica si la conexión se genera desde la máquina hacia fuera, desde el exterior hacia la máquina o si la regla se aplicará en ambos sentidos. 
Dirección IP origen: Si la dejamos en blanco, sería cualquier dirección IP origen. Esto puede ser útil cuando la IP es dinámica o privada. 
Dirección IP destino: Aquí indicaremos la dirección IP de los sitios web que queremos configurar. 
Puerto origen y destino: Si dejamos el valor en 0 sería cualquier puerto. 
Tipo de protocolo: Se puede elegir entre conexiones TCP y UDP. En nuestro caso utilizaremos el protocolo TCP. 
Comentario: Este campo permite indicar algo descriptivo para que en el panel de resumen de reglas tengamos claro lo que realiza la regla. 
Operation ID: Aquí debemos introducir el Operation ID que hemos creado en la aplicación de Latch en el área de desarrolladores.
Figura 11: Configuración de una regla para Latch Firewall

Ahora, si abrimos la aplicación de Latch para nuestro dispositivo móvil y accedemos a la aplicación de Latch Control Parental podemos visualizar una nueva operación denominada redes sociales. Hemos latcheado la regla de ‘Red Social: Facebook’ con esta operación, por lo que cuando bloqueemos desde Latch esta operación, el usuario no podrá navegar desde el equipo dónde se encuentra Latch Firewall a la página de Facebook.

Figura 12: Regla de control en Latch para las redes sociales

Controla todas las redes sociales con un solo OperationID

Una de las ideas de este artículo es la inclusión de otras redes sociales, como por ejemplo Twitter, Google+, o Badoo bajo el mismo Operation ID. De esta forma podemos gestionar el acceso a redes sociales desde un solo Latch y será más fácil de controlar todo. El proceso de creación de reglas en Latch Firewall sería el mismo. Si bloqueamos el Latch en redes sociales, cuando intentemos acceder desde el navegador de la máquina dónde se ejecuta Latch Firewall no podremos acceder al sitio web solicitado. Además, el tutor recibirá una alerta de intento de conexión a alguna de estas redes sociales, pudiendo tomar las medidas necesarias.

Esto mismo se puede hacer para otro tipo de sitios, por ejemplo dejar cerrados los juegos, o cerrado todo menos Wikipedia y Wolfram Alpha. Por supuesto, todos estos ejemplos de control parental también valen para el entorno profesional, cuando se quiere controlar dónde se conecta la gente y a dónde de una manera similar. Implementar Latch es gratis con la versión community, pero si necesitas gestionar hasta 100 usuarios, puedes usar la versión Silver gratis si eres una PYME española gracias al acuerdo que se llegó con Incibe.

Autor: Pablo González (@pablogonzalezpe)
Project Manager en Eleven Paths

5 comentarios:

  1. Y así hasta que el menor (o empleado) aprenda a abrir túneles SSH, VPN's... ;)

    ResponderEliminar
  2. Vaya, justo antes de leer los comentarios del articulo estaba pensando en abrir un tunel ssh, aunque veo que ya lo ha dicho Anonimo. En cualquier caso, si se quieren saltar el filtro se lo van a saltar, y por otra parte nadie es quien para bloquearle la conexion a internet, incluso aunque sea a sitios no recomendables como las redes sociales ( tengo 200 pseudo-amigos, que mas bien son conocidos ).

    ResponderEliminar
  3. Si el tutor le sabe compilar y montar Latch en este esquema, seguro que sabe cortar los túneles SSH co el firewall...

    ... y si el chaval lo hackea aún así, entonces merece usar Internet como quiera. }:)

    Saludos!

    ResponderEliminar
  4. Uno de mis clientes se lleva el ratón cuando sale de casa para que sus hijos no usen el ordenador. Lo que no sabe es que sus hijos me compraron un ratón extra.

    ResponderEliminar
  5. Me gustó el artículo, os recomiendo una app que yo estoy usando con la cual puedes bloquear aplicaciones y funcionalidades del móvil, además te permite poner un horario para desbloqueo, por ejemplo bloquear el whatsapp de tus hijos en al hora del cole. Es muy práctico! Un saludo

    https://play.google.com/store/apps/details?id=parental.control.safekids

    ResponderEliminar