Servidor proxy

proxy
Parte de software servidor y servicio de red
Información general
Tipo de programa tipo de tecnología

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.

La palabra inglesa proxy significa «apoderado» en español.

Características

Comúnmente un servidor proxy es un equipo informático que intercepta conexiones de red hechas desde un cliente a un servidor de destino.

Como se ve, proxy tiene un significado muy general, aunque siempre es sinónimo de intermediario. Cuando un equipo de la red desea acceder a una información o recurso, es realmente el proxy quien realiza la comunicación y a continuación traslada el resultado al equipo que la solicitó.

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

Ventajas

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

Desventajas

En general, el uso de un intermediario puede provocar:

Aplicaciones

El concepto de proxy es aplicado de muy distintas formas para proporcionar 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é. Esta caché es compartida 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:

Posibles usos

Los proxies pueden aportar una serie de funcionalidades interesantes en distintos ámbitos:

  • Pueden usarse para eludir filtros en el servidor de destino, como por ejemplo un filtrado de origen basado en geolocalización IP, técnica también conocida con el anglicismo de bypass, usando un proxy localizado en una ubicación autorizada en dicho filtro.
  • Reducción del tráfico mediante la implementación de caché en el proxy. Las peticiones de páginas Web se hacen al servidor Proxy y no a Internet directamente. Por lo tanto se aligera el tráfico en la red y descarga los servidores destino, a los que llegan menos peticiones. El caché utiliza normalmente un algoritmo configurable para determinar cuándo un documento está obsoleto y debe ser eliminado de la caché. Como parámetros de configuración utiliza la antigüedad, tamaño e histórico de acceso. Dos de esos algoritmos básicos son el LRU (el usado menos recientemente, en inglés Least Recently Used) y el LFU (el usado menos frecuentemente, Least Frequently Used).
  • Mejora de la velocidad en tiempo de respuesta mediante la implementación de caché en el proxy. El servidor Proxy crea un caché que evita transferencias idénticas de la información entre servidores durante un tiempo (configurado por el administrador) así que el usuario recibe una respuesta más rápida. Por ejemplo supongamos que tenemos un ISP que tiene un servidor Proxy con caché. Si un cliente de ese ISP manda una petición por ejemplo a Google esta llegará al servidor Proxy que tiene este ISP y no irá directamente a la dirección IP del dominio de Google. Esta página 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 búsqueda en Google el servidor Proxy ya no es utilizado; el ISP envía su petición y el cliente recibe su respuesta ahora sí desde Google. Los programas P2P se pueden aprovechar de la caché proporcionada por algunos proxies. 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 configuración de una serie de restricciones que indiquen lo que no se permite. Observar que esta funcionalidad puede ser aprovechada no solamente para que ciertos usuarios no accedan a ciertos contenidos sino también 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 petición. Además, si se usa una caché, puede darse el caso de que el contenido sea accedido muchas más veces que las detectadas por el servidor web que aloja ese contenido.
  • Los proxies pueden ser aprovechados para dar un servicio web a una demanda de usuarios superior a la que sería posible sin ellos.
  • El servidor proxy puede modificar los contenidos que sirven los servidores web originales. Puede haber diferentes motivaciones para hacer esto:
    • Algunos proxies pueden cambiar el formato de las páginas web para un propósito o una audiencia específicos (p. ej. mostrar una página en un teléfono móvil o una PDA) traduciendo los contenidos.
    • Hay proxies que modifican el tráfico web para mejorar la privacidad del tráfico 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 proxies en las propias máquinas de los usuarios (proxies locales) para implementar un paso intermedio y que las peticiones no sean liberadas/recibidas a/de la red sin haber sido previamente limpiadas de información o contenido peligroso o privado. Este tipo de proxies es típico en entornos donde hay mucha preocupación sobre la privacidad y se suele usar como paso previo a la petición del contenido a través de una red que persiga el anonimato como puede ser Tor. Los programas más frecuentes para hacer este tipo de funcionalidad son:
      • Privoxy: se centra en el contenido web. No presta servicio de caché. Analiza el tráfico basándose en reglas predefinidas que se asocian a direcciones especificadas con expresiones regulares y que aplica a cabeceras, contenido, etc. Es altamente configurable y tiene extensa documentación.
      • Pólipo: tiene características que lo hacen más rápido que Privoxy (cacheo, tubería, uso inteligente de rango de peticiones). Su desventaja es que no viene configurado por defecto para proveer anonimato a nivel de la capa de aplicación.

El servidor proxy proporciona un punto desde el que se puede gestionar de forma centralizada el tráfico web de muchos usuarios. Esto puede aprovecharse para muchas funciones adicionales a las típicas vistas anteriormente. Por ejemplo, puede usarse para controlar el tráfico de web de individuos concretos y establecer cómo 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 través de la red Tor).

Inconvenientes

  • Si se realiza un servicio de caché, las páginas mostradas pueden no estar actualizadas si estas han sido modificadas desde la última carga que realizó el proxy caché. Un diseñador de páginas web puede indicar en el contenido de su web que los navegadores no hagan una caché de sus páginas, pero este método no funciona habitualmente para un proxy.
  • El hecho de acceder a Internet a través de un Proxy, en vez de mediante conexión directa, dificulta (necesario configurar adecuadamente el proxy) realizar operaciones avanzadas a través de algunos puertos o protocolos.
  • Almacenar las páginas y objetos que los usuarios solicitan puede suponer una violación 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 través una aplicación web. Ese servidor HTTP, el intermediario, mediante una URL recibe la petición, accede al servidor de la web solicitada y devuelve el contenido dentro una página propia.

Proxy SOCKS

Los servidores SOCKS se diferencian de otros proxies por utilizar en vez de HTTP un protocolo específico, el protocolo SOCKS. El programa cliente es a la vez cliente HTTP y cliente SOCKS. El cliente negocia una conexión con el servidor proxy SOCKS usando el protocolo SOCKS de nivel 5, capa de sesión, del modelo OSI. Una vez establecida la conexión 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.

El cliente que se comunica con SOCKS puede estar en la propia aplicación (Ej. Firefox, puTTY), o bien en la pila de protocolos TCP/IP a donde la aplicación enviará los paquetes a un túnel SOCKS. En el proxy SOCKS es habitual implementar, como en la mayoría de proxies, autenticación y registro de las sesiones.

En los orígenes de la web fue un protocolo de acceso a web popular, pero el rápido desarrollo de los proxies HTTP o incluso de NAT y otras opciones de aseguramiento de las comunicaciones TCP/IP lo hizo caer en desuso, siendo prácticamente obsoleto llegado el siglo XXI.

Proxies transparentes

Muchas organizaciones (incluyendo empresas, colegios y familias) usan los proxies para reforzar las políticas de uso de la red o para proporcionar seguridad y servicios de caché. Normalmente, un proxy Web o NAT no es transparente a la aplicación cliente: debe ser configurada para usar el proxy, manualmente. Por lo tanto, el usuario puede evadir el proxy cambiando simplemente la configuración.

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 configuración 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

Un proxy inverso es un servidor proxy situado en el alojamiento de uno o más servidores web. Todo el tráfico procedente de Internet y con destino en alguno de esos servidores web es recibido por el servidor proxy. Hay varias razones para ello:

Proxy NAT o enmascaramiento

Otro mecanismo para hacer de intermediario en una red es el NAT. La traducción de direcciones de red o NAT también es conocida como enmascaramiento de IPs. Es una técnica 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 conexión a Internet. Se dispone de una única dirección IP pública, 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 dirección pública para realizar las peticiones, así como de distribuir las páginas 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 situación es muy común 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 conexión directa entre el exterior y la red privada, y así nuestros equipos no están expuestos a ataques directos desde el exterior.

Mediante NAT también se puede permitir un acceso limitado desde el exterior, y hacer que las peticiones que llegan al proxy sean dirigidas a una máquina concreta que haya sido determinada para tal fin en el propio proxy.

La función de NAT reside en los cortafuegos y resulta muy cómoda porque no necesita de ninguna configuración especial en los equipos de la red privada que pueden acceder a través de él como si fuera un mero enrutador.

Proxy abierto

Este tipo de proxy es el que acepta peticiones desde cualquier ordenador, esté o no conectado a su red. En esta configuración, el proxy ejecutará cualquier petición de cualquier ordenador que pueda conectarse a él, realizándose como si fuera una petición del proxy. Por lo que permite que este tipo de proxy se use como pasarela para el envío masivo de correos de spam. Un proxy se usa, normalmente, para almacenar y redirigir servicios como el DNS o la navegación 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 configuración «abierta» a todo internet, se convierte en una herramienta para su uso indebido.

Debido a lo anterior, muchos servidores —como los de IRC o correos electrónicos— deniegan el acceso de estos proxies a sus servicios —usando normalmente listas negras— para una seguridad más fiable.

Proxy interdominio

Típicamente usado por tecnologías web asíncronas (Flash, AJAX, comet, etc.) que tienen restricciones para establecer una comunicación entre elementos localizados en distintos dominios.

En el caso de AJAX, por seguridad solamente se permite acceder al mismo dominio origen de la página web que realiza la petición. Si se necesita acceder a otros servicios localizados en otros dominios, se instala un proxy interdominio en el dominio origen que recibe las peticiones AJAX y las reenvía a los dominios externos.

En el caso de flash, también han solucionado creando la revisión de archivos XML de interdominio, que permiten o no el acceso a ese dominio o subdominio.

Referencias

  1. ↑ RAE informa [@RAEinforma] (12 de septiembre de 2016). «.. adaptar como otros extranjerismos, en la forma «proxi(s)». Si se mantiene como anglicismo sin adaptar, su forma...» (tuit) – vía X/Twitter.
  2. ↑ A, Jordana (8 de junio de 2021). «Is this Website Down? How to Check if Your Site is Working Worldwide». Hostinger Tutorials (en inglés británico). Consultado el 9 de septiembre de 2022.
  3. ↑ «Glosario de términos de ciberseguridad: Una guía de aproximación para el empresario». INCIBE: p. 24. 2021. Consultado el 21 de febrero de 2026.
  4. ↑ «What Is Geo-Blocking and How to Bypass It». What Is Geo-Blocking and How to Bypass It (en inglés). Consultado el 21 de febrero de 2026.
  5. ↑ Greg Ferro, Fast Introduction to SOCKS Proxy
  6. ↑ Tutorial Archivado el 28 de mayo de 2010 en Wayback Machine. con esquemas sobre el Cross-Domain Proxy (en inglés).

Enlaces externos