You are on page 1of 8

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

ndice

1 Caractersticas o 1.1 Ventajas o 1.2 Desventajas 2 Aplicaciones o 2.1 Proxy Cach o 2.2 Proxy de web 2.2.1 Posibles usos 2.2.2 Inconvenientes o 2.3 Web Proxy o 2.4 Proxy SOCKS o 2.5 Proxies transparentes o 2.6 Reverse Proxy / Proxy inverso o 2.7 Proxy NAT (Network Address Translation) / Enmascaramiento o 2.8 Proxy abierto o 2.9 Cross-Domain Proxy 3 Referencias 4 Enlaces externos

Caractersticas
La palabra proxy significa intermediario en ingls.

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. o 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. o Tambin existen proxy para otros protocolos, como el proxy de FTP. o 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.

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
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 de web
Se trata de un proxy para una aplicacin especfica el acceso a la web (principalmente los protocolos HTTP y HTTPS). Aparte de la utilidad general de un proxy a veces proporciona una cach para las pginas web y los contenidos descargados. Cuando esto sucede se dice que el proxy web est haciendo un servicio de proxy-cache. Esta cach es compartida por todos los usuario del proxy, con la consiguiente mejora en los tiempos de acceso para consultas coincidentes. Al mismo tiempo libera la carga de los enlaces hacia Internet.

Funcionamiento: o 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. o 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. 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 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: o 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. o 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.

Web Proxy
Su funcionamiento se basa en el de un Proxy HTTP y HTTPs, pero la diferencia fundamental es que la peticin se realiza mediante una Aplicacin Web servida por un servidor HTTP al que se accede mediante una URL, esto es, una pgina web que permite estos servicios.

Proxy SOCKS
1

Los proxy SOCKS son muy diferentes de los proxys 'normales'. Cuando por ejemplo usas un proxy HTTP lo que ste hace es coger las peticiones HTTP y hace la peticin por ti y te devuelve los resultados. Haciendo un smil con la vida real es como si alguien nos pidiera que le pasramos la sal de la mesa y el proxy la cogiera y nos la diera. Sin embargo lo que hace el protocolo SOCKS, es casi equivalente a establecer un tnel IP con un cortafuegos y a partir de ah las peticiones del protocolo son entonces realizadas desde el cortafuegos. El cliente negocia una conexin con el servidor proxy SOCKS usando el protocolo SOCKS, nivel 5 del modelo OSI (capa de sesin). 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 que es lo que quiere y el proxy se comunica con el servidor externo y obtiene los resultados y se los manda al cliente. De esta forma el servidor externo slo tiene que estar accesible desde el proxy SOCKS que es el que se va a comunicar con l.

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 loggeo de las sesiones.

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

Reverse Proxy / Proxy inverso


Un reverse proxy es un servidor proxy instalado en el domicilio de uno o ms servidores web. Todo el trfico entrante de Internet y con el destino de uno de esos servidores web pasa a travs del servidor proxy. Hay varias razones para instalar un "reverse proxy":

Seguridad: el servidor proxy es una capa adicional de defensa y por lo tanto protege 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 por el "reverse proxy", el cual est equipado con un hardware de aceleracin SSL (Security Sockets Layer). Distribucin de Carga: el "reverse proxy" puede distribuir la carga entre varios servidores web. En ese caso, el "reverse proxy" puede necesitar reescribir las 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 "reverse proxy" puede descargar los servidores web almacenando contenido esttico como imgenes u otro contenido grfico.

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. 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 proxy2 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.

You might also like