Squid Proxy Cache
Descripción
Nota: Un proxy tiene como origen un firewall mas un resto de cosas mas, entonces es bueno leer primero el fw-howto.
Requerimientos
- Squid: Software Proxy-Cache.
Como Plugins
- Squid Guard: Se utiliza para configurar los permisos de navegacion por maquina, horario, etc.
- Sarg: Estadisticas de Navegacion
Procedimiento
A. Configure squid para hacer proxy transparente
Edite el archivo /etc/squid/squid.conf y se da permiso únicamente a la sub-red local (myred) adicionando en el sitio correcto las siguientes lineas
acl myred src 192.168.8.0/24
httpaccess allow myred
El sitio correcto para colocarlo esta documentado en el archivo y el tiene el ejemplo con algo llamado our_networks
Para que funcione bien como transparente, debe tambien tener lo siguiente (SOLO version 2.4 o menos)
httpd_accel_host virtual
httpd_accel_port 80
httpd_accel with_proxy on
httpd_accel_user_host_header on
Estas opciones no existen a partir de squid 2.6 .. o sea no las reconoce. O sea en las nuevas toca colocar simplemnete lo siguiente pa que ande
http_port 3128 transparent
En la version 3 ya esta siendo mejor tener dos puertos difeentes .. uno para escuchar y otro para el transparente porque se portan diferente.
http_port 3129 transparent
Tambien esta desaparenciendo la palabra transparent por intercept
B. Reiniciar los servicios de squid con
#> service squid restart.
C. Verfique su funcionamiento local
Colocando un navegador a hacer uso de ese proxy colocando localhost y puerto 3128. Monitoree el funcionamiento del cache con
#> tail -f /var/log/squid/access
interrumpe el tail con ctrl-c.
Esto debe repetirse cuando se active el proxy transparente. Si quiere que los programas de consola hagan uso tambien del proxy es bueno que defina variables de ambiente
#> export ftp_proxy=“http://127.0.0.1:3128”
#> export http_proxy=“http://127.0.0.1:3128”
C. Agregue modulos de webmin por si no existe
Otras configuraciones
1. Antimessenger
a)
###########################
# Para detener aplicaciones como messenger de windows podemos intentar con estas lineas en squid.conf
acl msn_messenger req_mime_type -i ^application/x-msn-messenger$
http_access deny msn_messenger
############################
b)
<HTML><blockquote>
###########################
# Bloqueamos gateway.dll para versiones viejas de MSN Messenger
acl msn url_regex -i gateway.dll
http_access allow myred !msn
############################
</blockquote></HTML>
2. Anti-googletalk
###########################
# Para detener el chat interno en la pagina de correo gmail
acl gtalk url_regex -i “mail\\.google\\.com/mail/channel/bind”
http_access deny gtalk
############################
3. Antimultimedia
###########################
# Para evitar las descargas de archivos de audio o video adicione las siguientes lineas en squid.conf
acl filesdeny url_regex -i \\.mp3$ \\.avi$ \\.wma$ \\.mpg$ \\.wmv$ \\.mpeg$
http_access allow myred !filesdeny
############################
4. Autenticación
A. Local (htaccess)
Es necesario definir el archivo de contraseñas que sera del tipo apache y un ejemplo es
#Default:
# none
# authenticate_program /usr/lib/squid/ncsa_auth /etc/apache/users/usuarios
# auth_param basic program /usr/lib/squid/ncsa_auth /etc/apache/users/usuarios
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
B. Samba
auth_param basic program /usr/lib/squid/smb_auth -W SUBOCOL -U 172.16.1.2
auth_param basic children 5
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hours
auth_param basic casesensitive off
….
acl password proxy_auth REQUIRED
http_access allow password
C. LDAP
Mire el howto de LDAP
D. Active Directory
auth_param basic program /usr/lib/squid/ldap_auth -b dc=codema,dc=com,dc=co -f “(&(ObjectClass=userSecurityInformation)(uid=%s))” platon
auth_param basic children 10
auth_param basic realm Squid proxy-caching web server
auth_param basic credentialsttl 2 hour
4. Control de ancho de banda
http://dns.bdat.net/documentos/squid/x243.html
5 Compilar en Debian con soporte para SSL
6. Proxy pasarela .. hacia otro
cache_peer <Parent_proxy_IP> parent <port> 0 no-query default acl all src 0.0.0.0/0.0.0.0 http_access allow all never_direct allow all
https://access.redhat.com/solutions/259903
Valores Agregados Otros servicios
1. SquidGuard (Control de Cache)
A. SquidGuard es un plugin para squid. Instalelo desde un paquete y si es necesario baje las blacklist nuevas desde http://www.squidguard.org.
El archivo de listas negras o blacklist quedara ubicado en
/var/lib/squidGuard o /usr/share/squidGuard-1.2.0/db
Debian: chastity-list blacklists for SquidGuard
rmdir db/
ln -s ../chastity db
ln -s blacklists db
B. OJO que si desea activarlo tiene que tener en squid la linea
redirect_program /usr/bin/squidGuard -c /etc/squidguard.conf
C. El archivo de configuración esta en /etc/squid/squidGuard.conf. Ahi se colocan, perfiles, horarios, destinos y reglas. Use los formatos estandares ya creados.
** En version antigua colocabamos nuestras regals en prohibidos-permitidos, ahora squidguard trae
D. Se suele generar un grupo de permitidos y otro de prohibidos para incluir las cosas personales y cada vez que se cambie toca reconstruir las bases de datos de sitios con
#> /usr/bin/squidGuard -d -c /etc/squid/squidGuard.conf -C all
tambien se provee script /usr/local/sbin/reconsbd_sqG.sh para esto
E. Para comprobar el funcionamiento del squidGuard use
#> echo “http://foo/bar 10.0.0.1/- - GET” | /usr/bin/squidGuard -c /etc/squid/squidGuard.conf -d
con http://foo/bar como página destino y 10.0.0.1 como fuente de la consulta. OJO hay un script de /usr/local/sbin/pruebe_sqG.sh que hace esto
F. Si desea ver si esta corriendo todo use ps -ax | grep squid o tambien con pstree se ve bien
G. Se tiene un modulo de instalacion para Webmin que sirve para usuario final.
H. Hay un scripcito que debe ponerse en /usr/local/sbin/actualiza_sqG.sh que hace la actualizacion de listas negras. Se puede configurar bien y dejarlo corriendo por ahi una vez por semana.
El baja el archivo blacklists y lo coloca en /var/lib/squidguard/blacklists
En el la pagina hay varios sitios de donde se pueden bajar bases de datos http://www.squidguard.org/blacklists.html –
OJO: Las bases de datos todas deben pertenecer a squid:squid si no NO ANDA chown -R squid:squid /var/lib/squidguard (o el directorio que sea)
En debians es proxy:proxy
Se le da tambien a los usuarios un reconsbd_sqG.sh para cuando adicionan nuevos sitios
I. Toca poner en algun lado (servidor web) el squidGuard.cgi para el mensaje de error.
2. Sarg (Estadisticas Navegacion)
A. Instale
B. Edite el /etc/sarg.conf o (/etc/squid/sarg.conf): Cambie a español y el titulo
language Spanish
..
graphs yes
graph_days_bytes_bar_color orange
…
title “Reportes de Acceso de Squid”
C. Verifique el cron. Ya sea en cron.d o en cron.daily haga un link a sarg-maint
D. Garantice que tiene espacio donde almacenar los informes.
E. Hay un modulo para Webmin, bonito para administar sarg.
3. WCCP (Cisco's Web Cache Coordination Protocol )
- http://www.sublime.com.au/squid-wccp/ - http://www.reub.net/node/3 - http://www.swelltech.com/support/procyonguide/ch10.html - http://homel.vsb.cz/~hal35/cache/wccp/wccp.html - -
4. SquidAnalizer
Esta es una opcion bonita diferente a sarg
https://leninmhs.wordpress.com/2015/03/28/squidanalyzer-debian-squid-stats/
Problemas
1. Squid > 2.5 no funciona con kernel 2.4
2. Squid 2.6 tiene parametros especiales para el proxy-transparente ..
3. Limpiar la cache de squid
- Pare el servicio de squid.
- Ubique el directorio donde se aloja la cache de squid y borre todo su contenido.
- Dijite el siguiente comando squid -z
- Suba el servicio de squid
- Verifique la navegacion en las bitacoras de squid.
4. Listas Negras No Actualizadas
- Las listas negras que se encuentran en http://www.squidguard.org se encuentran desactualizadas. Existen otros sitios en donde podemos encontrar Bases de Datos mí s actualizadas las cuales son compatibles con Squidguard:
- http://squidguard.mesd.k12.or.us/blacklists.tgz –
5. Proxy Transparente con Autenticacion
NO SE PUEDE.. mire unas pocas referencias
- http://nixcraft.com/linux-software/1100-transparent-squid-proxy-authentication.html –
6. "Too few redirector processes are running" "The redirector helpers are crashing too rapidly"
Ojo con el viejo truco de los permisos de las listas negras .. o su ubicacion.
Referencias
- El articulo de bloquear MSN de tuxteno .. pero copia local Bloquer_MSN.html
- Guia para hacer un proxy transparente de varias formas http://www.visolve.com/squid/whitepapers/trans_caching.php –
————————- FIN ————————
=========================================================================
Procedimiento Como Bloquear SItio con SquidGuard
=========================================================================
=========================================================================
=========================================================================
Kasandra 15/03/2006 Primera version
kurtdavis10 17/08/2007 Segunda Version
kurtdavis10 01/09/2009
Advertencia
Este documento es privado y es de uso exclusivo de sus autores y de SKINA TECH. Cualquier uso sin una autorización escrita es contra la ley de derechos de autor y de propiedad intelectual, y será motivo de una acción legal.