Configurar Un Proxy Transparente Con SQUID

download Configurar Un Proxy Transparente Con SQUID

of 18

  • date post

    17-Jul-2015
  • Category

    Documents

  • view

    242
  • download

    1

Embed Size (px)

Transcript of Configurar Un Proxy Transparente Con SQUID

Configurar un Proxy Transparente con SQUIDApril 14, 2009 roaksoax En este tutorial se les mostrar como configurar un Proxy Transparente con SQUID. Para los que necesiten saber la definicin de lo que es un proxy, y de lo que es un proxy transparente, esta pueden encontrarla aqu. Ahora bien, la estructura que se muestra a continuacin es cmo se instalar el servidor proxy:

Bueno, entonces lo primero que tenemos que hacer es instalar Squid de la siguiente manera:

:~$ sudo apt-get install squidUna vez instalado, squid nos proveer un archivo de configuracin localizado en /etc/squid/squid.conf. Este archivo contiene toda la documentacin de squid. Al ser un archivo muy extenso, nosotros no necesitaremos tal configuracin por tal motivo crearemos una copia de respaldo a este archivo de la siguiente manera:

:~$ sudo cp /etc/squid/squid.conf /etc/squid/squid.conf.bakLuego, moficamos el archivo de configuracin original (/etc/squid/squid.conf) y eliminamos todo lo que contenga. Luego ingresamos lo siguiente:

http_port 3128 transparent cache_mem 100 MB cache_dir ufs /var/spool/squid 150 16 256 acl red_local src 10.10.10.0/24 acl localhost src 127.0.0.1/32 acl all src all http_access allow localhost http_access allow red_localLuego, tenemos que configurar las iptables para que podamos tener acceso a Internet y para que lo hagamos mediante el proxy. Por esta razn ingresamos las siguientes reglas:

:~$ sudo iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j SNAT --to 192.168.1.1 :~$ sudo iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j DNAT --to 192.168.1.1:3128 :~$ sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j REDIRECT --to-port 3128NOTA: en las variables dport, to y to-port, ntese que se utiliza doble guon ( - )ntes de cada variable. Por motivos externos es que en el tutorial aparece como si fuese uno slo. Para terminar, tenemos que recargar la configuracin de squid. Esto lo hacemos de la siguiente manera:

:~$ sudo squid -k reconfigureAhora simplemente desde las mquinas clientes probamos que tenemos acceso a Internet. Vale notar que esta configuracin de proxy transparente solo sirve para almacenar en la cach y que la navegacin por Internet sea ms rpida. Si deseamos bloquear acceso a pginas, tenemos que crear ms reglas. Algunas reglas de ejemplo se las mostar en un prximo tutorial.

Configuracin de Squid: Parmetros bsicos.Autor:dark Joel Barrios Dueas Correo electrnico: darkshram en gmail punto com Sitio de Red: http://www.alcancelibre.org/ Jabber ID: darkshram@jabber.orgCreative Commons Reconocimiento-NoComercial-CompartirIgual 2.1 1999-2011 Joel Barrios Dueas. Usted es libre de copiar, distribuir, y comunicar pblicamente la obra, y hacer obras derivadas bajo las condiciones siguientes: a) Debe reconocer, y citar al autor original. b) No puede utilizar esta obra para fines comerciales (incluyendo su publicacin, a travs de cualquier medio, por entidades con fines de lucro). c) Si altera, o transforma esta obra, o genera una obra derivada, slo puede distribuir la obra generada bajo una licencia idntica a sta. Al reutilizar, o distribuir la obra, tiene que dejar bien claro los trminos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Los derechos derivados de usos legtimos u otras limitaciones no se ven afectados por lo anterior. Licencia completa en castellano. La informacin contenida en este documento, y los derivados de ste se proporcionan tal cual son, y los autores no asumirn responsabilidad alguna si el usuario, o lector, hace mal uso de stos.

Introduccin.Qu es Servidor Intermediario (Proxy)?El trmino en ingles Proxy tiene un significado muy general y al mismo tiempo ambiguo, aunque invariablemente se considera un sinnimo del concepto de Intermediario. Se suele traducir, en el sentido estricto, como delegado oapoderado (el que tiene el que poder sobre otro). Un Servidor Intermediario se define como una computadora o dispositivo que ofrece un servicio de red que consiste en permitir a los clientes realizar conexiones de red indirectas hacia otros servicios de red. Durante el proceso ocurre lo siguiente: 1. Cliente se conecta hacia un Servidor Proxy. 2. Cliente solicita una conexin, archivo u otro recurso disponible en un servidor distinto. 3. Servidor Intermediario proporciona el recurso ya sea conectndose hacia el servidor especificado o sirviendo ste desde un cach. 4. En algunos casos el Servidor Intermediario puede alterar la solicitud del cliente o bien la respuesta del servidor para diversos propsitos. Los Servidores Proxy generalmente se hacen trabajar simultneamente como muro cortafuegos operando en el Nivel de Red, actuando como filtro de paquetes, como en el caso de iptables, o bien operando en el Nivel de Aplicacin, controlando diversos servicios, como es el caso de TCP Wrapper. Dependiendo del contexto, el muro cortafuegos tambin se conoce como BPD o Border Protection Device o simplemente filtro de paquetes. Una aplicacin comn de los Servidores Proxy es funcionar como cach de contenido de Red (principalmente HTTP), proporcionando en la proximidad de los clientes un cach de pginas y archivos disponibles a travs de la Red en servidores HTTP remotos, permitiendo a los clientes de la red local acceder hacia stos de forma ms rpida y confiable. Cuando se recibe una peticin para un recurso de Red especificado en un URL (Uniform Resource Locator) el Servidor Intermediario busca el resultado del URL dentro del cach. Si ste es encontrado, el Servidor Intermediario responde al cliente proporcionado inmediatamente el contenido solicitado. Si el contenido solicitado no

estuviera disponible en el cach, elServidor Intermediario lo traer desde servidor remoto, entregndolo al cliente que lo solicit y guardando una copia en el cach. El contenido en el cach es eliminado luego a travs de un algoritmo de expiracin de acuerdo a la antigedad, tamao e historial de respuestas a solicitudes (hits) (ejemplos: LRU, LFUDA y GDSF). Los Servidores Proxy para contenido de Red (Web Proxies) tambin pueden actuar como filtros del contenido servido, aplicando polticas de censura de acuerdo a criterios arbitrarios.

Acerca de Squid.Squid es un Servidor Intermediario de alto desempeo que se ha venido desarrollando desde hace varios aos y es hoy en da un muy popular y ampliamente utilizado entre los sistemas operativos como GNU/Linux y derivados de Unix. Es muy confiable, robusto y verstil y se distribuye bajo los trminos de la Licencia Pblica General GNU (GNU/GPL). Siendo equipamiento lgico libre, est disponible el cdigo fuente para quien as lo requiera. Entre otras cosas, Squid puede funcionar como Servidor Intermediario y cach de contenido de Red para los protocolosHTTP, FTP, GOPHER y WAIS, Proxy de SSL, cach transparente, WWCP, aceleracin HTTP, cach de consultas DNS y otras muchas ms como filtracin de contenido y control de acceso por IP y por usuario. Squid consiste de un programa principal como servidor, un programa para bsqueda en servidores DNS, programas opcionales para reescribir solicitudes y realizar autenticacin y algunas herramientas para administracin y y herramientas para clientes. Al iniciar Squid da origen a un nmero configurable (5, de modo predefinido a travs del parmetro dns_children) de procesos de bsqueda en servidores DNS, cada uno de los cuales realiza una bsqueda nica en servidores DNS, reduciendo la cantidad de tiempo de espera para las bsquedas en servidores DNS.

Nota.Squid no debe ser utilizado como Servidor Intermediario (Proxy) para protocolos como SMTP, POP3, TELNET,SSH, IRC, etc. Si se requiere intermediar para cualquier protocolo distinto a HTTP, HTTPS, FTP, GOPHER y WAIS se requerir implementar obligatoriamente un enmascaramiento de IP o NAT (Network Address Translation) o bien hacer uso de un servidor SOCKS como Dante (http://www.inet.no/dante/).

URL: http://www.squid-cache.org/

Algoritmos de cach utilizados por Squid.A travs de un parmetro (cache_replacement_policy) Squid incluye soporte para los siguientes algoritmos para el cach:

LRU

Acrnimo de Least Recently Used, que traduce como Menos Recientemente Utilizado. En este algoritmo los objetos que no han sido accedidos en mucho tiempo son eliminados primero, manteniendo siempre en el cach a los objetos ms recientemente solicitados.sta poltica es la utilizada por Squid de modo predefinido.

LFUDA Acrnimo de Least Frequently Used with Dynamic Aging, que se traduce como Menos Frecuentemente Utilizado con Envejecimiento Dinmico. En este algoritmo los objetos ms solicitados permanecen

en el cach sin importar su tamao optimizando la eficiencia(hit rate) por octetos (Bytes) a expensas de la eficiencia misma, de modo que un objeto grande que se solicite con mayor frecuencia impedir que se pueda hacer cach de objetos pequeos que se soliciten con menor frecuencia. GDSF Acrnimo de GreedyDual Size Frequency, que se traduce como Frecuencia de tamaoGreedyDual (codicioso dual), que es el algoritmo sobre el cual se basa GDSF. Optimiza laeficiencia (hit rate) por objeto manteniendo en el cach los objetos pequeos ms frecuentemente solicitados de modo que hay mejores posibilidades de lograr respuesta a una solicitud (hit). Tiene una eficiencia por octetos (Bytes) menor que el algoritmo LFUDAdebido a que descarta del cach objetos grandes que sean solicitado con frecuencia.

Equipamiento lgico necesario.Para poder llevar al cabo los procedimientos descritos en este y otros documentos relacionados, usted necesitar tener instalado al menos lo siguiente: Al menos squid-2.5.STABLE6 Todos los parches de seguridad disponibles para la versin del sistema operativo que est utilizando. Un muro cortafuegos configurado con system-config-securitylevel, Firestarter, o Shorewall. Debe tomarse en consideracin que, de ser posible, se de