Вы находитесь на странице: 1из 8

Proxy SQUID

1. Introduccin
Un proxy, en una red informtica, es un programa o dispositivo que realiza una accin en representacin de otro. As, si una mquina A solicita un recurso a una mquina C, lo har mediante una peticin a B. C entonces no sabr que la peticin procedi originalmente de A. Su finalidad ms habitual es la de servidor proxy, que sirve para interceptar las conexiones de red que un cliente hace a un servidor de destino, por varios motivos posibles como seguridad, anonimato, etc. rendimiento,

Podemos encontrar distintos tipos de Proxy: Servidor proxy HTTP: opera en la capa de aplicacin TCP/IP. puerto de comunicacin de entrada 80/http segn IANA, aunque generalmente suelen utilizar otros puertos de comunicacin como el 3128, 8080 o el 8085. Servidor proxy HTTPS: opera en la capa de aplicacin TCP/IP. a diferencia de un Servidor HTTP funciona bajo tecnologas de cifrado comoSSL/TLS que proporcionan mayor seguridad. puerto utilizado debe ser 443/https aunque puede ser otro. Servicio Proxy o Proxy Web: funcionamiento basado en el del Proxy HTTP y HTTPs la diferencia fundamental es que la peticin se realiza mediante una aplicacin web embebida en un Servidor HTTP al que se accede mediante una direccin DNS. Es decir, se trata de una pgina web en la que se muestra el resultado de la peticin realizada a travs del Proxy (en una especie de frame o marco). se accede a ellos a travs de la Internet y son ellos los que hacen las peticiones por el cliente, mandndole despus los resultados. Proxy Cach: funcionamiento similar al de un proxy HTTP o HTTPs. su funcin es precargar el contenido web solicitado por el usuario para acelerar la respuesta Web en futuras peticiones de la misma informacin (bien de la misma mquina o bien desde otras).

Proxy SQUID
Instalar un proxy-cach HTTP en el PC tiene varias ventajas:

Permite compartir la conexin a Internet. El cach permite mostrar rpidamente las pginas web, incluso si no se comparte la conexin.

Tambin permite filtrar las pginas no deseadas.

2. Instalacin del Proxy


sudo aptitude install squid

3. Configurar el proxy
sudo gedit /etc/squid/squid.conf

a. Nombrar el proxy
Squid necesita conocer el nombre de la mquina. Por ejemplo, si la mquina se llama ubuntu, pondremos: visible_hostname ubuntu

b. Puertos e interfaz de escucha


Por defecto, el puerto de escucha del servidor proxy ser 3128. Para elegir otro puerto, sustituye el nmero de puerto en la lnea que contenga: http_port 3128 por: http_port XXXX Por defecto el servidor proxy escucha por todas las interfaces. Por razones de seguridad, slo debes hacer que escuche en tu red local. Por ejemplo si la tarjeta de red ligada a tu LAN tiene la IP 10.0.0.1, modifica la lnea nuevamente indicando tambin la interfaz: http_port 10.0.0.1:3177

Proxy SQUID

c. Definir los derechos de acceso


Por defecto, nadie est autorizado a conectarse al servidor proxy excepto tu mquina. Es necesario crear una lista de autorizacin para permitir sus conexiones. Para definir un grupo que abarque toda la red local, buscaremos la lnea del archivo que comienza por acl localhost... y al final de la seccin aadiremos: acl lanhome src 10.0.0.0/255.255.255.0

Proxy SQUID
Ahora que el grupo est definido, vamos a autorizarlo para que utilice el proxy. Buscamos la lnea que contenga http_access allow... y debajo aadiremos (antes de la lnea http_access deny all) http_access allow lanhome

Pero si una vez que se ha declarado acceso total a una red se quiere excluir del acceso a alguna de las ips ah includas, se puede crear un fichero de texto plano que contenga un listado de las ips a excluir. Ese fichero se depositar en /etc/squid/exclusiones y servir para crear un grupo de denegacin llamado excluidas. El grupo se declarar as: acl excluidas src "/etc/squid/exclusiones" Finalmente, slo nos queda aadir a la lnea que contiene la entrada http_access allow lanhome la coletilla !excluidas para sacar del grupo lanhome a las mquinas del grupo excluidas. La entrada quedar entonces como: http_access allow lanhome !excluidas

d. Autorizar los puertos no estndar


Por defecto, Squid slo autoriza el trafico HTTP en algunos puertos (80, etc.) Esto puede ocasionar problemas a algunas pginas web que utilizan otros puertos Ejemplo: http://toto.com/:81/images/titi.png seria bloqueado por Squid al tratarse de una peticin por el puerto 81. Para evitar que lo bloquee, encuentra la lnea: http_access deny !Safe_ports Y agrega un comentario: #http_access deny !Safe_ports 4

Proxy SQUID

4. Iniciar el proxy
Reinicia el proxy para que tome en cuenta la nueva configuracin que acabamos de realizar. sudo /etc/init.d/squid restart A partir de ahora el proxy debera funcionar. Slo hay que configurar los diversos programas para que lo utilicen (navegadores, clientes de correo, clientes ftp, ).

5. Logs
Squid deposita la informacin sobre los sucesos acontecidos en el fichero /var/log/squid/access.log

6. Cach
Por defecto, el modo cach de Squid est activado y eso permite que las pginas se carguen ms rpido al almacenarse en el Proxy y servirse en lo sucesivo desde ah. El tamao por defecto de la cach es de 100 Mb y est ubicada en /var/spool/squid. Para cambiar el tamao buscaremos la lnea siguiente en el archivo /etc/squid/squid.conf y cambiaremos el valor de 100 por el deseado: # cache_dir ufs /var/spool/squid 100 16 256 100 cantidad mxima de datos que contendr en megabytes. Una vez se alcanza este lmite, la entrada ms antigua que se pidi ser sustituida por la nueva. 16 nmero mximo de directorios de 1er nivel bajo el directorio de memoria cach. El valor predeterminado de 16 es adecuado, pero es posible que desee aumentar ste en caso de querer almacenar informacin sobre ms webs. 256 nmero mximo de directorios de 2 nivel (subdirectorios dentro de los de primer nivel). El tiempo mximo que estarn en memoria cach los contenidos se declara en la lnea que contiene reference_age. Por defecto es de un ao y los valores que se pueden introducir son day, week, month y year.

Proxy SQUID
reference_age 1 month La lnea anterior especifica un tiempo de vida de 1 mes para los contenidos cacheados.

7. Proxy transparente
Una posibilidad que nos interesa plantearnos es la de utilizar nuestro servidor proxy de modo "transparente" para evitar configuraciones extra en los clientes o incluso para evitar que los mismos conozcan la infraestructura real de la red. De esta forma nuestras mquinas saldrn a la red Internet a travs del proxy, pero de la misma forma que lo haran mediante el router ADSL. Para ello, usando iptables redireccionaremos todas las peticiones al puerto 80 de nuestra red local hasta el puerto 3128 (o el puerto configurado anteriormente) donde escucha SQUID ripper@equiporipper# /sbin/iptables t nat A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128 De la misma forma podremos redirigir otros servicios.

8. Opciones
Squid posee una gran cantidad de opciones y mdulos: prefetch (para pre-cargar las paginas y de este modo acelerar la navegacin) filtros antivirus, anti-popups, etc. control de acceso al proxy con login y contrasea. control de acceso en funcin de la hora. etc.

Para aadir estas funcionalidades, abre Synaptic, y haz clic en el botn Buscar y entra Squid para encontrar los mdulos relacionados a Squid.

Proxy POLIPO
Instalar y configurar Proxy polipo
sudo apt-get install polipo Luego debemos configurar los programas utilizar localhost:8123 como proxy. (navegador, etc.) para

Por defecto polipo es nicamente accesible desde nuestra mquina: por lo que no hay ningn riesgo de seguridad. Podremos configurar diversas opciones que a continuacin se detallan.

Utilizar un servidor DNS alternativo


Para un mayor rendimiento, polipo hace las resoluciones DNS el mismo, y no pasando por el sistema operativo. Utiliza directamente los DNS inscritos en /etc/resolv.conf Sin embargo podemos pedir a polipo que utilice otros servidores DNS (por ejemplo para utilizar OpenDNS). Para ello debemos agregar el parmetro:

Proxy POLIPO
dnsNameServer = 208.67.222.222, 208.67.220.220

Desactivar IPv6
Si no utilizamos IPv6, debemos agregar este parmetro: dnsQueryIPv6 = no

Servidor proxy parent


Si deseamos que polipo enve el mismo sus consultas a otro proxy, agrega el parmetro: parentProxy = "squid.example.org:3128"

Autorizar las mquinas de la red local a conectarse


Si nuestra red local es 192.168.0.0/24 y nuestro servidor proxy 192.168.0.1, debemos modificar el archivo /etc/polipo/config y agregar las lneas: proxyAddress = "192.168.0.1" allowedClients = 127.0.0.1, 192.168.0.0/24

Cambiar el puerto
Para cambiar el puerto de escucha de polipo, en /etc/polipo/config agrega el parmetro proxyPort: proxyPort = 3128

Reiniciar el servicio
sudo /etc/init.d/polipo restart

Notas
Polipo tiene una poltica de cach muy agresiva. Puede que retenga demasiadas pginas. Esto puede causar problemas en las pginas en las que hay que loguearse. Polipo posee muchas otras opciones para ajuste del consumo de memoria y cach, filtros automticos de encabezados http (user-agent, http-referer...), filtros de urls, Consultar en: http://www.pps.jussieu.fr/~jch/software/polipo/manual/index.html. http://manualinux.freehostia.com/polipo.html http://manualinux.heliohost.org/polipo.html 8

Вам также может понравиться