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:

5. Proxy Transparente con Autenticacion

NO SE PUEDE.. mire unas pocas referencias

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

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


 

Volver arriba