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


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


squid

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 -->

Preguntas fuera de base

No puedo entender como a estas alturas pueden existir usuarios de LINUX que dicen :

"Me puede decir como hacerlo en XXX" "Puedo hacer filtros ..." "Como hago para bloquear ..."

Tienen que meterse en la cabeza que LINUX es para estudiar y aprender, no para que le digan como se hacen exactamente las cosas. Todo se basa en experiencias propias.

Para el autor de este articulo, muchas felicitaciones, mas claro no canta un gallo.

Estoy instalándolo, vamos a ver como me va.

Salu2

urgente necesito bloquear msn en servidor samba

tengo una red que esta conectada a servidor samba para administracion de usuarios y un servidor con debian para acceso a internet al cual tambien está conectado el servidor samba. necesito bloquear el messenger en los terminales (trabajan con windows xp) en determinadas horas... porfa ayudenme como puedo hacer eso????

squid proxy

con el squid puedes decidir los puertos que permites conexiones, limita las conexiones al 80, 443, 21, 20 y poco más y olvídate de problemas, evidentemente tu firewall no debe permitir conexiones al exterior desde los usuarios solo desde el servidor proxy y solo a los puertos que comentamos 80,443...

además si quieres evitar también el webmessenger, que es lo que intentan los usuarios el día siguiente de la prohibición del messenger, utiliza el squidguard para evitar conexiones al webmessenger

Saludos

Oex

problemas al ejecutar

hola.
soy primerizo en linux, tengo debian etch, y me instala todo bien,
aun en el paso de squidGuard -C all no tengo problemas
lo unico que me da problemas es tail -f /var/log/squid/squidGurad.log
tail: no se puede abrir «/var/log/squid/squidGurad.log» para lectura: No existe el fichero o el directorio
tail: no queda ningún fichero
pero el archivo si existe.
y aun omitiendo ese paso cuando reinicio el squid todo bien, pero aun no funciona el filtro
si alguien me puede ayudar: miguel_cubias@hotmail.com
porfavor.
Gracias

squidguard usuario privilegiados

Excelente tema! aunque yo tengo problemas a tratar de hacer excepciones de ips, todos me los bloquea o al menos que squidguard solamente soporte rango de ips ejemplo 192.168.1.1 - 192.168.1.10 que sean las excepciones.

Saludos a todos

instalacion en fedora

hola amigos me pueden ayudar con los pasos de instalacion en Fedora

Problema

Miren tengo instalado el squidGuard pero al momenlto de ejecutar me rtealiza el porceso y todo bien al finakl me marca SquidGuard Stopped y me genera los *.db blanco que estoy haciendo mal ? se los agradecere

Filtrar por IP y MAC address

Hola amigos tengo una consulta como puedo habilitar mi proxy solamente para usuarios que deseo, hice un filtrado por Ip pero no es muy eficiente(algunos usan ip de administradores y disfrutan de la banda),quisiera saber como puedo filtrarlos juntando su IP y su MAC address. o hay algun modo mas seguro de hacerlo?

e-mail: jesus151989@hotmail.com

iptables

Puedes probar con iptables que permite el filtrado por mac y/o ip

el mejor programa que conozco para trabajar con scripts del iptables es el fwbuilder muy bueno

videos

porfa alguien puede subir videos sobre este tema

Enviar un comentario nuevo

  • Saltos automáticos de líneas y de párrafos.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <img> <p> <br>
  • You may post code using <code>...</code> (generic) or <?php ... ?> (highlighted PHP) tags.

Más información sobre opciones de formato

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.