Formas y Funcionalidades de un Servidor Proxy

¿Que es un servidor Proxy?

El anglicismo proxy (plural proxies) o servidor proxy, adaptado al español como proxi, en una red informática, es un servidor —programa o dispositivo—, que hace de intermediario en las peticiones de recursos que realiza un cliente (A) a otro servidor (C).

 Por ejemplo, si una hipotética máquina A solicita un recurso a C, lo hará mediante una petición a B, que a su vez trasladará la petición a C; de esta forma C no sabrá que la petición procedió originalmente de A.

Esta situación estratégica de punto intermedio le permite ofrecer diversas funcionalidades: control de acceso, registro del tráfico, restricción a determinados tipos de tráfico, mejora de rendimiento, anonimato de la comunicación, caché web, etc. Dependiendo del contexto, la intermediación que realiza el proxy puede ser considerada por los usuarios, administradores o proveedores como legítima o delictiva y su uso es frecuentemente discutido.

Características de un servidor Proxy

  • El más popular es el servidor proxy de web. Interviene en la navegación por la web, con distintos fines: seguridad, rendimiento, anonimato, etc.
  • Existen proxys específicos 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 (patrón de diseño) también es un patrón de diseño (programación) con el mismo esquema que el proxy de red.
  • Un componente hardware también puede actuar como intermediario para otros.

Hay dos tipos de proxies atendiendo a quién es el que quiere implementar la política del proxy:

  • proxy local: En este caso el que quiere implementar la política es el mismo que hace la petición. Por eso se le llama local. Suelen estar en la misma máquina que el cliente que hace las peticiones. Son muy usados para que el cliente pueda controlar el tráfico y pueda establecer reglas de filtrado que por ejemplo pueden asegurar que no se revele información privada (proxies de filtrado para mejora de la privacidad).
  • proxy de red o proxy externo: El que quiere implementar la política del proxy es una entidad externa. Por eso se le llama externo. Se suelen usar para implementar cacheos, bloquear contenidos, control del tráfico, compartir IP, etc.

Ventajas y Desventajas de un servidor Proxy

Ventajas

En general, no solamente en informática, los proxies hacen posible:

  • Control: solamente el intermediario hace el trabajo real, por tanto se pueden limitar y restringir los derechos de los usuarios, y dar permisos únicamente al servidor proxy.
  • Ahorro: solamente uno de los usuarios (el proxy) ha de estar preparado para hacer el trabajo real. Con estar preparado se entiende que es el único que necesita los recursos necesarios para hacer esa funcionalidad. Ejemplos de recursos necesarios para hacer la función pueden ser la capacidad y lógica de la dirección de red externa (IP).
  • Velocidad: si varios clientes van a pedir el mismo recurso, el proxy puede hacer caché:  guardar la respuesta de una petición para darla directamente cuando otro usuario la pida. Así no tiene que volver a contactar con el destino, y acaba más rápido.
  • Filtrado: el proxy puede negarse a responder algunas peticiones si detecta que están prohibidas.
  • Modificación: como intermediario que es, un proxy puede falsificar información, o modificara siguiendo un algoritmo.
  • Anonimato: conectarse de forma anónima a un recurso externo sin revelar nuestra IP, pues es la IP pública del Proxy la que es usada para la obtención del recurso.

Desventajas

En general, el uso de un intermediario puede provocar:

  • Anonimato: si todos los usuarios se identifican como uno solo, es difícil que el recurso accedido pueda diferenciarlos. Pero esto puede ser malo, por ejemplo cuando hay que hacer necesariamente la identificación.
  • Abuso: al estar dispuesto a recibir peticiones de muchos usuarios y responderlas, es posible que haga algún trabajo que no toque. Por tanto, ha de controlar quién tiene acceso y quién no a sus servicios, cosa que normalmente es muy difícil.
  • Carga: un proxy tiene que hacer el trabajo de muchos usuarios.
  • Intromisión: es un paso más 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 más 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 versión que tiene en caché sigue siendo la misma que la existente en el servidor remoto.
  • Irregularidad: el hecho de que el proxy represente a más de un usuario da problemas en muchos escenarios, en concreto los que presuponen una comunicación directa entre 1 emisor y 1 receptor (como TCP-IP).

Concepto de proxy en sus distintas formas y funcionalidades específicas

Proxy caché

Conserva el contenido solicitado por el usuario para acelerar la respuesta en futuras peticiones de la misma información de la misma máquina u otras. Habitualmente se trata de proxys HTTP/HTTPS accediendo a contenido web. Esta función es especialmente necesaria en redes con acceso precario a Internet, aunque los usuarios lo perciban a menudo como una intromisión que limita su privacidad frente a conexiones individuales directas.

Proxy de Web

Se trata de un proxy para una aplicación específica: 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 páginas web y contenidos descargados, actuando entonces como servidor proxy-caché.

 Este caché es compartido por múltiples usuarios con la consiguiente mejora en los tiempos de acceso para consultas coincidentes y liberando de carga a los enlaces de acceso a Internet.

  • Funcionamiento:
  • El usuario realiza una petición (por ejemplo, en un ) de un recurso navegador web de Internet (una página web o cualquier otro archivo) especificado por una URL.
  • Cuando el proxy-caché recibe la petición, busca la URL resultante en su caché local. Si la encuentra, contrasta la fecha y hora de la versión de la página demandada con el servidor remoto. Si la página no ha cambiado desde que se cargó en caché la devuelve inmediatamente, ahorrando mucho tráfico dado que solo envía un paquete por la red para comprobar la versión. Si la versión 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.