Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Este documento describe los procedimientos requeridos para monitorizar en tiempo real las conexiones del proxy Squid y administrar las listas de acceso locales de squidGuard.
Tabla de contenidos
Introduccin Introduccin a los archivos de configuracin y logs de Squid y SquidGuard Monitorizando las peticiones de los clientes al Proxy Squid Monitorizando los dominios y URLs bloqueados por squidGuard Agregando dominios y URLs a las listas de acceso locales de de Squid Agregando dominios y URLs a las listas de acceso locales de SquidGuard Creando reglas de acceso pora usuarios LDAP Tareas de administracin sobre el cache de Squid Configurando Squid para no cachear ciertos dominios Purgando objetos del cache de Squid Como ver una lista de los objetos ms grandes en el cache de Squid Limpiando el cache de Squid por completo Referencias adicionales
Introduccin
En este documento se describen los procedimientos para realizar las tareas de administracin ms comnes en el servidor proxy Squid y el filtro de URLs SquidGuard, las principales tareas a realizar son son:
y y
Monitorizar las conexines al proxy Squid en tiempo real Modificar las listas de control de acceso locales de squidGuard
y y y
Re cargar la configuracin de squid para que las nuevas ACLs tomen efecto en un sistema en produccin Agregar dominios que no deben de ser cacheados a la ACL de cache deny Purgar objetos del cache de Squid
Las tareas a realizar deben de ser realizadas desde un shell local o remoto por lo que se requiere conocimiento bsico del shell de Linux y edicin de archivos de texto.
Archivo principal de configuracin del programa Squid, en este archivo se mantienen parametros de configuracin globales y listas de control de acceso, entre otras cosas.
/etc/squid3/squidGuard.conf
Archivo principal de configuracin del filtro de URLs squidGuard, en este archivo se mantienen parametros de configuracin globales, definicin de listas negras y listas de control de acceso. Se recomienda monitorizar constantemente los logs de Squid y Squ idGuard para asegurarse que su operacin es optima, a continuacin se muestra una lista de los archivos de logs importantes y como monitorizarlos de una forma fcil de visualizar.
/var/log/squid3/cache.log
Archivo de log del proceso Squid, en este log se r egistran eventos propios del proxy squid, es aqu donde nos dira si todo esta bien o si algo fallo al reiniciar o recargar la configuracin de Squid. Puede usar el comando multitail para ver los logs en tiempo real y en un formato coloreado para una facil visualizacin.
# multitail -cS squid /var/log/squid3/cache.log
/var/log/squid3/access.log
Archivo de log del proceso Squid , en este log se registran los accesos al proxy, en este log podemos ver las conexiones aceptadas y rechazadas por squid de acuerdo a las reglas de acceso acl y controles http_access y http_reply_access. Puede usar el comando multitail para ver los logs en tiempo real y en un formato coloreado para una facil visualizacin.
# multitail -cS squid /var/log/squid3/access.log
O tambin puede usar el alias del shell squidalogs. /var/log/squid3/squidGuard.log Archivo de log del proceso SquidGuard , aqu veremos informacin de la compilacin de la ejecucin de squidGuard, compilacin de listas negras o si algo fallo al recargar las listas de control de acceso.
# multitail -cS squid /var/log/squid3/squidGuard.log
/var/log/squid3/blocked.log
Para ver los logs de sitios bloqueados por las listas negras ver:
# multitail -cS squid /var/log/squid3/blocked.log
O tambin puede usar el alias del shell squidalogs. Se recomienda usar el programa screen(1) para tener sesiones persistentes y manejo de ventanas en un mismo shell, se sugiera que abra 3 ventanas dentro de screen para monitorizar la actividad de los accesos y procesos de squid y squidGuard. El comando para crear nuevas ventanas dentro de una sesin de screen es Ctrl+a c .
Si desea detener o pausar la visualizacin presione la tecla p, para despausar la visualizacin de logs vuelva a presionar p. Si en el log se registra mucha actividad y no alcanzo a ver algn mensaje puede presionar la tecla b y hacer scroll hacia arriba o abajo en el buffer de multitail, para salirse del buffer vuelva a presionar la tecla b. Si desea resaltar alguna e ntrada presione ? y escriba la palabra clave que dese resaltar. Para salir del programa multitail presione la tecla q. Tambin se instal el programa squidview para monitorizar en una diferente forma las peticiones al proxy Squid, para usar squidview solo ejecute:
# squidview
Por default squidview se encuentra en modo Monitor, es decir, esta mostrando las conexiones en tiempo real, si desea detener el modo monitor para ver con detenimiento alguna conexin presione la tecla m, para volver a activar el modo monitor vuelva a presionar la tecla m.
Puede usar las teclas Up/Down/PgUp/PgDn para navegar entre las diferentes entradas y ver detalles de cada una, por ejemplo seleccione una entrada y presione v para ver la entrada con ms detalles tal y como aparecen en el log /var/log/squid3/access.log, note que se muestra el tamao de la peticin.
Tambin puede ver informacin ms especifica sobre el nmero de peticiones y bytes transferidos presione la tecla T para entrar al modo tally.
O si desea ver los accesos de un solo usuario, seleccione el usuario y presione la tecla O (Mayuscula) para ver un historial de dicho usuario o IP.
Fuente de la peticin y categora: (default/ movies /-) URL solicitado: http://www.youtube.com/v/m6PGUMJNvEU Direccin IP del cliente: 192.168.1.186
Para agregar un dominio a la lista de control de acceso de dominios ( dstdomain) agrege el nombre del dominio deseado al final del archivo /etc/squid3/acls/dominios_permitidos.acl, recuerde que si desea controlar el acceso a subdominios debe de escribir un " ." al inicio del nombre del dominio, por ejemplo:
# su proxy -c 'echo ".permitido-seguro.com" >> /etc/squid3/acls/dominios_permitidos.acl'
Si no escribe el " ." al inicio del nombre los usuarios no podran entrar a sitios como www.permitido-seguro.com. Despues de anexar el dominio al archivo externo de lista de acceso se aconseja ejecutar una revisin sintactica de los archivos de configuracin de Squid, para realizar la revisin usemos la opcin parse del comando squid, por ejemplo:
# squid -k parse
Si el comando anterior no devuelve algn mensaje de tipo WARNING se puede asumir que la sintaxis de las configuraciones son correctas por lo que ya se puede enviar la instruccin a / usr/sbin/squid3 para que re cargue las nuevas reglas y se apliquen, para aplicar las nuevas reglas use la opcin reconfigure, por ejemplo:
# squid3 -k reconfigure
En este momento debe asegurarse de visualizar los logs de squid en el otro shell, asegurese de ver un mensaje como:
2009/09/07 12:13:25| Accepting HTTP connections at 0.0.0.0, port 3128, FD 14. (...) 2009/09/07 12:13:25| Ready to serve requests.
El mensaje anterior significa que Squid ya vuelve a aceptar conexines en el puerto 3128 y que esta listo pare recibir peticiones. Para agregar un URL a la lista de acceso de URLs (dstdomain) agrege el nombre del dominio dominio deseado al final del archivo /etc/squid3/acls/dominios_permitidos.acl, recuerde que si desea controlar el acceso a subdominios debe de escribir un " ." al inicio del nombre del dominio, por ejemplo:
# su proxy -c 'echo "http://sitio-denegocios.com/downloads/" >> /etc/squid3/acls/urls_permitidos.acl'
Revise la sintaxis con la opcin parse y si no hay problemas re cargue la configuracin de Squid con la opcin reconfigure.
Importante Si crea ms ACLs basadas en archivos recuerde crearlos con el usuario
Para eliminar un dominio de una lista de acceso simplemente borre la linea del archivo .acl y use los parametros parse y reconfigure del programa squid3 para que el cambio tome efecto.
Las listas de acceso que usa squidGuard son archivos en formato texto plano, para eficientar la carga y la busqueda de dominios o URLs de listas de acceso, estos archivos en formato texto plano deben ser convertidas al formato Berkeley DB (.db), el programa /usr/bin/squidGuard puede convertir las listas en texto plano al formato db.
Importante El usuario que ejecuta el programa /usr/sbin/squid3 debe de tener los permisos para leer y escribir en el directorio /var/lib/squidguard/db/, para evitar problemas con los permisos se recomienda que los comandos para actualizar las listas se ejecuten como usuario proxy.
El procedimiento para agregar dominios o URLs a las listas blancas o negras locales de SquidGuard es el mismo, solo cambian las rutas de los archivos que controlemos. Agregando un dominio a la lista blanca local:
# su proxy -c 'echo "sitio-proveedor.com.mx" >> /var/lib/squidguard/db/local/lista_blanca/domains'
pQE PRb QWT`uQ `YU xQ `YU b q bE QWT`uQ `YU w sv u E E Ct F CB D BDF hS SRb WR QqqVRWgER U g rs Rr bqp b E ihRWg `U f
/ t /
$& %$ e 5
i
$ e 5
i
FF CDIFF BH CDIFF BH d CDI BH c UP TSRQ T bPT X T U T bR XQ QWT`aQ `YU X WTV U P TSRQ P CDIFF BH & 5 & '
/l /
[ [ [ [
2 @ 8 20 9 $ 5 44 53 6 A! 2 8 20 9 $ 8 0 66 6 5 44
A S
$% 110 ( % ) % & ' $ % $ &% $ !# " !
P
Si l
Nota E l li t
: : :
: : :
l l i i .
[ [ [
t t
6] i . t t 6] db date done 6] i t
ti l li t t l
lf lf
t . , t B l
66 .
El
j l li t .
Si l i
t l
i proxy ll /
: : : :
6: 6: 6: 6:
li
&&
ll
, l
l li t
] i it i li t / /li / i / /l l/li t l / i ] loading dbfile / ar/lib/squidguard/db/local/lista_blanca/domains.db ] Error db_open: Permission denied ] Going into emergency mode
t l
fi
t l i
li
.l
66 .
li t
i l l reconfigure.
. 6
ifi
45
i i
ti
ti
@7
1 1 10 12 415110 12 4 5
P Si i i
i
ifi
tt :// iti . f
il :
i i t
l li t li
.
l li t
. .
:
. / E i
ti l . j : i . i ,l j : t
li t l i i
li i i
l li l t l
Recargue las configuraciones de squid para que los cambios tomen efecto:
# squid3 -k parse && squid3 -k reconfigure
Para verificar que un nuevo dominio agregado a la lista negra sea bloqueado efectivamente use:
# su proxy -c 'echo "http://webmessenger.es 192.9.202.80/ jorge.medina GET" | squidGuard -c /etc/squid3/squidGuard.conf -d'
En caso de que el dominio a permitir se encuentre bloqueado por alguna categora de lista negra en squidGuard, se deben de realizar los siguientes pasos: Agregar dominio example.com a la lista blanca de squidGuard, por ejemplo:
# su proxy -c 'echo "example.com" >> /var/lib/squidguard/db/local/lista_blanca/domains'
yy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyyyy yyy
Revise la sintaxis con la opcin parse y si no hay problemas re cargue la configuracin de Squid con la opcin reconfigure.
4 /etc/squid3/acls/dominios_no_cache.acl
Agregamos el ACL para el metodo PURGE, usado para purgar objetos del cache:
# ACL para acceso al metodo PURGE acl PURGE method PURGE
Si desea purgar un objecto del cache, debemos de obtener el URL completo, por ejemplo del archivo de log del almacenamiento del cache: Por ejemplo en el log /var/log/squid3/store.log tenemos:
12 7722993.713 SWAPOUT 00 001 C 4 C431F CB88C931B9C 2E1F8B99C941C2F 200 12 7723001 12 7087823 12 7 744 01 image/jpeg 5470/5470 GET http://i929.photobucket.com/albums/ad139/miamorcito_2009/th_belu.jpg
El objeto que queremos purgar es http://i929.photobucket.com/albums/ad139/miamorcito_2009/th_belu.jpg . Para purgarlo use el comando squidclient:
# squidclient -m PURGE http://i929.photobucket.com/albums/ad139/miamorcito_2009/th_belu.jpg HTTP/1.0 200 OK Server: squid/3.0.STABLE8 Mime-Version: 1.0 Date: Thu, 04 Mar 2010 17:17:21 GMT Content-Length: 0 X-Cache: MISS from localhost X-Cache-Lookup: NONE from localhost:3128 Via: 1.0 localhost (squid/3.0.STABLE8) Proxy-Connection: close
12 7723041.19 RELEASE -1 FFFFFFFF 8DDE5A 1351 C3850A473 2 9A 2F748 200 12 7723041 0 -1 unknown 0/0 PURGE http://i929.photobucket.com/albums/ad139/miamorcito_2009/th_belu.jpg
Note el codigo 200 (OK) y PURGE al objeto. Si desea purgar todos los objetos de un dominio en especifico puede usar la siguiente lnea:
# for i in `grep tuxjm.net /var/log/squid3/store.log | \ awk '{ print $13 }' | grep -v '?$' | grep -v '/$'`; do squid3client -m PURGE $i; done
P i
li i . t
i i t
l t l
i i : i :
i t
i i
t t
. Eli i
f/
l/
Nota Si i t
. :
. I i i li
gd
i
l
: /
l/
. I i i
i :
i t t
/ t /i it. /
P .
li
i t
l l
i t
f i :
/ t /i it. /
E . Eli i
f/
l l
/l /
i
i /
t
. t t
. I i i
i :
i t t
/ t /i it. /
eferencias adicionales
y
fi
S i
i : . /S i / fi i S i
tt :// i i.
f fi m fe
fe lk lk jd ih
f fi m fe d
fe d
/ t /i it. /
E l t i
/*
l l i t i
t l
l i:
i t
i l
f f
l i
i i
t :
l
/l / i
i
/
i t
. t t