Fabián L. Cortes
Procedimiento para la instalación del Squid Proxy Server en Linux Ubuntu Este procedimiento pretende instalar un servidor en linux, con el fin de controlar el acceso a url de forma eficiente y a un bajo costo. Squid proxy server es un HTTP proxy muy utilizado por su eficiencia y múltiples aplicabilidades en el mundo empresarial, sobre todo cuando los recursos económicos no dan para obtener soluciones comerciales empresariales.
Paso0. Instalar el Squid proxy server root@Arthas:~# apt-get install squid
Paso1. Editar el archivo de configuración del squid proxy /etc/squid/squid.conf vi /etc/squid/squid.conf
Paso2. Buscar, editar o remover el símbolo de comentarios a las líneas a continuación de forma tal que queden como se muestra:
Línea que indica por qué puerto el proxy va a escuchar http_port 3128
Usuario propietario del cache cache_effective_user proxy
Grupo propietario del cache cache_effective_group proxy
Email de contacto en caso de un error o mensaje de advertencia: cache_mgr elemail@compania.com
Nombre del servidor donde está el squid ejecutándose: visible_hostname arthas
1
Fabián L. Cortes
2
Directorio donde se localizará la estructura del cache del squid: cache_dir ufs /var/spool/squid 100 16 256
100 = Tamaño total en Megabytes del cache en su estructura. 16 = Son los primeros 16 directorios de primer nivel. 256 = Son los directorios de segundo nivel. Nota: Por experiencia, es importante anotar que squid recomienda que los directorios de primer nivel sean 32 y no 16 con el fin de retardar el proceso de utilización del cache y por labores de mantenimiento del mismo.
Ruta de ubicación del log del cache cache_log /var/log/squid/cache.log
Ruta de ubicación del log de almacenamiento cache_store_log /var/log/squid/store.log
Ruta de ubicación del log de acceso al squid access_log /var/log/squid/access.log Nota: Es importante no colocar el parámetro de squid al final de la línea anterior, dado que si se va a utilizar el SARG o Lightsquid como generadores de reportes puede ocasionar problemas para el análisis. Guardamos los cambios y reiniciamos el servicio o demonio de squid: /etc/init.d/squid restart * Restarting Squid HTTP proxy squid [ OK ]
Paso3. Brindar acceso a la red para que pueda navegar a través del squid proxy: vi /etc/squid/squid.conf
Editar en la siguiente zona:
Fabián L. Cortes
3
a) Crear la regla para un equipo o una red completa b) Una vez realizado el paso (a) aplicar la regla # INSERT YOUR OWN RULE(S) HERE TO ALLOW ACCESS FROM YOUR CLIENTS acl red0 src 192.168.0.0/24
http_access allow red0 http_access allow localhost # And finally deny all other access to this proxy http_access deny all
Guardar los cambios y reiniciar el sdemonio de squid
/etc/init.d/squid restart * Restarting Squid HTTP proxy squid [ OK ]
Finalmente configurar el browser para que navegue a traves del proxy server y verificar con el siguiente comando que esto esté sucediendo: tail -f
/var/log/squid/access.log
Una vez confirmado lo anterior se procede a crear un ejemplo de regla o control de navegación: Crear un archivo que contendrá los patrones de filtrado url que se desea: vi /root/squid-block.acl Ingresamos los patrones a bloquear: stream.aol 64.236.34.196 .mocosoft.com .playboy.com www32.megaupload.com Esto hará que el proxy bloquee aquellas páginas cuyo patrón concuerden con lo que contiene el archivo squid-block.acl
Fabián L. Cortes
4
Editar el archivo de configuración del squid proxy: vi /etc/squid/squid.conf a) Debajo de la línea donde se declara la lista o la red a la cual le permitimos acceso con el squid, colocamos la siguiente línea: acl bad url_regex “/root/squid-block.acl”
b) A continuación colocar de primero la siguiente línea, antes de la aplicación de las acl creadas en el paso3. http_access deny bad http_access allow red0 http_access allow localhost # And finally deny all other access to this proxy http_access deny all
Donde bad es el nombre de la regla que se creó en el paso (a).
Guardar los cambios y reiniciar el demonio squid:
/etc/init.d/squid restart * Restarting Squid HTTP proxy squid [ OK ]
Realizar las respectivas pruebas de navegación en sitios que contengan los patrones bloqueados.
Ejemplo de cómo bloquear el messenger: Hasta ese punto usted tendrá un conocimiento básico de todo el potencial que puede tener squid proxy, sin embargo para que sea más fácil su administración es recomendable instalar el webmin. Si no sabe instalarlo aquí hay un ejemplo de cómo bloquear el messenger de forma efectiva
Editar el archivo de configuración del squid y adicionar las siguientes líneas tal cual como se manifestó anterior mente:
Fabiรกn L. Cortes
acl msnmime req_mime_type ^application/x-msn-messenger acl msngw url_regex -i gateway.dll http_access deny msnmime http_access deny msngw
5