Las historias de Zenon

  • RSS Alguien no quiere que leamos esto

    • Se ha producido un error; es probable que la fuente esté fuera de servicio. Vuelve a intentarlo más tarde.
  • Historial

    enero 2007
    L M X J V S D
    1234567
    891011121314
    15161718192021
    22232425262728
    293031  
  • Mis enlaces en del.icio.us

  • Meta

  • Pobreza cero

  • Cultura Libre

    Cultura Libre
  • Linux Counter


    The Ubuntu Counter Project - user number # 3747
  • Licencia

    El contenido de esta bitácora se encuentra protegido bajo la licencia Reconocimiento - CompartirIgual de Creative Commons.
    Reconocimiento y Compartir igual

    © Jose Luis Jimenez, Getafe 2006
    Los comentarios son responsabilidad exclusiva de los autores de los mismos.

Control parental

Posted by Jose Luis en 13 enero 2007

Cuando se tienen hijos pequeños puede llegar un momento en que uno empiece a preocuparse por el contenido que pueden llegar a ver/leer cuando navegan por internet.

Para controlar/limitar el acceso a ciertos contenidos existen programas que se encargan de filtrar los accesos a Internet restringiendo su acceso en función de unas reglas.

En cualquier caso yo sigo creyendo que la mejor protección es no dejarles solos frente al ordenador cuando son demasiado pequeños y prepararles para que cuando crezcan y empiecen a exigirte la intimidad que sin duda merecen tengan las suficientes armas para ser ellos mismos quienes rechacen (en el sentido que sea) esos contenidos.

En GNU/Linux (y en particular en Ubuntu) existe un software (por supuesto libre ya que de otro modo no perdería el tiempo en escribir sobre él) que permite hacer esos filtros y adaptarlos a las necesidades de cada uno.

El software en cuestión se llama DansGuardian y actúa en unión de un proxy cache (como por ejemplo squid, que por supuesto también es libre) para filtrar el acceso a determinadas web en función de listas negras y/o del análisis del contenido.

La instalación de DansGuardian es de lo más simple y como siempre se puede hacer de distintas maneras que acaban siempre con el mismo resultado:

  • Graficamente utilizando el gestor de paquetes Synaptic. En este caso lo único que hacemos es buscar en la interfaz que nos proporciona Synaptic los paquetes dansguardian y squid, los marcamos y le damos a actualizar para que los instale.
  • En modo texto utilizando apt-get o aptitude, es decir desde un terminal escribimos sudo apt-get install dansguardian squid o bien si preferimos aptitude ejecutamos sudo aptitude install dansguardian squid

A continuación configuramos DansGuardian, para ello nos aseguramos que escucha en el puerto 8080 (u otro que queramos si ese estuviera ocupado) y redirige sus peticiones al puerto del proxy (3128 porque hemos instalado squid). Para ello abrimos el fichero /etc/dansguardian/dansguardian.conf como root (en Gnome es tan simple como pulsar ALT+F2 y escribir gksudo «gedit /etc/dansguardian/dansguardian.conf» en la ventana que se abre).

Una vez dentro del fichero buscamos las variables filterport y proxyport y les ponemos los valores que correspondan. En mi caso:

filterport = 8080

proxyport = 3128

Si además el proxy lo hubieramos instalado en otra máquina distinta (accesible por red) tendriamos que cambiar la variable proxyip, pero como ese no es mi caso no lo trato aquí.

A continuación nos descargamos una lista de expresiones a filtrar (en estos momentos la última está aquí) y una lista negra y los descomprimimos (como root) en /etc/dansguardian:

sudo -s
cd /etc/dansguardian
tar xvfz /ruta_donde_lo_hemos_descargado/phraselistsmay31.tar.gz
tar xvfz /ruta_donde_lo_hemos_descargado/bigblacklist.tar.gz

Ahora lo que tenemos que hacer es crear los ficheros anotherbannedsitelist y anotherbannedurllist que contenga los filtros que nos interese de la lista negra descargada. Si no queremos complicarnos la vida podemos incluir todos sin más que ejecutar lo siguiente (como root, es decir antes de ejecutar lo que sigue ejecutamos sudo -s):

cd /etc/dansguardian/blacklists
for i in `ls` ;
do
if [ -f $i/urls ]; then
echo «.Include<`pwd`/$i/urls>» >> ../anotherbannedurllist
fi
if [ -f $i/domains ]; then
echo «.Include<`pwd`/$i/domains>» >> ../anotherbannedsitelist
fi
done

Después modificamos el fichero /etc/dansguardian/bannedurllist para incluir la línea .Include</etc/dansguardian/anotherbannedurllist> y hacemos el equivalente con el fichero bannedsitelist. Si lo dejamos de esta manera no permitirá incluso acceder a Google con lo que si no es nuestra intención prohibirlo podemos editar el fichero anotherbannedsitelist y comentar o eliminar la línea que contiene searchengines/domains

#.Include</etc/dansguardian/blacklists/searchengines/domains>

Y repetimos el proceso (más o menos) para configurar las expresiones que vamos a bloquear

cd /etc/dansguardian/phraselists
for i in `ls` ;
do
if [ -f $i/banned ]; then
echo «.Include<`pwd`/$i/banned>» >> ../anotherbannedphraselists
fi
done

E igualmente como antes incluimos la línea .Include</etc/dansguardian/anotherbannedphraselists> en el fichero bannedphraselists

Después de esto reiniciamos dansguardian para que recargue la nueva configuración:

sudo /etc/init.d/dansguardian restart

Para probarlo podemos cambiar la configuración del navegador para que pase por la pareja dansguardian-proxy antes de ir a internet (en firefox se cambia en Editar->Preferencias->Red->Configuracion y se marca Configuración manual del proxy poniendo en Proxy HTTP la dirección IP o nombre de la máquina donde está el proxy, en mi caso localhost, y en Puerto 8080 que es donde escucha dansguardian).

Después de hacer eso podemos probar a buscar por ejemplo porn sex en Google y si todo ha ido bien nos debería bloquear los resultados.

Para no tener que cambiar la configuración del navegador (que queda siempre a voluntad del usuario) se puede obligar mediante iptables (el firewall de GNU/Linux) a que todas las comunicaciones al puerto 80 se redirijan al puerto 8080, es decir haciando que nuestra pareja dansguardian-squid funcione como un proxy transparente, para ello es suficiente con ejecutar las siguientes tres líneas:

sudo iptables -t nat -A OUTPUT -p tcp –dport 80 -m owner –uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp –dport 3128 -m owner –uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp –dport 80 -j REDIRECT –to-ports 8080

Incluso si queremos, por ejemplo que los usuarios userx y usery nunca tengan este control, es decir que accedan a internet sin restricciones, en lugar de las líneas anteriores podriamos poner las 5 lineas siguientes:

sudo iptables -t nat -A OUTPUT -p tcp –dport 80 -m owner –uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp –dport 80 -m owner –uid-owner userx -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp –dport 80 -m owner –uid-owner usery -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp –dport 3128 -m owner –uid-owner proxy -j ACCEPT
sudo iptables -t nat -A OUTPUT -p tcp –dport 80 -j REDIRECT –to-ports 8080

Una respuesta to “Control parental”

  1. […] Una liga relacionada para crear tu propia caja de filtro: https://zenon.wordpress.com/2007/01/13/control-parental/ […]

Deja un comentario