You are on page 1of 10

Squid

Squid es un popular programa de software libre que implementa un servidor proxy y un dominio para cach de pginas web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor web, guardando en cach peticiones repetidas a DNS y otras bsquedas para un grupo de gente que comparte recursos de la red, hasta cach de web, adems de aadir seguridad filtrando el trfico. Est especialmente diseado para ejecutarse bajo entornos tipo Unix.

Squid ha sido desarrollado durante muchos aos y se le considera muy completo y robusto. Aunque orientado principalmente a HTTP y FTP es compatible con otros protocolos como Internet Gopher. Implementa varias modalidades de cifrado como TLS, SSL, y HTTPS.

Caractersticas

Squid posee las siguientes caractersticas:

Proxy y Cach de HTTP, FTP, y otras URL : Squid proporciona un servicio de Proxy que soporta peticiones http, HTTPS y FTP a equipos que necesitan acceder a Internet y a su vez provee la funcionalidad de cach especializado en el cual almacena de forma local las pginas consultadas recientemente por los usuarios. De esta forma, incrementa la rapidez de acceso a los servidores de informacin Web y FTP que se encuentra fuera de la red interna.

Proxy para SSL : Squid tambin es compatible con SSL (Secure Socket Layer) con lo que tambin acelera las transacciones cifradas, y es capaz de ser configurado con amplios controles de acceso sobre las peticiones de usuarios.

Jerarquas de cach: Squid puede formar parte de una jerarqua de caches. Diversos proxys trabajan conjuntamente sirviendo las peticiones de las pginas. Un navegador solicita siempre las

pginas a un slo proxy, si este no tiene la pgina en la cach hace peticiones a sus hermanos, que si tampoco las tienen las hacen a su/s padre/s... Estas peticiones se pueden hacer mediante dos protocolos: HTTP e ICMP.

ICP, HTCP, CARP, cach digests : Squid sigue los protocolos ICP, HTCP, CARP y cach digests que tienen como objetivo permitir a un proxy "preguntarle" a otros proxys cach si poseen almacenado un recurso determinado.

Cach transparente : Squid puede ser configurado para ser usado como proxy transparente de manera que las conexiones son enrutadas dentro del proxy sin configuracin por parte del cliente, y habitualmente sin que el propio cliente conozca de su existencia. De modo predefinido Squid utiliza el puerto 3128 para atender peticiones, sin embargo se puede especificar que lo haga en cualquier otro puerto disponible o bien que lo haga en varios puertos disponibles a la vez.

WCCP : A partir de la versin 2.3 Squid implementa WCCP (Web Cache Control Protocol). Permite interceptar y redirigir el trafico que recibe un router hacia uno o ms proxys cach, haciendo control de la conectividad de los mismos. Adems permite que uno de los proxys cach designado pueda determinar como distribuir el trfico redirigido a lo largo de todo el array de proxys cach.

Control de acceso : Ofrece la posibilidad de establecer reglas de control de acceso. Esto permite establecer polticas de acceso en forma centralizada, simplificando la administracin de una red.

Aceleracin de servidores HTTP

: Cuando un usuario hace peticin hacia un objeto en Internet, este es almacenado en el cach, si otro usuario hace peticin hacia el mismo objeto, y este no ha sufrido modificacin alguna desde que lo accedi el usuario anterior, Squid mostrar el que ya se encuentra en el cach en lugar de volver a descargarlo desde Internet. Esta funcin permite navegar rpidamente cuando los objetos ya estn en el cach y adems optimiza enormemente la utilizacin del ancho de banda.

SNMP : Squid permite activar el protocolo SNMP, este proporciona un mtodo simple de administracin de red, que permite supervisar, analizar y comunicar informacin de estado entre una gran variedad de mquinas, pudiendo detectar problemas y proporcionar mensajes de estados.

Cach de resolucin DNS : Squid est compuesto tambin por el programa dnsserver, que se encarga de la bsqueda de nombres de dominio. Cuando Squid se ejecuta, produce un nmero configurable de procesos dnsserver, y cada uno de ellos realiza su propia bsqueda en DNS. De este modo, se reduce la cantidad de tiempo que la cach debe esperar a estas bsquedas DNS.

Instalar y configurar un servidor proxy con Squid

En el contexto de las redes informticas, el trmino proxy hace referencia a un programa o dispositivo que realiza una accin en representacin de otro. Su finalidad ms habitual es la de servidor proxy, que sirve para permitir el acceso a Internet a todos los equipos de una organizacin cuando slo se puede disponer de un nico equipo conectado, esto es, una nica direccin IP.

En este caso vamos a utilizar squid, este es un popular programa de software libre que

implementa un servidor proxy y un demonio para cach de pginas web, publicado bajo licencia GPL. Tiene una amplia variedad de utilidades, desde acelerar un servidor web, guardando en cach peticiones repetidas a DNS y otras bsquedas para un grupo de gente que comparte recursos de la red, hasta cach de web, adems de aadir seguridad filtrando el trfico. Est especialmente diseado para ejecutarse bajo entornos tipo Unix.

Para comenzar, la instalacin es sencilla en Ubuntu :

sudo aptitude install squid

Configuracin bsica de Squid

El archivo de configuracin se encuentra en /etc/squid/ y se llama squid.conf, si lo observan es un archivo bastante grande, ya que squid como lo comentaba, es un servidor proxy bastante completo. Una configuracin bsica debe incluir, al menos, los parmetros que se indican a continuacin:

* http-port: Establece el puerto de escucha para squid (por defecto puerto 3128). * visible_hostname: nombre del equipo. * acl: a cada ACL o lista de control de acceso se le hace corresponder una regla de control de acceso (http_access) que es la que permite o deniega las conexiones definidas en cada acl.

Parmetro cache_dir: Cuanto desea almacenar de Internet en el disco duro?

Este parmetro se utiliza para establecer que tamao se desea que tenga el cach en el disco duro para Squid. Para entender esto un poco mejor, responda a esta pregunta: Cuanto desea almacenar de Internet en el disco duro? De modo predefinido Squid utilizar un cach de 100 MB, de modo tal que encontrar la siguiente lnea:

cache_dir ufs /var/spool/squid 100 16 256

Se puede incrementar el tamao del cach hasta donde lo desee el administrador. Mientras ms grande sea el cach, ms objetos se almacenarn en ste y por lo tanto se utilizar menos el ancho de banda. La siguiente lnea establece un cach de 700 MB:

cache_dir ufs /var/spool/squid 700 16 256

Los nmeros 16 y 256 significan que el directorio del cach contendr 16 directorios subordinados con 256 niveles cada uno. No modifique esto nmeros, no hay necesidad de hacerlo.

Es muy importante considerar que si se especifica un determinado tamao de cach y ste excede al espacio real disponible en el disco duro, Squid se bloquear inevitablemente. Sea cauteloso con el tamao de cach especificado.

Ejemplo: Denegar la direccin www.youtube.com a todas las mquinas Abrimos y editamos el fichero de configuracion de squid squid.conf

#Parmetros obligatorios: visible_hostname debian http_port 3128 cache_mem 64 MB cache_dir ufs /var/spool/squid 700 16 256 cache_access_log /var/log/squid/access.log cache_log /var/log/squid/cache.log

Listas de control de acceso: acl all src 0.0.0.0/0.0.0.0 acl denegado dstdomain www.youtube.com acl localhost src 127.0.0.1

#Control de acceso: http_access deny denegado !localhost http_access allow all error_directory /usr/share/squid/errors/Spanish

En esta configuracin , se observa en el apartado de parmentros obligatorios el puerto de escucha, el nombre del servidor (si no sabes cual es el nombre de tu mquina, ve a una terminal y teclea hostname), tamao de memoria cache y las rutas; en el segundo apartado se encuentran las listas de control de acceso, las cuales se asigna el rango de ips, asignacin de dominio, etc; en el tercer apartado es el control de acceso, una vez asignadas las listas de control con http_access deny se deniegan ya sea ips dominios, y con http_access allow, se permite lo mismo, tmb por ah aparece una linea error_directory la cual muestra los mensajes de advertencia en idioma espaol.

Reseteamos squid:

# /etc/init.d/squid restart

Si no aparece ningn mensaje de error entonces nuestro proxy debe de funcionar deacuerdo a lo establecido, para poder probar ve a un navegador de una mquina que este conectada en la misma LAN, ve a propiedades y habilita el uso de proxy, en la ip , hay que poner la ip de nuestra mquina que tiene el squid corriendo.

Cuando hagan pruebas les bloquear www.youtube.com, pero si ponen youtube.com si los dejar entrar, para eso se utiliza otra lista de control de acceso:

acl denegado url_regex /home/tuusuario/denegados

You might also like