Servidor Proxy

Anuncio
Servidor Proxy Squid
Servidor Proxy
El término en ingles «Proxy» tiene un significado muy general y al mismo tiempo
ambiguo, aunque invariablemente se considera un sinónimo del concepto
de «Intermediario».
Se
suele
traducir,
en
el
sentido
estricto,
como delegado o apoderado (el que tiene el que poder sobre otro). Un Servidor
Intermediario (Proxy) 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:
 Cliente se conecta hacia un Servidor Intermediario (Proxy).
 Cliente solicita una conexión, fichero u otro recurso disponible en un servidor
distinto.
 Servidor Intermediario (Proxy) proporciona el recurso ya sea conectándose
hacia el servidor especificado o sirviendo éste desde un caché.
 En algunos casos el Servidor Intermediario (Proxy) puede alterar la solicitud del
cliente o bien la respuesta del servidor para diversos propósitos.ç
Los Servidores
Intermediarios (Proxies)
generalmente
se
hacen
trabajar
simultáneamente 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
Aplicación, controlando diversos servicios, como es el caso de TCP Wrapper.
Dependiendo del contexto, el muro cortafuegos también se conoce
como BPD o Border Protection Device o simplemente filtro de paquetes.
Una aplicación común de los Servidores Intermediarios (Proxies) es funcionar como
caché de contenido de Red (principalmente HTTP), proporcionando en la proximidad
de los clientes un caché de páginas y ficheros disponibles a través de la Red en
servidores HTTP remotos, permitiendo a los clientes de la red local acceder hacia éstos
de forma más rápida y confiable.
Acerca de Squid.
Squid es un Servidor Intermediario (Proxy) de alto desempeño que se ha venido
desarrollando desde hace varios años y es hoy en día un muy popular y ampliamente
utilizado entre los sistemas operativos como GNU/Linux y derivados de Unix®.
Es muy confiable, robusto y versátil y se distribuye bajo los términos de la Licencia
Pública General GNU (GNU/GPL). Siendo equipamiento lógico libre, está disponible el
código fuente para quien así lo requiera.
Entre otras cosas, Squid puede funcionar como Servidor Intermediario (Proxy) y caché
de contenido de Red para los protocolos HTTP, FTP,GOPHER y WAIS, Proxy de SSL,
caché transparente, WWCP, aceleración HTTP, caché de consultas DNS y otras muchas
más como filtración de contenido y control de acceso por IP y por usuario.
Squid consiste de un programa principal como servidor, un programa para búsqueda
en servidores DNS, programas opcionales para reescribir solicitudes y realizar
autenticación y algunas herramientas para administración y y herramientas para
clientes. Al iniciar Squid da origen a un número configurable (5, de modo predefinido a
través del parámetro dns_children) de procesos de búsqueda en servidores DNS, cada
uno de los cuales realiza una búsqueda única en servidores DNS, reduciendo la
cantidad de tiempo de espera para las búsquedas en servidores DNS.
Nota especial: 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 yWAIS se requerirá
implementar
obligatoriamente
un
enmascaramiento
de
IP
o NAT (Network Address Translation)
o
bien
hacer
uso
de
un
servidor SOCKS como Dante.
Instalación y arranque de Squid
Para comprobar si tenemos instalado Squid, escribimos lo siguiente:
# rpm –q squid
En caso de que no tengamos squid entre nuestros paquetes instalados, procedemos a
descargarlo con yum:
# yum install squid
Para arrancar o reiniciar el servicio, utilizamos:
# service squid start
# service squid restart
Configuración de Squid
El archivo de configuración de Squid se encuentra ubicado en /etc/squid/squid.conf, y
en el se utilizan los siguientes parámetros:
http_port: Es el puerto que Squid utilizara para funcionar. O sea: cuando configuremos
el ordenador A para acceder a internet por el proxy, necesitamos configurar ese
puerto en el menú del navegador. Por defecto, Squid funcionara en el puerto 3128,
pero es posible configurar también otros puertos para funcionar, de la siguiente forma:
http_port 3128
Como puerto por defecto, o:
http_port 8080
Como puerto que hemos elegido para funcionar.
Cache_mem: Este parámetro no determinara la cantidad máxima de memoria de
proceso de Squid utilizara para almacenar objetos.
Cahe_mem 8MB
Por defecto esta configurada en 8MB. Como parámetro recomendado se puede poner
en 16MB, si se tiene un servidor con al menos 128MB de RAM. Esto da idea de lo
poquito que Squid necesita para funcionar, pudiéndose reutilizar como proxy algún
ordenador viejo de la oficina que ya no tenga uso.
ftp_user: Determina el usuario que accedera al ftp de forma anónima. Por defecto,
Squid envía como contraseña @squid, pero se puede cambiar por la que se desee. Por
ejemplo:
ftp_user [email protected]
cache_dir: Determina el tamaño de la cache en el disco duro que utilizara Squid para
almacenar informacion. La cantidad se determina en función de lo que el usuario
necesite, siempre con un poco de sentido común, por supuesto. Si se especifica un
tamaño mas grande que el disponible, Squid se bloqueara. La sintaxis es:
cache_dir ufs /var/spool/squid [tamaño] 16 256
Por defecto Squid utiliza 100 MB
Lista de Control de Acceso (ACLs)
Un ACL es ni mas ni menos que una lista de control de acceso: una de las principales
características de Squid. Con esta opción determinados quien accederá a internet a
través del proxy y quien no. Esto significa que por lo menos hemos de decidir poner
una lista, si queremos que funcione. Por ejemplo, decidamos que los ordenadores
192.168.10.4 y 192.168.10.5 accedan a través del proxy. La sintaxis de la instrucción
para definir una lista acl es:
acl [nombre de la lista] src [lo que compone la lista] o [ruta]
Si queremos definir toda una red local, bastaría con hacer:
Acl localnet 192.168.10.0/255.255.255.0
http_acces: Este parámetro determina las reglas de control de acceso de nuestra red.
En el ejemplo, las direcciones 192.168.10.4 y 192.168.10.5 podran acceder según se
determine por el parámetro http_access.La sintaxis es:
http_acces allow ó http_access deny
respectivamente.
segun quiera permitir o denegar acceso
Las dos palabras clave, acl y http_access permiten mucho juego combinándolas entre
si. Podemos, por ejemplo, decidir que la IP 192.168.10.4 acceda a paginas para
profesores y la 192.168.10.5 a paginas para alumnos, por ejemplo:
Dst_domain: Dicha instrucción nos permite definir un dominio de internet. En
conjunto con acl y http_access, se puede utilizar para determinar quienes pueden
acceder a un dominio en particular:
Acl red1 dst_domain www.google.com
Acl red1 dst_domain www.remolacha.net
Acl red2 dst_domain www.taringa.net
Y ahora, decidimos que ip accedera y a que paginas.
http_access allow lista_permitidos xxx.xxx.xxx.xxx
http_access allow lista_permitidos2 xxx.xxx.xxx.xxx
O sea: la IP 192.168.10.4 estara en lista_permitidos y la IP 192.168.10.5 en la
lista_permitidos2. La primera accedera a gmail y a remolacha.net, y la segunda a
taringa. Tambien se podría hacer http_access allow ¡lista_permitidos, lo que
significaría que se dejaría acceder a lo contrario que estuviera en la lista (todas las
direcciones menos la 192.168.10.4).
Con lo explicado hasta ahora, es posible darle a Squid un buen uso, aprovechando las
características de listas de acceso y reglas de control.
Configuración de los clientes
Si no utilizamos proxy transparente, para que cada uno de los clientes de la red pueda
comunicarse con Squid, debemos configurar el equipo en cada uno de ellos para que
salgan a Internet a través del proxy.
En un cliente Windows, iremos al panel de control, luego a opcione de internet,
buscaremos la pestaña que dice “Conexiones” y lego haremos click en “Configuracion
Lan”, aquí pondremos el proxy.
Para comprobar si realizamos nuestra configuración correctamente, intentamos
acceder a una página cualquiera desde el navegador (por ejemplo,
www.google.com.do). Si la página no forma parte de los dominios permitidos,
aparecerá el siguiente mensaje, indicándonos que Squid se ha configurado
correctamente.
Descargar