Está en la página 1de 7

Proxy

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. Esta situacin estratgica de punto intermedio suele ser aprovechada para soportar una serie de funcionalidades: proporcionar cach, control de acceso, registro del trfico, prohibir cierto tipo de trfico, etc.

Servidor proxy conectando indirectamente dos ordenadores.

Su finalidad ms habitual es la de servidor proxy, que consiste en interceptar las conexiones de red que un cliente hace a un servidor de destino, por varios motivos posibles como seguridad, rendimiento, anonimato, etc. Esta funcin de servidor proxy puede ser realizada por un programa o dispositivo.

Caractersticas
La palabra en ingls proxy significa intermediario en espaol. 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 proxy 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. 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 que la solicit. Hay dos tipos de proxys atendiendo a quien es el que quiere implementar la poltica del proxy: proxy local: En este caso el que quiere implementar la poltica es el mismo que hace la peticin. Por eso se le llama local. Suelen estar en la misma mquina que el cliente que hace las peticiones. Son muy usados para que el cliente pueda controlar el trfico y pueda establecer reglas de filtrado que por ejemplo pueden asegurar que no se revela informacin privada (Proxys de filtrado para mejora de la privacidad). proxy externo: El que quiere implementar la poltica del proxy es una entidad externa. Por eso se le llama externo. Se suelen usar para implementar cacheos, bloquear contenidos, control del trfico, compartir IP, etc.

Proxy

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. Slo uno de los usuarios (el proxy) ha de estar preparado para hacer el trabajo real. Con estar preparado queremos decir que es el nico que necesita los recursos necesarios para hacer esa funcionalidad. Ejemplos de recursos necesarios para hacer la funcin pueden ser la capacidad y lgica de cmputo o la direccin de red externa (IP). 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.

Desventajas
En general (no slo en informtica), el uso de un intermediario puede provocar: Anonimato. Si todos los 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. 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 cach 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).

Aplicaciones
El concepto de proxy es aplicado de muy distintas formas para proporcionar funcionalidades especficas.

Proxy Cach
Conserva el contenido solicitado por el usuario para acelerar la respuesta en futuras peticiones de la misma informacin de la misma mquina u otras. Habitualmente se trata de proxys HTTP/HTTPS accediendo a contenido web.

Proxy de Web
Se trata de un proxy para una aplicacin especfica: el acceso a la web con los protocolos HTTP y HTTPS, y accesoriamente FTP. Aparte de la utilidad general de un proxy puede proporcionar una cach compartida para las pginas web y contenidos descargados, actuando entonces como servidor proxy-cache. Esta cach es compartida por mltiples usuarios con la consiguiente mejora en los tiempos de acceso para consultas coincidentes y liberando de

Proxy carga a los enlaces de acceso a Internet. Funcionamiento: El usuario realiza una peticin (por ejemplo, en un navegador web) de un recurso de Internet (una pgina web o cualquier otro archivo) especificado por una URL. 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 mucho trfico dado que solo enva un paquete por la red para comprobar la versin. Si la versin es antigua o simplemente no se encuentra en la cach, lo solicita al servidor remoto, lo devuelve al cliente que lo pidi y guarda o actualiza una copia en su cach para futuras peticiones. Posibles usos Los proxys web pueden aportar una serie de funcionalidades interesantes en distintos mbitos: Reduccin del trfico mediante la implementacin de cach en el proxy. Las peticiones de pginas Web se hacen al servidor Proxy y no a Internet directamente. Por lo tanto se aligera el trfico en la red y descarga los servidores destino, a los que llegan menos peticiones. El cach utiliza normalmente un algoritmo configurable para determinar cundo un documento est obsoleto y debe ser eliminado de la cach. Como parmetros de configuracin utiliza la 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"). Mejora de la velocidad en tiempo de respuesta mediante la implementacin de cach en el proxy. 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. Por ejemplo supongamos que tenemos un ISP que tiene un servidor Proxy con cach. Si un cliente de ese ISP manda una peticin por ejemplo a Google [1] esta llegar al servidor Proxy que tiene este ISP y no ir 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. Los programas P2P se pueden aprovechar de la cache proporcionada por algunos proxys. Es el llamado Webcach. Por ejemplo es usado en Lphant y algunos Mods del Emule. El proxy puede servir para implementar funciones de filtrado de contenidos. Para ello es necesaria la configuracin de una serie restricciones que indiquen lo que no se permite. Observar que esta funcionalidad puede ser aprovechada no slo para que ciertos usuarios no accedan a ciertos contenidos sino tambin para filtrar ciertos ficheros que se pueden considerar como peligrosos como pueden ser virus y otros contenidos hostiles servidos por servidores web remotos. Un proxy puede permitir esconder al servidor web la identidad del que solicita cierto contenido. El servidor web lo nico que detecta es que la ip del proxy solicita cierto contenido. Sin embargo no puede determinar la ip origen de la peticin. Adems, si se usa una cach, puede darse el caso de que el contenido sea accedido muchas ms veces que las detectadas por el servidor web que aloja ese contenido. Los proxys pueden ser aprovechados para dar un servicio web a una demanda de usuarios superior a la que sera posible sin ellos. El servidor proxy puede modificar los contenidos que sirven los servidores web originales. Puede haber diferentes motivaciones para hacer esto. Veamos algunos ejemplos: Algunos proxys pueden cambiar el formato de las pginas web para un propsito o una audiencia especficos (Ej. mostrar una pgina en un telfono mvil o una PDA) traduciendo los contenidos.

Proxy Hay proxys que modifican el trfico web para mejorar la privacidad del trfico web con el servidor. Para ello se establecen unas reglas que el proxy tiene que cumplir. Por ejemplo el proxy puede ser configurado para bloquear direcciones y Cookies, para modificar cabeceras de las peticiones o quitar javascript que se considere peligroso. Es frecuente el uso de este tipo de proxys en las propias mquinas de los usuarios (proxys locales) para implementar un paso intermedio y que las peticiones no sean liberadas/recibidas a/de la red sin haber sido previamente limpiadas de informacin o contenido peligroso o privado. Este tipo de proxys es tpico en entornos donde hay mucha preocupacin sobre la privacidad y se suele usar como paso previo a la peticin del contenido a travs de una red que persiga el anonimato como puede ser Tor. Los programas ms frecuentes para hacer este tipo de funcionalidad son: Privoxy: Se centra en el contenido web. No presta servicio de cache. Analiza el trfico basndose en reglas predefinidas que se asocian a direcciones especificadas con expresiones regulares y que aplica a cabeceras, contenido, etc. Es altamente configurable. Tiene extensa documentacin. Polipo: Tiene caractersticas que lo hacen ms rpido que privoxy (cacheo, pipeline, uso inteligente de rango de peticiones). Su desventaja es que no viene configurado por defecto para proveer anonimicidad a nivel de la capa de aplicacin. El servidor proxy proporciona un punto desde el que se puede gestionar de forma centralizada el trfico web de muchos usuarios. Eso puede aprovecharse para muchas funciones adicionales a las tpicas vistas anteriormente. Por ejemplo puede usarse para el establecimiento de controlar el trfico de web de individuos concretos, establecer cmo se va a llegar a los servidores web de los cuales se quiere obtener los contenidos (por ejemplo, el proxy puede configurarse para que en lugar de obtener los contenidos directamente, lo haga a travs de la red Tor). Inconvenientes Si se realiza un servicio de cach, 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, dificulta (necesario configurar adecuadamente el proxy) 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.

Aplicaciones Web Proxy


Su funcionamiento se basa en el de un proxy HTTP/HTTPS, pero en este caso el usuario accede desde el navegador web a este servicio de forma manual a travs una Aplicacin Web. Ese servidor HTTP, el intermediario, mediante una URL recibe la peticin, accede al servidor de la web solicitada y devuelve el contenido dentro una pgina propia.

Proxy SOCKS
[2]

Los servidores SOCKS se diferencian de otros proxys por utilizar en vez de HTTP un protocolo especfico, el protocolo SOCKS. El programa cliente es a la vez cliente HTTP y cliente SOCKS. El cliente negocia una conexin con el servidor proxy SOCKS usando el protocolo SOCKS de nivel 5, capa de sesin, del modelo OSI. Una vez establecida la conexin todas la comunicaciones entre el cliente y proxy se realizan usando el protocolo SOCKS. El cliente le dice al proxy SOCKS qu es lo que quiere y el proxy se comunica con el servidor web externo, obtiene los resultados y se los manda al cliente. De esta forma el servidor externo solo tiene que estar accesible desde el proxy SOCKS que es el que se va a comunicar con l.

Proxy El cliente que se comunica con SOCKS puede estar en la propia aplicacin (Ej. Firefox, putty), o bien en la pila de protocolos TCP/IP a donde la aplicacin enviar los paquetes a un tnel SOCKS. En el proxy SOCKS es habitual implementar, como en la mayora de proxys, autenticacin y registro de las sesiones. En los orgenes de la web fue un protocolo de acceso a web popular, pero el rpido desarrollo de los proxies HTTP o incluso de NAT y otras opciones de aseguramiento de las comunicaciones TCP/IP lo hizo caer en desuso prcticamente absoluto llegado el siglo XXI.

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. Un proxy transparente combina un servidor proxy con un cortafuegos de manera que las conexiones son interceptadas y desviadas hacia el proxy sin necesidad de configuracin en el cliente, y habitualmente sin que el propio usuario conozca de su existencia. Este tipo de proxy es habitualmente utilizado por las empresas proveedoras de acceso de Internet.

Proxy inverso (Reverse Proxy)


Un proxy inverso (reverse proxy en ingls) es un servidor proxy situado en el alojamiento de uno o ms servidores web. Todo el trfico procedente de Internet y con destino en alguno de esos servidores web es recibido por el servidor proxy. Hay varias razones para ello: Seguridad: el servidor proxy es una capa adicional de defensa y por lo tanto protege a los servidores web. Cifrado / Aceleracin SSL: cuando se crea un sitio web seguro, habitualmente el cifrado SSL no lo hace el mismo servidor web, sino que es realizado en un equipo ajeno equipado incluso con hardware de aceleracin SSL/TLS. Distribucin de Carga: el proxy puede distribuir la carga entre varios servidores web. En ese caso puede ser necesario reescribir la URL de cada pgina web (traduccin de la URL externa a la URL interna correspondiente, segn en qu servidor se encuentre la informacin solicitada). Cach de contenido esttico: Un proxy inverso puede descargar de trabajo a los servidores web almacenando contenido esttico como imgenes u otro contenido grfico. Tambin puede almacenar contenido generado dinmicamente pero que pueda ser en alguna medida reutilizable.

Proxy NAT (Network Address Translation) / Enmascaramiento


Otro mecanismo para hacer de intermediario en una red es el NAT. La traduccin de direcciones de red (NAT, Network Address Translation) tambin es conocida como enmascaramiento de IPs. Es una tcnica mediante la cual las direcciones fuente o destino de los paquetes IP son reescritas, sustituidas por otras (de ah el "enmascaramiento"). Esto es lo que ocurre cuando varios usuarios comparten una nica conexin a Internet. Se dispone de una nica direccin IP pblica, que tiene que ser compartida. Dentro de la red de rea local (LAN) los equipos emplean direcciones IP reservadas para uso privado y ser el proxy el encargado de traducir las direcciones privadas a esa nica direccin pblica para realizar las peticiones, as como de distribuir las pginas recibidas a aquel usuario interno que la solicit. Estas direcciones privadas se suelen elegir en rangos prohibidos para su uso en Internet como 192.168.x.x, 10.x.x.x, 172.16.x.x y 172.31.x.x Esta situacin es muy comn en empresas y domicilios con varios ordenadores en red y un acceso externo a Internet. El acceso a Internet mediante NAT proporciona una cierta seguridad, puesto que en realidad no hay conexin directa entre el exterior y la red privada, y as nuestros equipos no estn expuestos a ataques directos desde el exterior.

Proxy Mediante NAT tambin se puede permitir un acceso limitado desde el exterior, y hacer que las peticiones que llegan al proxy sean dirigidas a una mquina concreta que haya sido determinada para tal fin en el propio proxy. La funcin de NAT reside en los Cortafuegos y resulta muy cmoda porque no necesita de ninguna configuracin especial en los equipos de la red privada que pueden acceder a travs de l como si fuera un mero encaminador.

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").

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] http:/ / www. google. com [2] Greg Ferro, Fast Introduction to SOCKS Proxy (http:/ / etherealmind. com/ fast-introduction-to-socks-proxy/ ) [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)

Fuentes y contribuyentes del artculo

Fuentes y contribuyentes del artculo


Proxy Fuente: http://es.wikipedia.org/w/index.php?oldid=72355316 Contribuyentes: -jem-, 142857, A. B. 10, AVIADOR, Agamer, Aleator, Alhen, Alpertron, Andreasmperu, Antonorsi, Apj, Arox, Baiji, Barcex, Belb, BlackBeast, Bonaparte2000, BryG, Byj2000, Camilo, Caos, Carlos Castaeda Girn, Carpeher, Cflm001, Ciencia Al Poder, Cinevoro, Cratn, DLeandroc, Dangarcia, Dark, David0811, Death Master, Dicai, Diegusjaimes, Dodo, Echani, Edslov, Eduardosalg, Efeg, Emiduronte, Erick Arce, Fercufer, Gabriel Acquistapace, Gacq, Gginer, Gizmo II, Grillitus, HUB, Halfdrag, Harpagornis, HombreCaminante, Humbefa, Humberto, Igna, Inuyasha1111, Isha, J. A. Glvez, Jarisleif, Jcarlos77, Jcheca, Jkbw, Jorgechp, Juckar, JzG, LadyInGrey, Laura Fiorucci, Leonardocaballero, Lmayala, LordT, Lucien leGrey, Luis1970, Magister Mathematicae, Maldoror, ManuelGR, Maquedasahag, Matdrodes, MatiasBellone, Mbarousse, Mercenario97, Mortes1133, Mriosriquelme, Murphy era un optimista, Netito777, Numbo3, Pacostein, Paradise2, Petruss, Poco a poco, Proxy9696, Plux, Queninosta, Randion, Rosarinagazo, RoyFocker, SPZ, Sanbec, Savh, Sebrev, Sergio Andres Segovia, Serolillo, Shooke, SpeedyGonzalez, SuperBraulio13, Tab3r, Taichi, Technopat, Teles, Tomatejc, Touareg, Travelour, Txuspe, Vajiko232, ViB, Vitamine, Waka Waka, WikiTerror, Wikipedista-perfeccionista, Will vm, XalD, Xosema, Yeza, Zalovitch, Zerabat, Zuirdj, l, 562 ediciones annimas

Fuentes de imagen, Licencias y contribuyentes


Archivo:Schematic Proxy Server.svg Fuente: http://es.wikipedia.org/w/index.php?title=Archivo:Schematic_Proxy_Server.svg Licencia: Creative Commons Attribution-Share Alike Contribuyentes: cflm (talk)

Licencia
Creative Commons Attribution-Share Alike 3.0 //creativecommons.org/licenses/by-sa/3.0/