====== 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)
###########################\\ # Bloqueamos gateway.dll para versiones viejas de MSN Messenger\\ \\ acl msn url_regex -i gateway.dll\\ \\ http_access allow myred !msn\\ ############################ ====   ====
==== 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 ==== \\ https:%%//%%www.banym.de/linux/build-squid-with-enable-ssl-on-debian\\   ==== 6. Proxy pasarela .. hacia otro ==== cache_peer parent 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/[[https://zion/egw/egw_docroot/wiki/bin/reconsbd_sqG.sh.txt|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/[[https://zion/egw/egw_docroot/wiki/bin/pruebe_sqG.sh.txt|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/[[https://zion/egw/egw_docroot/wiki/bin/actualiza_sqG.sh.txt|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 [[https://zion/egw/egw_docroot/wiki/bin/reconsbd_sqG.sh.txt|reconsbd_sqG.sh]] para cuando adicionan nuevos sitios\\ \\ **I.** Toca poner en algun lado (servidor web) el [[https://zion/egw/egw_docroot/wiki/bin/squidGuard.cgi.txt|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: *   ftp:%%//%%ftp.univ-tlse1.fr/pub/reseau/cache/squidguard_contrib/blacklists.tar.gz  -- *   http:%%//%%www.shallalist.de/Downloads/shallalist.tar.gz  -- *   http:%%//%%squidguard.mesd.k12.or.us/blacklists.tgz -- ==== 5. Proxy Transparente con Autenticacion ==== NO SE PUEDE.. mire unas pocas referencias * http:%%//%%www.faqs.org/docs/Linux-mini/TransparentProxy.html -- * http:%%//%%www.cyberciti.biz/tips/linux-setup-transparent-proxy-squid-howto.html -- * 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 [[egw_docroot/wiki/docs/Bloquer_MSN.html?sessionid=2f1ac59ab69932ecd082369bb6112138|Bloquer_MSN.html]] * http:%%//%%www.deckle.co.za/squid-users-guide/Transparent_Caching/Proxy -- * http:%%//%%www.squid-cache.org/mail-archive/squid-users/200607/0023.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. ----