Académique Documents
Professionnel Documents
Culture Documents
Proxy
Un proxy, en una red informtica, es un programa o dispositivo que realiza una accin en representacin de otro, esto es, si una hipottica mquina A solicita un recurso a una 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, rendimiento, anonimato, etc.
Detalles tcnicos
Servidor Proxy
Un proxy es un programa o dispositivo que realiza una tarea acceso a Internet en lugar de otro ordenador. Un proxy es un punto intermedio entre un ordenador conectado a Internet y el servidor al que est accediendo. Cuando navegamos a travs de un proxy, nosotros en realidad no estamos accediendo directamente al servidor, sino que realizamos una solicitud sobre el proxy y es ste quien se conecta con el servidor que queremos acceder y nos devuelve el resultado de la solicitud. Servidor HTTP Este tipo de servidor opera en la Capa de aplicacin de TCP/IP. El puerto de comunicacin de entrada debe ser 80/http segn IANA.[1] Aunque generalmente suelen utilizar otros puertos de comunicacin como el 3128, 8080 o el 8085. Servidor HTTPS Este tipo de servidor opera en la Capa de aplicacin de TCP/IP. A diferencia de un Servidor HTTP, funciona bajo tecnologas de cifrado como SSL/TLS que proporcionan mayor seguridad y anonimato. El puerto utilizado vara, aunque debe ser 443/https.
Proxy Cach
Su mtodo de funcionamiento es 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 de la misma mquina u otras.
Proxy
Caractersticas
La palabra proxy se usa en situaciones en donde tiene sentido un intermediario. El uso ms comn es el de servidor proxy, que es un ordenador que intercepta las conexiones de red que un cliente hace a un servidor de destino. De ellos, el ms famoso es el servidor proxy web (comnmente conocido solamente como proxy). Intercepta la navegacin de los clientes por pginas web, por varios motivos posibles: seguridad, rendimiento, anonimato, etc. Tambin existen proxies para otros protocolos, como el proxy de FTP. El proxy ARP puede hacer de enrutador en una red, ya que hace de intermediario entre ordenadores. Proxy (patrn de diseo) tambin es un patrn de diseo (programacin) con el mismo esquema que el proxy de red. Un componente hardware tambin puede actuar como intermediario para otros. Como se ve, proxy tiene un significado muy general, aunque siempre es sinnimo de intermediario.
Ventajas
En general (no slo en informtica), los proxies hacen posible: Control: slo el intermediario hace el trabajo real, por tanto se pueden limitar y restringir los derechos de los usuarios, y dar permisos slo al proxy. Ahorro. Por tanto, slo uno de los usuarios (el proxy) ha de estar equipado para hacer el trabajo real. Velocidad. Si varios clientes van a pedir el mismo recurso, el proxy puede hacer cach: guardar la respuesta de una peticin para darla directamente cuando otro usuario la pida. As no tiene que volver a contactar con el destino, y acaba ms rpido. Filtrado. El proxy puede negarse a responder algunas peticiones si detecta que estn prohibidas. Modificacin. Como intermediario que es, un proxy puede falsificar informacin, o modificarla siguiendo un algoritmo. Anonimato. Si todos lo usuarios se identifican como uno slo, es difcil que el recurso accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que hacer necesariamente la identificacin.
Desventajas
En general (no slo en informtica), el uso de un intermediario puede provocar: Abuso. Al estar dispuesto a recibir peticiones de muchos usuarios y responderlas, es posible que haga algn trabajo que no toque. Por tanto, ha de controlar quin tiene acceso y quin no a sus servicios, cosa que normalmente es muy difcil. Carga. Un proxy ha de hacer el trabajo de muchos usuarios. Intromisin. Es un paso ms entre origen y destino, y algunos usuarios pueden no querer pasar por el proxy. Y menos si hace de cach y guarda copias de los datos. Incoherencia. Si hace de cach, es posible que se equivoque y d una respuesta antigua cuando hay una ms reciente en el recurso de destino. En realidad este problema no existe con los servidores proxy actuales, ya que se conectan con el servidor remoto para comprobar que la versin que tiene en cache sigue siendo la misma que la existente en el servidor remoto. Irregularidad. El hecho de que el proxy represente a ms de un usuario da problemas en muchos escenarios, en concreto los que presuponen una comunicacin directa entre 1 emisor y 1 receptor (como TCP/IP).
Proxy
Funcionamiento
Un proxy permite a otros equipos conectarse a una red de forma indirecta a travs de l. Cuando un equipo de la red desea acceder a una informacin o recurso, es realmente el proxy quien realiza la comunicacin y a continuacin traslada el resultado al equipo inicial. En unos casos esto se hace as porque no es posible la comunicacin directa y en otros casos porque el proxy aade una funcionalidad adicional, como puede ser la de mantener los resultados obtenidos (p.ej.: una pgina web) en una cach que permita acelerar sucesivas consultas coincidentes. Con esta denominacin general de proxy se agrupan diversas tcnicas.
Funcionamiento
1. El cliente realiza una peticin (p. ej. mediante un navegador web) de un recurso de Internet (una pgina web o cualquier otro archivo) especificado por una URL. 2. Cuando el proxy cach recibe la peticin, busca la URL resultante en su cach local. Si la encuentra, contrasta la fecha y hora de la versin de la pgina demanda con el servidor remoto. Si la pgina no ha cambiado desde que se cargo en cach la devuelve inmediatamente, ahorrndose de esta manera mucho trfico pues slo intercambia un paquete para comprobar la versin. Si la versin es antigua o simplemente no se encuentra en la cach, lo captura del servidor remoto, lo devuelve al que lo pidi y guarda o actualiza una copia en su cach para futuras peticiones. El cach utiliza normalmente un algoritmo para determinar cundo un documento est obsoleto y debe ser eliminado de la cach, dependiendo de su antigedad, tamao e histrico de acceso. Dos de esos algoritmos bsicos son el LRU (el usado menos recientemente, en ingls "Least Recently Used") y el LFU (el usado menos frecuentemente, "Least Frequently Used"). Los proxies web tambin pueden filtrar el contenido de las pginas Web servidas. Algunas aplicaciones que intentan bloquear contenido Web ofensivo estn implementadas como proxies Web. Otros tipos de proxy cambian el formato de las pginas web para un propsito o una audiencia especficos, para, por ejemplo, mostrar una pgina en un telfono mvil o una PDA. Algunos operadores de red tambin tienen proxies para interceptar virus y otros contenidos hostiles servidos por pginas Web remotas. Un cliente de un ISP manda una peticin a Google [2] la cual llega en un inicio al servidor Proxy que tiene este ISP, no va directamente a la direccin IP del dominio de Google. Esta pgina concreta suele ser muy solicitada por un alto porcentaje de usuarios, por lo tanto el ISP la retiene en su Proxy por un cierto tiempo y crea una respuesta en mucho menor tiempo. Cuando el usuario crea una bsqueda en Google el servidor Proxy ya no es utilizado; el ISP enva su peticin y el cliente recibe su respuesta ahora s desde Google.
Proxy
Otras funciones
Como mtodo extra y de ayuda en las descargas mediante aplicaciones P2P; el cual es usado en Lphant y algunos Mods del Emule. (ver Webcach en aplicaciones P2P).
Ventajas
Ahorro de Trfico: las peticiones de pginas Web se hacen al servidor Proxy y no a Internet directamente. Por lo tanto, aligera el trfico en la red y descarga los servidores destino, a los que llegan menos peticiones. Velocidad en Tiempo de respuesta: el servidor Proxy crea un cach que evita transferencias idnticas de la informacin entre servidores durante un tiempo (configurado por el administrador) as que el usuario recibe una respuesta ms rpida. Demanda a Usuarios: puede cubrir a un gran nmero de usuarios, para solicitar, a travs de l, los contenidos Web. Filtrado de contenidos: el servidor proxy puede hacer un filtrado de pginas o contenidos basndose en criterios de restriccin establecidos por el administrador dependiendo valores y caractersticas de lo que no se permite, creando una restriccin cuando sea necesario. Modificacin de contenidos: basndose en la misma funcin del filtrado, y llamado Privoxy, tiene el objetivo de proteger la privacidad en Internet, puede ser configurado para bloquear direcciones y Cookies por expresiones regulares y modifica en la peticin el contenido.
Desventajas
Las pginas mostradas pueden no estar actualizadas si stas han sido modificadas desde la ltima carga que realiz el proxy cach. Un diseador de pginas web puede indicar en el contenido de su web que los navegadores no hagan una cach de sus pginas, pero este mtodo no funciona habitualmente para un proxy. El hecho de acceder a Internet a travs de un Proxy, en vez de mediante conexin directa, impide realizar operaciones avanzadas a travs de algunos puertos o protocolos. Almacenar las pginas y objetos que los usuarios solicitan puede suponer una violacin de la intimidad para algunas personas.
Proxies transparentes
Muchas organizaciones (incluyendo empresas, colegios y familias) usan los proxies para reforzar las polticas de uso de la red o para proporcionar seguridad y servicios de cach. Normalmente, un proxy Web o NAT no es transparente a la aplicacin cliente: debe ser configurada para usar el proxy, manualmente. Por lo tanto, el usuario puede evadir el proxy cambiando simplemente la configuracin. Una ventaja de tal es que se puede usar para redes de empresa. Un proxy transparente combina un servidor proxy con NAT (Network Address Translation) 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. Este es el tipo de proxy que utilizan los proveedores de servicios de internet (ISP).
Proxy
Proxy abierto
Este tipo de proxy es el que acepta peticiones desde cualquier ordenador, est o no conectado a su red. En esta configuracin el proxy ejecutar cualquier peticin de cualquier ordenador que pueda conectarse a l, realizndola como si fuera una peticin del proxy. Por lo que permite que este tipo de proxy se use como pasarela para el envo masivo de correos de spam. Un proxy se usa, normalmente, para almacenar y redirigir servicios como el DNS o la navegacin Web, mediante el cacheo de peticiones en el servidor proxy, lo que mejora la velocidad general de los usuarios. Este uso es muy beneficioso, pero al aplicarle una configuracin "abierta" a todo internet, se convierte en una herramienta para su uso indebido. Debido a lo anterior, muchos servidores, como los de IRC, o correo electrnicos, deniegan el acceso a estos proxys a sus servicios, usando normalmente listas negras ("BlackList").
Proxy
Cross-Domain Proxy
Tpicamente usado por Tecnologas web asncronas (flash, ajax, comet, etc) que tienen restricciones para establecer una comunicacin entre elementos localizados en distintos dominios. En el caso de Ajax, por seguridad slo se permite acceder al mismo dominio origen de la pgina web que realiza la peticin. Si se necesita acceder a otros servicios localizados en otros dominios, se instala un Cross-Domain proxy[3] en el dominio origen que recibe las peticiones ajax y las reenvia a los dominios externos. En el caso de flash, tambin han solucionado creando la revisin de archivos xml de Cross-Domain, que permiten o no el acceso a ese dominio o subdominio.
Referencias
[1] WELL KNOWN PORT NUMBERS (http:/ / www. iana. org/ assignments/ port-numbers). [2] http:/ / www. google. com [3] Tutorial (http:/ / developer. yahoo. com/ javascript/ howto-proxy. html) con esquemas sobre el Cross-Domain Proxy (en ingls).
Enlaces externos
Tutorial de Proxy (http://compnetworking.about.com/cs/proxyservers/a/proxyservers.htm) (en ingls)
Licencia
Creative Commons Attribution-Share Alike 3.0 Unported //creativecommons.org/licenses/by-sa/3.0/