Algo muy trivial en una red empresarial es el filtrado de contenido por usuarios o IP, y para realizar esta tarea en Dansguardian es necesario configurarlo para que soporte varios filtros, y asignarle a cada usuario o IP un filtro, el cual estará definido para cada departamento o grupo de usuarios en particular, esta guia que les presentare es una continuación de la serie de guias relacionadas con Dansguardian y Squid que he publicado a través del tiempo, asi que si no tienes conocimiento sobre Dansguardian y Squid, te recomiendo que te leas las siguientes guias en este orden:


1) Instalación y configuración básica de squid
2) Instalación y configuración de Dansguardian
3) Configuración de Dansguardian en modo transparente

[Opcional]


Teniendo una base sobre Squid y Dansguardian vamos a proceder con la guia.


Lo primero que tenemos que hacer para empezar a configurar es saber que nos conviene más, el filtrado de contenidos por IP, o el filtrado por usuarios (Usando autentificacion básica nsca), en esta guía abarcaremos los dos tipos de filtrado (Existen mas tipos que por el momento no abarcaremos como: Ident, NTLM, etc), y empezaremos por el filtrado por usuarios.

Filtrado por usuarios



Para el filtrado por usuarios utilizaremos la autentificación básica NSCA, y para activar este tipo de autentificación tenemos que configurar squid como hemos visto anteriormente en el primer tutorial sobre Squid básico, aqui resumiremos los pasos:


1) Creamos el archivo que contendrá el usuario y contraseña:

[ramphis@srvlinux /etc/dansguardian]# touch /etc/squid/users

2) Creamos algunos usuarios:

[ramphis@srvlinux /etc/dansguardian]# htpasswd /etc/squid/users ramphis
[ramphis@srvlinux /etc/dansguardian]# htpasswd /etc/squid/users carolina

[ramphis@srvlinux /etc/dansguardian]# htpasswd /etc/squid/users wilfredo

3) Editamos el archivo /etc/squid/squid.conf, añadiendo las siguientes lineas:

auth_param basic /usr/lib/squid/ncsa_auth /etc/squid/users
auth_param basic realm Mensaje que aparecera al pedir autorizacion
auth_param basic basic credentialsttl 2 hours

En la primera linea vemos como definimos el archivo que creamos en los pasos anteriores, en la segunda linea definimos el mensaje que aparecera al pedir la autentificación, y en la tercera el tiempo para volver a pedir autentificación.

4) Creamos nuestra lista de control para la autentificación:

acl password auth_proxy REQUIRED

5) Le agregamos la siguiente linea en nuestro http_access:

http_access allow localnet password

http_access deny all

Guardamos el fichero /etc/squid/squid.conf, y reiniciamos el servicio squid.

El siguiente paso sera configurar Dansguardian para que use la autentificación configurada previamente, y para ello simplemente editamos el archivo /etc/dansguardian/dansguardian.conf y descomentamos la siguiente linea, quedando asi:



authplugin = ‘/etc/dansguardian/authplugins/proxy-basic.conf’
#authplugin = ‘/etc/dansguardian/authplugins/proxy-digest.conf’
#authplugin = ‘/etc/dansguardian/authplugins/proxy-ntlm.conf’
#authplugin = ‘/etc/dansguardian/authplugins/ident.conf’
#authplugin = ‘/etc/dansguardian/authplugins/ip.conf’


De esta manera, ya Dansguardian solicitara el usuario y contraseña definido anteriormente, claro despues de reiniciar el servicio Dansguardian.

Ahora vamos a configurar Dansguardian para que soporte multifiltrado, en nuestro caso nos vamos a limitar a 2 filtros, hay que tener en cuenta que mientras mas filtros tengamos, mas memoria y procesador utilizara nuestro querido Dansguardian.

Para realizar esta tarea editamos el archivo de configuración /etc/dansguardian/dansguardian.conf y modificamos el siguiente parametro:


filtergroups = 2


En nuestro caso definimos 2 filtros, Dansguardian soporta hasta 99 filtros, luego guardamos el fichero de configuración y reiniciamos el servicio dansguardian.


El siguiente paso sera copiar el fichero dansguardianf1.conf con el nombre dansguardianf2.conf, estos archivos contienen la configuración de cada filtro, si estuviesemos mas de 2 filtros, deberiamos copiar mas veces el archivo dansguardianf1.conf con nombres ascendentes (Ej: dansguardianf3.conf, dansguardianf4.conf, etc.) dependiendo de la cantidad de filtros que tengamos.


Luego de tener nuestros dos archivos dansguardianf1.conf y dansguardianf2.conf, copiamos la carpeta lists con el nombre lists2:


[ramphis@srvlinux /etc/dansguardian]# cp -r lists lists2


Luego entramos a el archivo dansguardianf2.conf, y modificamos las rutas que apuntan a /etc/dansguardian/lists/, por la ruta /etc/dansguardian/lists2 y modificamos el parametro groupmode, a el cual le pondremos el numero dos, especificando que es el groupfilter numero dos.


Si utilizamos el editor de textos vi, podemos sustituir las rutas /etc/dansguardian/lists por /etc/dansguardian/lists2 en modo comando con el siguiente comando:


:%s/lists/lists2/g


Quedando el fichero de esta manera:

# Content filtering files location
bannedphraselist = ‘/etc/dansguardian/lists2/bannedphraselist
weightedphraselist = ‘/etc/dansguardian/lists2/weightedphraselist
El fichero continúa….

Para finalizar vamos a asignarle el filtrado a cada usuario, y para ello editamos el archivo /etc/dansguardian/lists/filtergroupslist, el cual esta definido en el parametro filtergroupslist de el archivo /etc/dansguardian.conf.

Editamos el archivo /etc/dansguardian/lists/filtergroupslist añadiendo las siguientes lineas:

ramphis=filter1
wilfredo=filter1
carolina=filter2





Donde esos nombres serian los usuarios creados previamente y el filtro que se le asignara, ya sabemos que la carpeta lists corresponde a el filtrado 1, y que la carpeta lists2 corresponde a el filtrado 2, solo basta modificar su contenido a nuestro antojo.


Solo basta reiniciar el servicio de dansguardian y probar…

Filtrado por IP

El filtrado por IP es mucho mas simple que por autentificación, suponiendo que ya tenemos creados los dos grupos, simplemente tenemos que editar el archivo /etc/dansguardian/dansguardian.conf, y descomentar el parametro siguiente (Recuerda comentar nuevamente la linea que fue descomentada previamente).

#authplugin = ‘/etc/dansguardian/authplugins/proxy-basic.conf’
#authplugin = ‘/etc/dansguardian/authplugins/proxy-digest.conf’
#authplugin = ‘/etc/dansguardian/authplugins/proxy-ntlm.conf’
#authplugin = ‘/etc/dansguardian/authplugins/ident.conf’
authplugin = ‘/etc/dansguardian/authplugins/ip.conf’



Luego editamos el archivo /etc/dansguardian/lists/authplugins/ipgroups para definir las ip o rango de ip que pertenecerán a un grupo determinado, por ejemplo para definir el filtro 1 a la IP 192.168.1.10, añadimos a este fichero:


192.168.1.10 = filter1


Para añadir el rango de red 192.168.1.1 a 192.168.1.10 al filtro 2, añadimos:


192.168.1.1-192.168.1.10 = filter2


Para añadir una red completa al filtro 1, añadimos:


192.168.1.0/255.255.255.0 = filter1


Y así sucesivamente, guardamos el fichero y reiniciamos el servicio; tendremos nuestro querido Dansguardian configurado para filtrar por IP.

Videotutorial de el Multifiltro por IP:




Eso es todo por hoy, espero que les haya gustado, hasta la próxima.


Saludos.