Compartir

Compartir en GNU Social Compartir en Diaspora*

Control parental

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

Comentarios

[...] Una liga relacionada

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