Proxy con filtro de contenido ( Squid con SquidGuard )
By: Date: noviembre 8, 2010 Categories: Consultoria y Manuales

Los 2 archivos claves aqui son squid.conf y squidguard.conf

squid.conf que en la distros basadas en redhat si se instalo con un RPM estara en /etc/squid, aunque igual puedes compilarte tu squid….

la configuracion en el squid.conf sera muy basica es una simple lista de acceso de que ip podra accesar…. darle la opcion de ser un proxy transparente y un programa que devolvera 0 y 1 para decidir si abre o no la pagina web… en este caso sera un programa secundario el que hara el filtrado…. como el programa hara el filtrado, se permite todo…..

le indicamos la ruta donde queremos que haga un cacheado de navegacion para acelerar la navegacion de internet y la cantidad de espacio que reservamos para el cachado….luego se le dice que reserve 1.5 GB de ram para cachado ram de forma que sea mas rapido que consultar en el disco duro las paginas frecuentes…. teniendo en cuenta que el equipo tiene 2GB de ram… dejamos 512 MB para el sistema operativo y el resto para el proxy… asumiendo que sera un servidor dedicado exclusivamente a proxy, la siguiente linea indica cual es el nombre del host en el que esta y deberia considir con lo que ronponde el comando hostname en la consola… y por ultimo un lugar y archivo para almacenar los logs para la auditoria de lo que visitan los usuarios, ese log se puede auditar con sarg o webalizer entre otros.

acl all src 192.168.1.0/255.255.255.0

http_port 3128 transparent

redirect_program /usr/squidguard/bin/squidGuard -c /usr/squidguard/etc/squidguard.conf
redirect_children 5

http_access allow all

cache_dir ufs /var/spool/squid 10000 16 256
cache_mem 1512 MB
visible_hostname proxylastdragon.com
access_log /var/log/squid/access.log squid

El squidguard se controla con el archivo squidguard.conf, no es de ley pero fue el nombre que le di en redirec_program en el squid.conf

El archivo tiene 4 niveles

las primeras lineas en el caso del ejemplo 2, son la cabecera indican donde esta el home del squidguard y donde almacenara sus logs

le sigue el bloque de fuente o clientes, que pueden ser usuarios, ips o subredes o redes completas ip, en este ejemplo opte por ip por cada cliente

el siguiente bloque son los destinos, es decir a sitios a los que terminaran las conexiones, un simple all es todo abierto, como podria ser engorroso y complicado configurar todo dentro del mismo archivo se le pone, el nombre de un archivo externo donde estara la lista de url, dominios y frases que con las que se quiere trabajar…. estas frases solo pueden ser permitidas o no permitas, pero se ve en el siguiente bloque….

El siguiente bloque son las listas de acceso…

son la combinacion de la fuente con el destino y si esta permitido o no, anteponiendo un admiracion ! en el destino se niega, sin la admiracion se permite

los permisos se leen de izquierda a derecha… por lo que si lo primero que dice es ALL y el siguiente es un !nomessenger suponiendo que tenemos un destino llamado nomessenger y que lo queremos bloquear, este no se va a bloquear por que primero estaba el all y desde ahi ya lo permitimos….en la lista de acceso tambien esta una linea de redireccion, que pagina web abrir en caso de un acceso denegado, el squidguard.conf maneja variables pero no las veremos aqui… con esas variables y rediriguiendolo a un archivo php podemos ademas de mostrarle un acceso denegado al cliente, con programacion en php enviarle un correo al administrador o a nosotros diciendo quien y que pagina prohibida se intento abrir.

En las listas de acceso hay variables especiales por ejemplo in-addr que significa manejar ip. si se le antepone un admiracion, obvio seria negar de forma que !in-addr significa, acceso denegado a cualquier sitio con ip por ejemplo http://200.200.1.1/musica.mp3

¿Para que puede servir? por lo general las redes P2P como kazaa, ares y un largo ETC, incluidos el skype. se llaman entre si por ips no por hostname, basicamente un !in-addr desactiva cualquier posibilidad de interaccion de redes P2P

el archivo squidguard.conf.

dbhome /usr/squidguard/etc
logdir /var/log/squid/squidg

source inetlibre {

}

source basico {

ip 192.168.1.82

}

destination porno {
domainlist porn/domains
urllist porn/urls
expressionlist porn/expressions

}

destination lnegra {
domainlist listanegra.destdomainlist

}

destination accesototal {
urllist accesototal.desturllist
}

acl {
inetlibre {
pass accesototal
}

basico {
pass !porno !lnegra !in-addr accesototal
redirect http://localhost/index.html
}

default {
pass none
redirect http://localhost/index.html
}

}

Video manual

16 thoughts on “Proxy con filtro de contenido ( Squid con SquidGuard )

  1. Mozilla Firefox 3.0.15 Ubuntu Linux

    perfecto, una de las cosas que me hace falta spero el texto pero ya con el video me oriento hacia cosas que no entendia… a ponerle un stop a los usuarios (:
    pd: te la mamaste con la musica x,D

  2. Internet Explorer 8.0 Windows 7

    Oye David, yo soy Contador asi que no se mucho de esto, he bajado varios programas para bloquear paginas a mis empleados, pero por una u otra razon siempre se vuelan la “seguridad” y como aqui todo es sobre windows, pues siempre hay formas jejeje vendeme un server en linux para que todo pase por ahi y se la pelen, pero barato jaja, saludos

  3. Mozilla Firefox 3.0.15 Ubuntu Linux

    Bueno la configuracion ya masomenos me quedo claro, pero…. en cuestion de iptables como le hago para que entre el inet por eth0 y salga por eth1?

  4. Mozilla Firefox 3.6.12 Windows XP

    Unos apuntes meramente personales last…

    1. SquidGuard no es un filtro de contenidos si no un “redirector para squid” por lo que solo trabaja como filtro de URL’s, para un filtro de contenidos real sugeriría Dansguardian (mas complejo, no funciona junto con squid si no antes de squid) o bien si quieren uno que trabaje en conjunto con Squid solo es cuestion de buscar los que soporten ICAP (como POESIA) o bien esperar a que se pula un poco mas el soporte de eCAP.

    2. Por tus ACL’s (mas que nada por el modo transparente cuando ahora se llama intercepcion) veo que estas usando seguro la version 2.x de Squid, sugeriría un upgrade a la 3.x, ya que esta arregla muchos bugs con el soporte de peticiones HTTP 1.1 y tiene sin duda se obtiene un mejor performace sobre todo si piensas ponerlo para que filtra algo mas que solo un par de pcs oficina (20 o mas clientes).

    3. Se, te faltaron las reglas de iptables, pobre Gothic-X =P… de todos modos estan en todos lados estas mismas, aunque en si es muy facil es solo poner en modo NAT la maquina y NAT’ear todo lo que venga por el TCP 80 (y algunos puertos mas) hacia el puerto y direccion que este escuchando Squid.

    4. Ahhh y claro se me olvidaba, el filtro se lo vuelan por HTTPs facilisimo sobre todo si va a estar en modo intercepcion, mi experiencia personal me dice que -aunque es mas tedioso mantenerlo- es mas facil cerrar el puerto de https y solo abrirlo a un numero de IP o Rangos determinados (como windows update, etc…) y claro evitar que usen el metodo connect para que no usen un tunnel https para sacar https a traves por Squid.

    Saludos

  5. Internet Explorer 8.0 Windows 7

    Es cierto que el dansguardian tiene cosillas interesantes, pero el squidguard no es un simple filtro de URL, tambien filtra frases y censura palabras por puntos como lo haria el dansguardian, por ejemplo que llegue a un maximo de 3 palabras en la listas de insultos para bloquear la web visitada, incluso podria descoenctar una platica de MSG si se usan palabras altisonantes

  6. Internet Explorer 8.0 Windows 7

    En mi trabajo he cofigurado proxy squid en Ubuntu para hacer pruebas y jalo excelente…pude controlar a mis usuarios por departamento..[cada departamento tiene accesos diferentes a internet]… y la verdad muy bien..

    Despues cambie el squid a un server windows 2000 y casi el 90% de la configuracion de linux es la misma para windows y todo jala muy bien… pero PERO TENGO UN PROBLEMA GRABE…….

    SQUID NO ME PERMITE BLOKEAR PAGINAS COMO https://www.facebook.com
    https://www.google.com

    y tampoco puedo quitar ese puerto por ke mucha gente usa paginas de bancos….

    ALQUIEN SABE COMO QUITAR ESAS PAGINAS CON SQUID..

  7. Mozilla Firefox 3.6.12 Windows XP

    Hola de nuevo last,

    Creo que sigues confundido con lo que es un filtro de contenidos y uno de URL’s, no voy a sentarme a explicar el por que, ya que seria re-escribir lo que ya se a escrito asi que te remito a mis fuentes…

    Explicación/Descripción de que puede y no puede SquidGuard…
    squidguard.org/about.html

    Como trabajan los “redirectores” en Squid…
    wiki.squid-cache.org/Features/Redirectors

    Considero que con ambos ya tendrás una idea de hacia donde va mi punto y por que Dansguardian o hasta POESIA están en otro nivel

    Saludos
    PD: Si no me crees aun basta con checar el codigo fuente en src/sg.y.in funcion sgAclAccess veras que squidguard solo trabaja sobre las URL’s no sobre el contenido.

  8. Internet Explorer 8.0 Windows 7

    De hecho estoy instalandome un dansguardian para verlo funcionar de cerca, yo hasta hoy no he requiero del dansguardian, con el squidguard me ha dado y sobrado, pero como no me gusta que me cueten, estoy haciendome un laboratorio con dansguardian. tal vez en breve le haga un articulo de como instalarlo y todo, claro si es que vale la pena

  9. Internet Explorer 8.0 Windows 7

    Estimado g30rg3_x, veo q conoces muy bien de dansguardian, me interesa conocer mas sobre esa aplicacion….ojala puedas ayudarme, te dejo mi correo lgjp78@hotmail.com, y ojala puedas ayudarme, sale, pendientes

  10. Google Chrome 19.0.1084.56 Windows 7

    hola a todos una consulta bueno espero puedna ayudarme,

    tengo problemas al bloquear algunas paginas sobretodo el google y el gmail, pues aqui se tiene el correo alojado en google apps, y es un dolor de cabeza tengo instalaldo el centos 6.2 squid 3.1.10 y el dansguardian e filtrado casi todo menos lo que se necesita almenos hasta cierto nivel. esto es segun google

    http://support.google.com/a/bin/answer.py?hl=es&answer=1668854

    por favor necesito ayuda de antemano gracias por todo.

    Saludos.

Deja un comentario

Tu dirección de correo electrónico no será publicada.

Comment spam protected by SpamBam