Como instalar un servidor proxy con filtrado web squid + squidGuard en debian

squidGuard es un sistema de filtrado web por listas negras, esto quiere decir que tenemos una gran lista de las urls y dominios al que podemos denegar o permitir acceso al usuario, porqué? por que sabemos que hay webs que contienen virus y que hay paginas que se dedican a instalar spyware y también las hay que no son nada productivas en horario laboral, y si las conocemos, ¿porque no evitamos que los usuarios entren? ya se que seguro que cada día salen millones de paginas de este tipo pero como minimo podemos prohibir el acceso a las que ya conocemos.
Las listas negras o blacklist a partir de ahora, las podemos encontrar en internet, las que vamos a utilizar en este manual contiene más de dos millones de dominios de todo tipo, desde pornografía a webmails, las categorías que tu actives en tu instalación es cosa tuya todo depende de donde instales el squid, en este manual se muestra como instalarlas todas y luego que cada uno se desactive las que no necesite.
Primero instalamos el squidguard con sus dependecias
proxy:~# apt-get install squidguard
Ahora descargamos las blacklist, http://urlblacklist.com en este site podrás encontrar algunas blacklist por categorías yo te recomiendo la bigblacklist que son 20393761 urls
http://urlblacklist.com/cgi-bin/commercialdownload.pl?type=download&file=bigblacklist
El arcchivo que te descarges Ej. bigblacklist.tar.gz lo guardas en el directorio root del servidor proxy.
Ahora en el servidor proxy entramos como root y descomprimimos el archivo
proxy:~# tar xvzf bigblacklist.tar.gz
Movemos el contenido del directorio blacklist al directorio /var/lib/squidguard/db/
proxy:~# mv blacklists/* /var/lib/squidguard/db/
En la configuración del squid /etc/squid/squid.conf tienen que existir estas lineas si no fuera el caso se las añades
Donde se encuentra el suidGuard(Filtrado web) y donde esta su archivo de configuración
redirect_program /usr/bin/squidGuard -c /etc/squid/squidGuard.conf
redirect_children 20
En las siguientes lineas se muestra el contenido del fichero de configuración del squiqGuard, ubicado en: /etc/squid/squidguard.conf, las lineas de configuración se comentan una por una y al final de esta pagina podrás encontrar el archivo entero sin comentarios para que lo puedas utilizar en tu instalación.
Podemos utilizar el editor de textos vi para modificarlo
proxy:~# vi /etc/squid/squidguard.conf
Aquí es donde guardamos las blacklist
dbhome /var/lib/squidguard/db
Donde se guardaran los logs del squidGuard
logdir /var/log/squidGuard
También puedes limitar el acceso por horario o por ip, es muy intuitivo, tanto que omito cualquier comentario a esta configuración
La configuración del squidguard se basa en estos bloques que nos permite definir cada una de las categorías a las que denegaremos el acceso, solo comentare un bloque, todos los demás son exactamente igual pero indicando la ruta correcta de cada blacklist.
dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}
Aquí definimos que blacklist queremos activar, debajo se describe como funciona el bloque
- dest porn{ <-- el nombre de la acl
- domainlist <--donde se encuentra la db de los dominios pornos, en porn/domains que es lo mismo que /var/lib/squidguard/db/porn/domains
- urllist <-- donde se encuentra la db de urls pornos, en porn/urls que es lo mismo que /var/lib/squidguard/db/porn/urls
- expressionlist <-- donde se encuentra la db de expresiones porno, en porn/expressions que es lo mismo que /var/lib/squidguard/db/porn/expressions
}
Cuando tengamos todas las categorías definidas tenemos decirle al squidguard cuales prohibimos y cuales permitimos, en este manual solo prohibimos, pues si, la vida es una mierda y encima te mueres.
acl {
default {
pass !ads !adult !aggessive !antispyware !antispyware !artnudes !astrology !audio-video !beerliquorsale !beerliquorinfo !blog !chat !childcare !clothing !culinary !dating !desktopsillies !dialers !drugs !ecommerce !entertainment all
redirect http://www.babilonics.com/politicausointernet.html
}
}
Estas lineas se explican por si solas pero por si hay alguien que no lo ve las explico a continuación:
- acl{ <-- Abrimos la acl(access List)
- default{ <-- el nombre y solo tenemos una
- pass !ads !adult ... <-- solo permitimos el paso a las urls que no estan en estas categorías (!)
- redirect http://www.babilonics.com/politicausointernet.html <-- Si la url que pide el usuario esta en alguna categoría le mostramos las políticas del uso de internet
- } <-- cerramos la acl default
- } <--cerramos todo el bloque acl
bueno ya puedes guardar tu configuración y ahora solo nos queda convertir estas blacklist en formato de base de datos para que su consulta sea mucho mas rápida y efectiva.
proxy:~# squidGuard -C all
Este comando tarda algún tiempo dependiendo de la velocidad de tu maquina, para saber cuanto falta y que esta haciendo el proceso, podemos utilizar un tail en el log del squidGuard.
proxy:~# tail -f /var/log/squid/squidGurad.log
2007-07-04 10:17:56 [2636] init urllist /var/lib/squidguard/db/weapons/urls
2007-07-04 10:17:56 [2636] create new dbfile /var/lib/squidguard/db/weapons/urls.db
De esta forma iremos viendo como crea un dbfile para cada una de las categorías que tengamos definida en el archivo de configuración
reinicia el squid y una vez esto este finalizado ya podemos probar nuestro nuevo y flamante proxy-cache
proxy:~# /etc/init.d/squid restart
Archivo de configuración del squidGuard, en esta configuración se omiten parámetros, que yo no utilizo pero que en tu instalación pueden ser útiles, utiliza el archivo de configuración original para añadir los parámetros que consideres utilizando esta configuración como base:
dbhome /var/lib/squidguard/db
logdir /var/log/squidGuard
dest good {
}
dest local {
}
dest ads {
domainlist ads/domains
urllist ads/urls
expressionlist ads/expressions
}
dest adult {
domainlist adult/domains
urllist adult/urls
}
dest aggessive {
domainlist aggressive/domains
urllist aggressive/urls
}
dest antispyware {
domainlist antispyware/domains
urllist antispyware/urls
}
dest artnudes {
domainlist artnudes/domains
urllist artnudes/urls
}
dest astrology {
domainlist astrology/domains
}
dest audio-video {
domainlist audio-video/domains
urllist audio-video/urls
}
dest beerliquorsale {
domainlist beerliquorsale/domains
}
dest beerliquorinfo {
domainlist beerliquorinfo/domains
}
dest blog {
domainlist blog/domains
urllist blog/urls
}
dest chat {
domainlist chat/domains
urllist chat/urls
}
dest childcare {
domainlist childcare/domains
urllist childcare/urls
}
dest clothing {
domainlist clothing/domains
}
dest culinary {
domainlist culinary/domains
}
dest dating {
domainlist dating/domains
urllist dating/urls
}
dest desktopsillies {
domainlist desktopsillies/domains
urllist desktopsillies/urls
}
dest dialers {
domainlist dialers/domains
urllist dialers/urls
}
dest drugs {
domainlist drugs/domains
urllist drugs/urls
}
dest ecommerce {
domainlist ecommerce/domains
urllist ecommerce/urls
}
dest entertainment {
domainlist entertainment/domains
urllist entertainment/urls
}
dest filehosting {
domainlist filehosting/domains
}
dest games {
domainlist games/domains
urllist games/urls
}
dest gardening {
domainlist gardening/domains
}
dest hacking {
domainlist hacking/domains
urllist hacking/urls
}
dest homerepair {
domainlist homerepair/domains
urllist homerepair/urls
}
dest hygiene {
domainlist hygiene/domains
}
dest instantmessaging {
domainlist instantmessaging/domains
urllist instantmessaging/urls
}
dest jewelry {
domainlist jewelry/domains
}
dest kidstimewasting {
domainlist kidstimewasting/domains
urllist kidstimewasting/urls
}
dest marketingware {
domainlist marketingware/domains
}
dest medical {
domainlist medical/domains
urllist medical/urls
}
dest mixed_adult {
domainlist mixed_adult/domains
}
dest naturism {
domainlist naturism/domains
urllist naturism/urls
}
dest onlinegames {
domainlist onlinegames/domains
urllist onlinegames/urls
}
dest pets {
domainlist pets/domains
urllist pets/urls
}
dest phishing {
domainlist phishing/domains
urllist phishing/urls
}
dest porn {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions
}
dest proxy {
domainlist proxy/domains
urllist proxy/urls
}
dest radio {
domainlist radio/domains
urllist radio/urls
}
dest ringtones {
domainlist ringtones/domains
}
dest sexuality {
domainlist sexuality/domains
urllist sexuality/urls
}
dest shopping {
domainlist shopping/domains
}
dest spyware {
domainlist spyware/domains
urllist spyware/urls
}
dest violence {
domainlist violence/domains
urllist violence/urls
}
dest virusinfected {
domainlist virusinfected/domains
urllist virusinfected/urls
}
dest warez {
domainlist warez/domains
urllist warez/urls
}
dest weapons {
domainlist weapons/domains
urllist weapons/urls
}
acl {
default {
pass !ads !adult !aggessive !antispyware !antispyware !artnudes !astrology !audio-video !beerliquorsale !beerliquorinfo !blog !chat !childcare !clothing !culinary !dating !desktopsillies !dialers !drugs !ecommerce !entertainment all
redirect http://www.babilonics.com/politicausointernet.html
}
}
Como instalar un apache 2 para visualizar los logs del squid -->
se saltan el proxy
como hago para bloquear el salto del proxy ya he tratadodo de bloquearlos con el ip tables pero sigue igual el saltador se llama ultra surf ...esto es un mierda me tiene de trasnocha como tres semanas y me ha puesto a estudiar de nuevo
como omitir las restrinciones para un super usuario
Hola a todos, me podrian dar una mano, hice todas las configuraciones propuestas, y todo de lujo pero quiciera crear una cuenta de super usuario el cual tendría cero limitaciones de navegación en el scrip del grupo de trabajo escribi:
acl {
clientes {
pass !ads !adult !aggessive !antispyware !antispyware !artnudes !astrology !audio-video !beerliquorsale !beerliquorinfo !blog !chat !childcare !clothing !culinary !dating !desktopsillies !dialers !drugs !ecommerce !entertainment all
redirect http://www.babilonics.com/politicausointernet.html
}
super_usuarios {
pass any
}
}
y luego declare los grupos por ip, pero todos son restringidos por igual
me podrían ayudar porfavor.
¿ y si me interesa que puedan entrar en... ?
Muy bueno el manual.
Pero hay una cosa, hay una categoría que deniega "http://es.msn.com", si yo quiero que no me deniege sólo ese dominio, ¿que hay que hacer?
he probado a crearme un .db "inocentes.db" con ese dominio, y a pesar de haberlo incluido en la acl sin el ! (inocentes) sigue denegando ese sitio
squidguard+ldap
Podrian ayudar en enviar ej de configuracion de squidgurad+ldap+AD, tengo la sgte configuracion
debian-etch ip=192.168.200.1 name=servidor
AD w2k3 ip=192.168.200.4 name=serverwin
group permit internetfull
squid+ldap instalado, configurado y trabajando correctamente en debian-etch 192.168.200.1
control por usuarios no por IP
tengo montado ya un servidor PDC con todo la autenticacion de DNS y Squid para la internet solo se accede con PAM , ahora bien , como puedo hacer los tres grupos de usuarios para qu accedan solo a:
Intranet con correo de la empresa
Correo de la empresa
Internet Full
gracias!!!
Problemas con las expressions
Todo funciona bien el problema es cuando ejecuto squidGuard -C all no crea la db de las expressions y logicamente deja navegar por encima...
revisa los permisos de
revisa los permisos de propietario del dbhome estos deben pertenecer a squid
chown -R squid:squid /usr/local/squidGuard/db
luego genera los .db
squidGuard -C all
y luego reinicia el squid
service squid restart
Saludos
Problema con "squidGuard"
Tengo instalado bien squid y me corre perfecto. Instalé squidGuard, compilé las listas negras, configuré el squid.conf y squidguard.conf; al reiniciar el servicio me genera el siguiente error "squid: ERROR: No running copy
FATAL: url_rewrite_program /user/bin/squidGuard: (2) No such file or directory". Revisé en el directorio "/user/bin/" y efectivamente no existe el archivo. Entonces, ¿en qué estoy fallando o qué me falta por hacer? Gracias.
Rafael González mail:rafaelgonzalez@flotaaguila.com
no puedo subir el squidGuard
Mi squidGuard no sube.
revise la configuracion del squid.con y tambien del squidGuard.conf y todo esta bien pero al momento de reiniciar el squid restart el fedora me indica que esta denegado a los archivos squidGuard.log y a los archivos de mi lista de acceso ya le puse todos los permisos para que pueda accesder cualquiera y tampoco logro subir el squidGuard
le puse ps ax | grep squidGuard y me sale esto
[root@localhost bin]# ps ax | grep squid
7513 ? Ss 0:00 squid -D
7515 ? S 0:00 (squid) -D
7517 ? Ss 0:00 (squidGuard)
7518 ? Ss 0:00 (squidGuard)
7521 pts/1 S+ 0:00 squidGuard
me imagino que squid sube por que esta con S pero squidGuard con Ss ayuda por favor
tendo un fedora 9
squidGuard no levanta ya le puse todas los permisos
Mi squidGuard no sube.
revise la configuracion del squid.con y tambien del squidGuard.conf y todo esta bien pero al momento de reiniciar el squid restart el fedora me indica que esta denegado a los archivos squidGuard.log y a los archivos de mi lista de acceso ya le puse todos los permisos para que pueda accesder cualquiera y tampoco logro subir el squidGuard
le puse ps ax | grep squidGuard y me sale esto
[root@localhost bin]# ps ax | grep squid
7513 ? Ss 0:00 squid -D
7515 ? S 0:00 (squid) -D
7517 ? Ss 0:00 (squidGuard)
7518 ? Ss 0:00 (squidGuard)
7521 pts/1 S+ 0:00 squidGuard
me imagino que squid sube por que esta con S pero squidGuard con Ss ayuda por favor
tendo un fedora 9
Enviar un comentario nuevo