DansGuardian

DansGuardian
Información sobre la plantilla
Parte de la familia Web
Dansguardian.jpg
DesarrolladorDaniel Barron
Última versión estable2.10.1.1
Plataformas soportadasGNU/Linux
IdiomaIngles
LicenciaDOBLE: GPL V2 y comercial
Sitio web
Sitio Oficial de DansGuardian

DansGuardian es un software de control de contenidos, diseñado para controlar el acceso a sitios web. Incluye un filtro de virus, importante en sistemas Windows, es usado principalmente en instituciones de educación, gobierno y empresas. Se caracteriza por su alto grado de flexibilidad y adaptación de la implementación.

DansGuardian se instala en un ordenador (servidor) con el sistema operativo GNU/Linux, y filtrará contenidos de webs solicitadas por el resto de ordenadores (independientemente del sistema operativo que tengan instalado). Para filtrar contenido usa comparación de caracteres, filtro PICS y filtro por URL.

Este software se ofrece con una doble licencia: GPL v2 o comercial (dependiendo de su uso).

Características

La herramienta DansGuardian es código abierto, está desarrollada en C++ y permite una configuración flexible adaptándose a las necesidades del usuario. Al instalar el paquete la configuración por defecto ya limita las visitas a páginas prohibidas para menores, pero dispone de gran cantidad de archivos de configuración para llevar a cabo un ajuste del servicio mas personalizado. El mecanismo es el siguiente: los clientes mediante sus navegadores web hacen peticiones de páginas que son recibidas por DansGuardian y sólo son redireccionadas al servidor proxy SQUID aquellas que superan la fase de filtrado.

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 el puerto 3128. 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.

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'. Si DansGuardian está en la máquina que hace de cortafuegos y se configura un proxy transparente1 en SQUID, habrá que redireccionar todo el tráfico saliente en el cortafuegos del puerto 80 al puerto 8080. Es decir, se capturan todas las peticiones 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. En realidad el proxy transparente requiere configurar el cortafuegos para que reenvíe todas las peticiones que se hagan a un puerto 80 hacia el puerto 3128 que utiliza SQUID, pero como se ha interpuesto DansGuardian entre ambos, es éste quien recibe la petición y la filtra. La instalación y configuración se debe hacer como usuario administrador root o como un usuario 'sudo'2. En el caso de acceder a páginas seguras que utilizan el protocolo https (puerto 443) también deberán ser redirigidas.

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.

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: 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 '#'.

  1. UNCONFIGURED - Please remove this line after configuration

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

  1. virusengine = 'clamav'

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. Modificar el idioma por defecto. Para ello sustituir el inglés por 'spanish' y dejar las líneas como sigue: languagedir = '/etc/dansguardian/languages'

  1. language to use from languagedir.

language = 'spanish' Salir de gedit salvando los cambios.

Reiniciar el servicio dansguardian ejecutando la orden: $sudo /etc/init.d/dansguardian restart 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.

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: Realizar filtros utilizando el sistema de etiquetas PICS (Platform for Internet Content Selection). Filtrar comprobando que las extensiones de los archivos y los tipos MIME no estén en una lista de extensiones y tipos MIME prohibidos. Filtrar de acuerdo con las URLs, incluyendo expresiones regulares. 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 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 :

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 :

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.

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.


Otros proyectos

Actualmente existe un "fork" de DansGuardian llamado MinD. MinD es el acrónimo redundante de MinD is not DansGuardian. Según comenta la propia página del proyecto, MinD es un fork de la última versión estable del famoso filtro, al que se le han añadido importantes mejoras.

DansGuardian y las libertades individuales

Hoy en día, existen dudas acerca de la conciliación de la DansGuardian con la libertad de comunicación, las restricciones impuestas por este filtro puede ser inoportunas en algunos casos. Para ello, el equipo de tormenta Teletubbies ha desarrollado un protocolo para asegurar al usuario una forma de visitar cualquier sitio sin tener en cuenta a esta dirección http://poutrerdansguardian.blogspot.com/

Fuentes