sábado, 12 de marzo de 2011

Instalar squidguard en debian lenny 5.0

Todos contamos con un centro de control(datacenter) en nuestras empresas donde queremos restringir las paginas xxx, juegos, phishing o/u otros, pero para eso debemos contar con una lista negra de todas esas paginas, para eso existen varios proyectos que te ayudan a realizar dicha tarea:
El que detallo a continuación es uno con los cuales vengo trabajando hace años:squidguard definimos los siguientes datos

subred172.16.5.192/28
proxy eth0: 190.40.98.114
eth1: 172.16.5.206
cliente172.16.5.204


Instalación:
root@localhost# apt-get install squidguard 
root@localhost# mv -v /etc/squidGuard.conf /etc/squidGuard.conf.OLD 
root@localhost# vim /etc/squidGuard.conf 
###### agregar las siguientes lineas ###############

# ruta donde se almacenara la base de datos 
# de las listas negras del squidguard
dbhome /var/lib/squidguard/db 

# directorio log que te permite saber si el programa 
# a tenido algun inconveniente a la hora de ser levantado
logdir /var/log/squid

# Definir las acl, para nuestro negocio definimos 
# dos: gral, de acceso publico, y libre para  
# los gerentes, que tiene todos los accesos a excepcion 
# de pornografía, ver recuadro:
# src indica el origen de donde se realizaran las consultas
 
src gral { iplist acl/gral }
src libre { iplist acl/libre }

# acl donde se almacenara las rutas de los archivos con las
# listas negras
# porno, xxx, calatas, tetas, etc...
dest porn {
        # ruta donde se almacena el archivo domains 
        # la ruta completa sera /var/lib/squidguard/db/porn/domains
        domainlist      porn/domains
        urllist         porn/urls
        log             blocked.log
}
# hotmail, gmail, yahoo.es 
dest correos {
        domainlist      correos/domains
        urllist         correos/urls
        log             blocked.log
}
# ultrasurf, etc.
dest proxy {
        domainlist      proxy/domains
        urllist         proxy/urls
        log             blocked.log
}

# propagandas
dest phishing {
        domainlist      phishing/domains
        urllist         phishing/urls
        log             blocked.log
}

# dest es el destino a donde las consultas seran 
# dirigidas, dichas consultas son realizadas por los clientes 
# a la hora de abrir su navegador.

# Definimos la acl principal que controlora los accesos desde
# src-->dest.

acl {
        gral {
                # permite todo a excepción de proxy porno 
                # y phishing
                pass !phishing !phishing !proxy !porn all
                # si la pagina cumple alguna de las categorías
                # anteriormente bloqueadas se redirecciona a 
                # www.google.com.pe
                redirect http://www.google.com.pe
        }

        libre {
               # permite todo a excepción de porno
                pass !porn all
                redirect www.google.com
        }
}
Una vez terminado con el archivo de configuración
habilitamos el squidGuard en el archivo squid.conf
root@localhost# vim /etc/squid.conf
# Aplicacion de redireccion para filtrado
redirect_program  /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
# Numero de procesos a ejecutarse del redirector
redirect_children       15
descargar las paginas negras de un servidor externo y extraerlo en la ruta /var/lib/squidGuard/db/, crear el directorio acl en dicha ruta, este directorio contendra los arhivos gral y libre.
root@localhost# touch /var/lib/squidGuard/db/acl/{libre,gral}
agregar las ips correspondientes de los usuarios publicos a gral y de los gerentes a libre.
cambiar los permisos de dichos archivos por el usuario,grupo que esta ejecutando squid.
root@localhost# cat /etc/squid/squid.conf | grep --color cache_efective
# En mi caso me arroja
# Usuario y grupo con el que se ejecuta Squid
cache_effective_user    proxy
cache_effective_group   proxy
# caso contrario agregar dichas lineas al squid.conf y reiniciar el servicio
Debido a que el usuario con el que trabaja el squid es proxy cambio el dueño y propietario de la carpeta /var/lib/squidGuard
root@localhost# chown proxy.proxy /var/lib/squidGuard -R
Abrir dos terminales en el primer escribir:
a) tail -f /var/log/squid/squidGuard.log 
En el segundo reiniciar/reload el squid, recomiendo lo ultimo
b) /etc/init.d/squid reload 

En el primero te permite verificar si no existe ningún error con la base
de datos del squidguard

No hay comentarios:

 
;