Saturday, October 16, 2010

Guia de Instalacion y configuración de Dansguardian


Dansguardian es un servicio que podemos implementar para el filtrado de contenidos en nuestra red, en esta guía abarcare la instalación y configuración básica, para continuar con esta guía recomiendo que tengan conocimientos básicos de Squid (Guia Basica de Squid). Ya que Dansguardian  funcionara como un filtrado de contenidos y control de acceso, dejando a Squid solamente la tarea de proxy cache.

Funciona de la siguiente manera:







Primero el cliente solicita acceso a una pagina web, luego Dansguardian filtra la pagina web, verificando si el cliente tiene acceso a la web, verificando si la pagina web solicitada esta permitida, verificando si en esa pagina no hay palabras que no estan permitidas, etc, luego de ser verificada la web, Dansguardian le pasa el trabajo a Squid, para que aplique sus reglas y funcione como Cache, y luego Squid le presenta la pagina web al cliente. Podemos ver que DansGuardian funciona como intermediario entre el cliente y squid, y squid como intermediario entre dansguardian y el Internet.


Instalación

Dansguardian posiblemente esté en sus repositorios, así fue en mi caso, esta guia fue probada en CentOS 5.5 y Fedora 13, de todos modos instalen el paquete dansguardian:

Con yum:
yum install dansguardian

Con apt-get:
apt-get install dansguardian

Si no esta en los repositorios, puede dirigirse a la pagina oficial: http://dansguardian.org/

Configuración de Dansguardian

Todo lo concerniente a Dansguardian se ubicara en /etc/dansguardian, el archivo de configuración de Dansguardian se llama dansguardian.conf, para empezar abrimos este archivo con nuestro editor de textos preferido, y modificamos los siguientes parametros:

Para que los mensajes de restricción aparezcan en español (Si quieren ver todos los lenguajes disponibles, o editar el codigo html que presentara cada lenguaje, pueden dirigirse a /usr/share/dansguardian/languages) modificamos el siguiente parámetro.

language = 'spanish'

Modificando este parámetro, configuraremos el puerto por el que escuchara dansguardian peticiones, por defecto es el 8080, si tienen este puerto ocupado con otro servicio, pueden ponerle otro puerto.

filterport = 8080

Modificando este parametro, configuraremos la IP del Proxy, en nuestro caso es squid, y esta instalado en nuestro servidor, si el proxy estuviera en otro servidor, especificamos en este parametro la direccion del servidor proxy, en caso contrario lo dejamos con 127.0.0.1.

proxyip = 127.0.0.1

Modificando este parametro, configuramos el puerto por el que escucha el servidor proxy (En mi caso es squid), y como mi servidor squid escucha por el puerto 3128, lo deje como estaba.

proxyport = 3128

Guardamos el archivo de configuración, y subimos el servicio:

/etc/init.d/dansguardian start

Si queremos aplicar los cambios, no tenemos que reiniciar el servicio con "restart", podemos hacer un reload, y se aplicaran los cambios en tiempo real, por ejemplo:

/etc/init.d/dansguardian reload

Pero si hacemos un reload, y hemos configurado algo mal, no lanzara error, así que si algo pasa, hagan un "restart"

Ahora vamos a nuestro PC cliente, y configuramos su navegador para que utilize el puerto e IP de nuestro servidor, en mi caso es el puerto 8080, pueden notar que por defecto Dansguardian tiene filtrado paginas que no son actas para niños, puede probar y verán que le sale acceso denegado.

Administracion de Dansguardian

La administracion de Dansguardian es bien sencilla, todo lo ficheros para administrar squid se encuentran en /etc/dansguardian/lists/ , nos dirigimos a ese directorio y podemos ver los siguientes archivos de configuración:

bannedextensionlist:
En este archivo de configuración vamos a poner todas las extensiones de archivos que vamos a restringir, por defecto hay muchas extensiones bloqueadas como .mp3, .rar, .avi, asi que para poder dar acceso a estas extensiones basta con comentarlas, o agregarlas a el fichero exceptionextesionlist (Para cada fichero de restricción, hay uno para agregar excepciones)

bannediplist:
En este archivo de configuración vamos a poner las IP que vamos a restringir, podemos poner tanto una IP, como una red completa (192.168.1.0/24).

bannedphraselist:

En este archivo vamos a configurar las listas de frases a utilizar para el escaneo de contenidos, en el mismo archivo de configuracion podemos guiarnos de como se usa, por defecto tenemos incluido en este fichero lo siguiente:


Si abrimos el archivo /etc/dansguardian/lists/phraselists/safelabel/banned, podemos ver lo siguiente:


Como podemos observar, si en el archivo bannedphraselist se encuentra incluido el archivo /etc/dansguardian/lists/phraselists/safelabel/banned, significa que nos va a escanear las paginas que sean para niños de 14 años, las que sean paginas para adultos, etc, Si descomentamos la que dice Safe For Kids, escaneara las paginas Seguras para Niños, como dice en el archivo pueden dirigerse a www.safelabeling.org, para mas informacion sobre lo que podemos escanear.

bannedsitelist y bannedurllist:
Estos archivos de configuracion contienen las rutas de la base de datos de dominios y url, que vamos a bloquear o a restringir, Dansguardian es bien flexible, nos permite agregar una base de datos de dominios y url, hay unas cuantas paginas que se encargan de recopilar dominios y url, yo les voy a recomendar URLBlackListsse descargan la base de datos de listas negras y descomprimen la base de datos en "/etc/dansguardian/lists/blacklists/".

Luego de descomprimir el paquete, se dirigen al directorio donde lo descomprimimos, y verificamos que esten todas las categorias de listas, podemos ver por ejemplo las siguientes categorias:

-games
-hacking
-porn
-proxy
-sports
-virusinfected
-violence
-socialnetworking

Para bloquear una categoria de dominios, nos vamos a el fichero de configuracion bannedsitelist y creamos un include de la siguiente manera:

Por ejemplo para bloquear las paginas de contenido deportivo:

Para bloquear las paginas con contenido violento:


Recuerden siempre al final de la ruta de la categoria, poner /domains, ya que este es el fichero que contiene los dominios.

Para bloquear una categoria de URLs, realizamos el mismo procedimiento solo que la edicion sera en el archivo bannedurllist, y al final de la ruta pondremos /urls.

Por ejemplo:


Nota: Es posible que ya esten escritos los Include con la ruta exacta, solo bastaria des-comentarla, pero tengan en cuenta que es posible que la base de datos tenga un nombre diferente al que tiene escrito por defecto Dansguardian.

weightedphraselist:
Este archivo de configuracion es el encargado de regular el limite de ponderacion de frases, si una pagina web excede en su contenido con una palabra determinada, esta sera bloqueada, aquí se encuentran incluidas las listas de ponderacion de frases ubicadas en /etc/dansguardian/lists/phraselist, este fichero funciona igual que los de bannedsitelist y bannedurllist, comentando y des-comentando las rutas a los archivos de ponderacion de frases.

Por ejemplo:

En el archivo weightedphraselist encontramos incluido:


Como podemos ver estan incluidas la listas de ponderacion de frases malware, proxies y warezhacking, si abrimos por ejemplo el archivo: 

/etc/dansguardian/lists/phraselists/malware/weighted 

Podemos observar algunas lineas como estas:








Y esto significa, que si en la pagina web que estamos visitando hay mas de 20 cadenas de textos con spyware, adware, malware, keylogger, etc... esta sera bloqueada, ya que es obvio que sea una pagina peligrosa.

Como han visto, Dansguardian es una herramienta muy flexible, y se puede volver indispensable para un administrador de sistemas, esta guía se ha terminado aquí, pero se que se quedaron con ganas de aprender mas de esta gran herramienta (Era mi intención), espero que hayan logrado configurar correctamente DansGuardian y Squid, y espero que sigan investigando, y compartiendo sus conocimientos, cualquier correccion o aporte pueden comentarlo.

Saludos!

4 comentarios:

Iván said...

Me lo paso por proxy ;)

Ramphis Che said...

jeje, si tu lo dices!

Anonymous said...
This comment has been removed by a blog administrator.
Leonardo said...

Heyyyyy como puedo hacer para agregar una palabra a la ponderacion de frases, dansguardian me deniega la entrada al sitio as.com!!!

Post a Comment