Está en la página 1de 11

DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

Menú
DansGuardian: filtro de contenidos
Enviado 20 Nov 2007

Tecnología Recomienda este artículo Imprime el artículo


Iniciación
Comunicación y Redes
Seguridad
Hard y Práctico

Software
GNU/Linux
Libre, Freeware..
Utilidades
Educativo TÍTULO: DansGuardian: filtro de contenidos
De profes y para ...
RESUMEN: Descubre la utilidad DansGuardian, como un filtro de
contenido de sitios web muy potente..
Documentos
Manuales AUTOR: Elvira Mifsud
Tutoriales
Monográficos
Bibliografía

Recursos
Talleres DansGuardian: filtro de contenidos
El juego como recurso
Recursos en la red
Experiencias educativas 1 Introducción
Presentamos y estudiamos la utilidad DansGuardian (http://dansguardian.org/) como un filtro de contenido de sitios web muy
potente que trabaja conjuntamente con el servidor proxy SQUID, u otro proxy caché similar, presente en la red local.
U s u ar i o s d e l
O b s e r v at o r i o DansGuardian se sitúa o actúa entre el navegador cliente y el proxy, interceptando y modificando la comunicación entre ambos.
De esta forma facilita la tarea de filtrado de páginas visitadas por el usuario desde el equipo cliente, cuya utilización puede ser
Bienvenido de especial interés en el aula, e incluso en el propio domicilio.
Invitado
Únete a nosotros! 2 Características de DansGuardian
La herramienta DansGuardian es código abierto, está desarrollada en C++ y permite una configuración flexible adaptándose a
El registro es las necesidades del usuario.
completamente
gratuito y podrás Al instalar el paquete la configuración por defecto ya limita las visitas a páginas prohibidas para menores, pero dispone de gran
acceder a todas las cantidad de archivos de configuración para llevar a cabo un ajuste del servicio mas personalizado.
partes de la web

1
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

Crear una cuenta


El mecanismo es el siguiente: los clientes mediante sus navegadores web hacen peticiones de páginas que son recibidas por
Login: DansGuardian y sólo son redireccionadas al servidor proxy SQUID aquellas que superan la fase de filtrado.
Usuario:
cliente web -> DansGuardian -> Squid -> servidor
Contraseña:
En realidad DansGuardian se ejecuta
como un demonio independiente del proxy, acepta peticiones en el puerto 8080 y las redirecciona al proxy SQUID, que escucha en
Recuerdame el puerto 3128.
Entrar Por lo tanto, cuando una petición entra por el puerto 8080, DansGuardian la filtra y la pasa al proxy SQUID por el puerto 3128. Es importante, en
consecuencia, que ningún otro servicio esté utilizando el puerto 8080.

Administradores
No hay
Administradores
conectados

Si el resultado del filtrado (dependiendo de los filtros configurados) es una denegación de acceso a una determinada página web
se muestra al usuario el mensaje correspondiente al 'Acceso Denegado'.
Conectados
Miembros: 0 Si DansGuardian está en la máquina que hace de cortafuegos y se configura un proxy transparente1 en SQUID, habrá que
Invitados: 7 redireccionar todo el tráfico saliente en el cortafuegos del puerto 80 al puerto 8080. Es decir, se capturan todas las peticiones
Total: 7 que se hagan a un servidor http (petición de páginas web) y se envían a DansGuardian (8080) para que se encargue del
filtrado. En el apartado 3.5 se incluye la regla Iptables asociada a esta acción.
Miembros En realidad el proxy transparente requiere configurar el cortafuegos para que reenvíe todas las peticiones que se hagan a un
Online puerto 80 hacia el puerto 3128 que utiliza SQUID, pero como se ha interpuesto DansGuardian entre ambos, es éste quien
No hay miembros recibe la petición y la filtra.
conectados
La instalación y configuración se debe hacer como usuario administrador root o como un usuario 'sudo'2.
Buscar En el caso de acceder a páginas seguras que utilizan el protocolo https (puerto 443) también deberán ser redirigidas.

3 Instalación y configuración básica


3.1 Instalación de SQUID

M a p a d e l s i ti o Con la herramienta Synaptic (Sistema -> Administración -> Synaptic) instalar la versión disponible en el repositorio de
Edubuntu, que es la 2.6.5.

Si durante la instalación del paquete aparece el mensaje “FATAL: Could not determine fully qualified hostname. Please set
'visible_hostname' ”, quiere decir que el usuario debe incluir en el archivo de configuración /etc/squid/squid.conf la directiva
visible_hostname y relanzar el servicio. La aplicación se ha instalado correctamente pero no se ha podido lanzar el servicio por
este motivo.
Mapa del
sitio en $sudo gedit /etc/squid/squid.conf
flash

2
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

visible_hostname nombre_de_la_maquina

Salir salvando los cambios y relanzar el servicio:

$sudo /etc/init.d/squid restart

3.2 Instalación de DansGuardian

Para instalar el paquete Ubuntu de DansGuardian se debe tener disponible el repositorio Universe. Se puede comprobar que
está disponible utilizando la herramienta Synaptic y con ella buscar dicho paquete y proceder a su instalación.

La versión disponible es la 2.8.0. La figura siguiente muestra el paquete ya instalado.

DansGuardian también puede ser utilizado como antivirus actuando conjuntamente con Clamav, pero esta configuración no es

3
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

el objetivo del presente artículo. Es posible que si no se dispone de clamav en el equipo el sistema devuelva algún mensaje de
advertencia de esta situación.

3.3 Configuración de DansGuardian

El archivo de configuración de DansGuardian es /etc/dansguardian/dansguardian.conf. Para editar dicho archivo ir a: Aplicaciones ->
Accesorios -> Editor de textos que abre la aplicación gedit para modificar la configuración por defecto de DansGuardian.

Como se trata de un archivo de configuración del sistema sólo un usuario sudo puede hacerlo, por lo que, al editarlo desde el entorno gráfico, no es
posible grabar las modificaciones hechas sobre él. Una solución es ejecutar desde una terminal de texto la siguiente orden:

$sudo gedit /etc/dansguardian/dansguardian.conf

Pasos para la configuración:

1. Establecer la línea que contiene la directiva UNCONFIGURED como un comentario. Para ello añadir al principio de la línea el carácter '#'.

#UNCONFIGURED - Please remove this line after configuration

2. Si no se está trabajando con el antivirus modificar la línea correspondiente desactivando la opción y comentar la indicada:
virusscan = off

#virusengine = 'clamav'

3. En la sección 'Network Settings' comprobar que están las líneas siguientes:


filterport = 8080
proxyip = 127.0.0.1
proxyport = 3128

Esta sería la configuración para una máquina aislada, también llamada standalone o desktop. En el caso de tratarse de un aula con varias
máquinas cliente que salen a Internet a través de un servidor de aula, habría que modificar el valor dado en proxyip por la dirección IP de la
tarjeta de red del servidor que escucha dentro del aula.

4. Modificar el idioma por defecto. Para ello sustituir el inglés por 'spanish' y dejar las líneas como sigue:

languagedir = '/etc/dansguardian/languages'

# language to use from languagedir.

language = 'spanish'

5. Salir de gedit salvando los cambios.

6. Reiniciar el servicio dansguardian ejecutando la orden:

$sudo /etc/init.d/dansguardian restart

4
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

Para hacer una primera prueba de funcionamiento habrá que cambiar la configuración del navegador para usar como proxy la
dirección del servidor pero con el puerto 8080.

En el caso de que se trate de una máquina aislada la dirección del proxy será la propia máquina, que deberá tener instalado
SQUID.

Ahora ir a: Aplicaciones -> Internet -> Navegador web Firefox y en la opción de menú Editar -> Preferencias ir en la
pestaña Red a Configurar la conexión. Por defecto la conexión a Internet es directa y habrá que dejarla como indica la figura.
También es válido utilizar como dirección IP la propia de la tarjeta de red y no la interfaz de loopback (lo).

Si ahora como prueba, el usuario hace una búsqueda con la palabra 'chicas' en Google y accede al primer enlace, se muestra la
siguiente ventana:

Al intentar acceder a alguna dirección 'inapropiada' obtendremos el mensaje de aviso correspondiente.

3.4 Configuración de SQUID


Desde el punto de vista de SQUID, DansGuardian es como un cliente web 'normal', pero lo que no debe hacer SQUID es permitir
que ningún navegador se conecte directamente a él 'puenteando' a DansGuardian.

5
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

Para ello el acceso al puerto de SQUID 3128 debe estar bloqueado mediante cortafuegos o mediante una regla de IPTABLES.

En realidad SQUID no requiere ningún tipo de configuración, a menos que funcione como proxy transparente. La ventaja de utilizar un proxy
transparente es que funciona perfectamente en entornos heterogéneos, es decir, con máquinas Windows, Linux, MAC, etc, pero tiene el
inconveniente de que requiere una configuración 'especial' en SQUID.

En el artículo se trabaja con la redirección de puertos en el servidor (si lo hay) o en la máquina aislada, y que ya se ha comentado. (puerto 3128 ->
puerto 8080). El motivo es que el método 'proxy transparente' requiere conocimientos avanzados de SQUID.

Pero la redirección de puerto no impide que el navegador web pueda 'saltarse' el filtro de contenido simplemente modificando las preferencias. Es
necesario, entonces, impedir la salida directa a Internet. Para ello el método mas seguro es la utilización de reglas de IPTABLES.

3.5 Utilización de IPTABLES


Para evitar que los usuarios se salten el filtro, tendremos que usar IPTABLES.

Una regla sencilla que fuerza a pasar por el filtro a las peticiones que vienen por la interfaz interna (eth0) sería:

#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 3128 -j REDIRECT --to-port 8080

La regla indica que, utilizando la tabla nat, todas las peticiones que vengan desde eth0 y que tengan como puerto destino el
3128 (SQUID) sean redirigidas al puerto 8080 (dansguardian).

Esta regla es ineludible.

Si se tiene SQUID configurado para proxy transparente habrá que redireccionar todo el tráfico al puerto 80 hacia el puerto
8080. Y en este caso, podemos añadir también:

#iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 8080

Pueden convivir ambas reglas IPTABLES.

4 Configuración avanzada: métodos de filtrado


DansGuardian utiliza un sistema de peso de las frases (/etc/dansguardian/phraselists) para mejorar el objetivo de bloqueo y permite
filtrar por un gran número de criterios.

Los métodos utilizados son:

1. Realizar filtros utilizando el sistema de etiquetas PICS (Platform for Internet Content Selection).

2. Filtrar comprobando que las extensiones de los archivos y los tipos MIME no estén en una lista de extensiones y tipos
MIME prohibidos.

3. Filtrar de acuerdo con las URLs, incluyendo expresiones regulares.

4. Trabajar con listas blancas y listas negras.

Compara el contenido de las páginas con el de una lista de palabras prohibidas. Esta lista contiene palabras asociadas con la

6
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

pornografía y otros contenidos no deseados. Todos estos métodos se apoyan en la utilización de unos archivos de filtros que
almacenan frases, palabras, URLs, etc, cuyo acceso queda prohibido.

Archivos de filtros en /etc/dansguardian/


Archivo Descripción
bannedphraselist contiene una lista de frases prohibidas. Las frases deben estar
entre <>. Por defecto incluye una lista ejemplo en inglés. Las
frases pueden contener espacios. Se puede también utilizar
combinaciones de frases, que si se encuentran en una página,
serán bloqueadas.
bannedmimetypelist contiene una lista de tipos MIME prohibidos. Si una URL
devuelve un tipo MIME incluido en la lista, quedará bloqueada.
Por defecto se incluyen algunos ejemplos de tipos MIME que
serán bloqueados.
bannedextensionlist contiene una lista de extensiones de archivos no permitidas. Si
una URL termina con alguna extensión contenida en esta lista,
será bloqueada. Por defecto se incluye un archivo ejemplo que
muestra como denegar extensiones.
bannedregexpurllist contiene una lista de expresiones regulares3 que si se cumplen
sobre la URL ésta será bloqueada.
bannedsitelist contiene una lista de sitios prohibidos. Si se indica un nombre
de dominio todo él será bloqueado. Si se quiere sólo bloquear
partes de un sitio hay que utilizar el archivo bannedurllist.
También se pueden bloquear los sitios indicados exeptuando los
dados en el archivo exceptionsitelist. Existe la posibilidad de
descargarse listas negras tanto de sitios como de URLs y
situarlas en los archivos correspondientes. Están disponibles en
http://dansguardian.org/?page=extras.
bannedurllist permite bloquear partes específicas de un sitio web. bannedsitelist
bloquea todo el sitio web y ésta sólo bloquea una parte.
banneduserlist lista de los nombres de usuario que estarán bloqueados.

Archivos de excepciones en /etc/dansguardian/


Archivo Descripción
exceptionsitelist contiene una lista de los nombres de dominio que no serán filtrados Es
importante tener en cuenta que el nombre de dominio no debe
incluir http:// o www.

7
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

Archivos de excepciones en /etc/dansguardian/


exceptioniplist contiene una lista de las direcciones IP de los clientes a los que se permite
el acceso sin restricciones. este sería el caso de la dirección IP del
administrator.
exceptionuserlist lista de los nombres de usuarios que no serán filtrados en el caso de utilizar
control de acceso por usuario. Requiere autenticación básica o "ident".

exceptionphraselist lista de las frases que, si aparecen en una página web, pasará el filtro.

5 Clasificación de contenidos
Existen diferentes sistemas de clasificación de contenidos. De ellos es muy conocido el sistema de etiquetas PICS (Plataforma
para la Selección de Contenido de Internet) que permite que cualquiera pueda etiquetar un contenido. PICS utiliza dos métodos de
clasificación:

Clasificación llevada a cabo por los propios creadores de las páginas web.

Clasificación llevada a cabo por terceros: en este caso la clasificación no está contenida en la propia página, sino en archivos o en servidores
a los que debe acceder el usuario.

El archivo /etc/dansguardian/pics permite al usuario hacer un ajuste 'a la carta' del filtro de PICS. El archivo está estructurado en
base a secciones PICS y cada sección contiene una descripción de las configuraciones permitidas. Las configuraciones
predeterminadas de DansGuardian están pensadas para menores. Por ejemplo, los chats no están permitidos sino están
moderados.

En el caso de la sección ICRA, valor 0 significa que no hay nada permitido en esta categoría y valor 1 está permitido.

Por ejemplo:

ICRAmoderatedchat = 1 #permite el chat moderado

La sección RSAC (versión antigua de ICRA, http://www.rsac.org/) contiene valores que varían de 0 (nada permitido) pasa por 2
(valor predeterminado) hasta 4, que permite todo en la categoría.

RSACviolence = 2

La sección evaluWEB utiliza un sistema de calificación del tipo de las películas inglesas:

0 = U (Universal, para todas las edades)

1 = PG (recomendada la presencia de los padres)

2 = 18 (sólo para mayores de 18 años)

La sección SafeSurf (http://www.safesurf.com/) es parecida a RSAC, pero el rango de categorías es mas amplio (desde 0 para
filtrar todo, hasta 9 para permitir todo).

8
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

SafeSurfintolerance = 3

Otras secciones son Weburbia (http://www.weburbia.com/safe/index.shtml), Vancouver Webpages (http://vancouver-


webpages.com/VWP1.0/), etc, que utilizan otros sistemas de clasificación.

6 Archivos adicionales de filtros para DansGuardian


Además de las listas incluidas por defecto el usuario puede encontrar en http://urlblacklist.com/ archivos con filtros compatibles con
DansGuardian organizados por categorías.

Vamos a descargar el archivo bigblacklist.tar.gz y lo copiamos a /etc/dansguardian. Ahora lo descomprimimos con:

$sudo tar xvzf bigblacklist.tar.gz

Por último modificamos los archivos de filtros /etc/dansguardian/bannedsitelist y /etc/dansguardian/bannedurllist para activar los filtros que
nos interesen.

El usuario puede encontrar también información sobre filtros adicionales en http://dansguardian.org/?page=blacklist.

7 Interfaz gráfica
En la distribución Edubuntu 7.04 Feisty Fawn no se incluye ninguna interfaz gráfica para la configuración de los filtros activos
para DansGuardian. No hay otra opción que editar 'a mano' los archivos de filtros y quitar o añadir aquellas palabras,
direcciones, expresiones regulares, etc, que le interese filtrar al usuario.

Existe una distribución Linux, basada en Edubuntu 7.04, llamada Ubuntu CE v.3.2 (Ubuntu Christian Edition
http://www.christianubuntu.com) que incluye una herramienta para esta configuración llamada dansguardian-gui-ubuntu.

Esta herramienta requiere un conjunto de aplicaciones y librerías adicionales (gambas-runtime, qt, tinyproxy, etc) que no están
incorporadas, de serie, en la versión de Feisty que utiliza GNOME y que es la que se está utilizando como base de esta serie de
artículos.

Para su utilización hay que descargar de dicha web el archivo install_dansguardian_gui_feisty.tar.gz que hace una instalación de la
herramienta con todas sus dependencias, pero que sólo es válido para la distribución Edubuntu 7.04 Feisty que es la utilizada
en esta sección.

Al desempaquetar el archivo tar crea una carpeta install_dansguardian_gui_feisty con un archivo ReadMe y otro install_me. Seguir las
instrucciones para la instalación. Hay que tener en cuenta que la instalación de esta herramienta deshabilita la utilización del
proxy caché SQUID y lanza uno que incorpora ella llamado tinyproxy.

Es necesario rearrancar el sistema después de la instalación para que los cambios sean efectivos. También hay que comprobar si
las modificaciones hechas por el usuario en el archivo de configuración de DansGuardian permanecen. Por ejemplo,
comprobamos que, de nuevo, ha cambiado el idioma a inglés.

Para acceder a la interfaz hay que ir a Sistema -> Administración -> Configure Parental Controls y se muestra la ventana
siguiente:

9
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

La herramienta dispone de dos pestañas Basic y Advanced, desde donde el usuario puede configurar el nivel de filtro deseado
(por defecto es estricto), activar y desactivar el servicio dansguardian, bloquear o no el proxy Firefox, configurar listas negras,
listas blancas, etc.

En realidad lo que hace es editar los archivos de configuración explicados en el apartado 4 y permitir las modificaciones sobre
los valores actuales. Salvando los cambios desde el editor tenemos disponibles los nuevos filtros.

Al 'Salvar y Salir' se desactiva y vuelve a activar el servicio para obligar a que lea sus archivos de configuración modificados.

La utilización de esta interfaz facilita mucho la tarea de filtrado ya que no se requiere ningún tipo de configuración adicional, ni
regla de IPTABLES, etc, y por tanto resulta especialmente interesante para aulas de infantil y primaria así como para el
domicilio familiar.

Hay que tener en cuenta que la instalación de la aplicación DansGuardian junto con su proxy e interfaz gráfica puede realizar
modificaciones en el sistema, ya que es un paquete que está preparado para trabajar sobre Edubuntu Feisty Fawn 7.04, pero
que no va integrado de serie ni incluido en los repositorios oficiales de Ubuntu.

Si el usuario quiere llevar a cabo la desinstalación completa de la herramienta debe ejecutar las siguientes órdenes:

$apt-get --purge remove --assume-yes "dansguardian"

$apt-get --purge remove --assume-yes "tinyproxy"

$apt-get --purge remove --assume-yes "clamav"

$apt-get --purge remove --assume-yes "firehol"

$apt-get --purge remove --assume-yes "dansguardian-gui-ubuntu"

Con ellas eliminamos completamente la propia herramienta así como el cortafuegos, el proxy, el antivirus y la interfaz gráfica
que incorpora.

8 Conclusión
A lo largo del artículo se ha explicado como descargar e instalar la herramienta DansGuardian cuyo objetivo es el filtrado de
páginas web en relación a un conjunto de criterios. Se trata de un tema de gran interés tanto a nivel familiar como a nivel
escolar ya que, con una herramienta de este tipo es posible llevar un mejor control sobre el tipo de contenidos web a los que
permitimos acceder a nuestros menores.

Siguiendo el criterio de acercamiento del usuario al mundo GNU/Linux y dado que Ubuntu no incluye una interfaz gráfica para
la gestión de filtros de contenidos, el artículo hace una sencilla descripción acerca de la instalación y uso de la interfaz gráfica
de DansGuardian que ha adaptado la distribución Ubuntu CE v.3.2 y que funciona perfectamente en Edubuntu Feisty 7.04.

10
DansGuardian: filtro de contenidos :: Observatorio Tecnológico :: Ministerio de Educación

El usuario puede comprobar la sencillez de uso de dicha interfaz que permite la configuración personalizada de todos los
archivos de filtros incluidos.

[1] Es un proxy que no necesita ninguna configuración especial en los navegadores y se llama transparente porque el
navegador no sabe que lo está usando, es transparente para él.

[2] Usuario sudo: se trata de un usuario con privilegios de administrador para determinadas tareas del sistema.

[3] Expresión regular (regexp): son una herramienta para definir patrones de búsqueda y reemplazo. (www.zonasiete.org)

Dificultad:

© Ministerio de Educación
Todos los artículos se publican bajo licencia Creative Commons
Información general: observatorio@cnice.mec.es
Instituto de Tecnologías Educativas
C/Torrelaguna, 58. 28027 Madrid Tlf: 913 778 348. Fax: 913 778 313

Todos los logos y marcas registradas

11

También podría gustarte