Servidores Proxy: Una Visión Detallada
Tipos de Servidores
Servidor HTTP
Este tipo de servidor opera en la Capa de aplicación de TCP/IP. El puerto de comunicación de entrada estándar es el 80/http según IANA.[1] Aunque, en ocasiones, se utilizan otros puertos como el 3128, 8080 o el 8085.
Servidor HTTPS
Este servidor también opera en la Capa de aplicación de TCP/IP. A diferencia de un Servidor HTTP, funciona bajo tecnologías de cifrado como SSL/TLS, proporcionando mayor seguridad y anonimato. El puerto utilizado comúnmente es el 443/https.
Servicio Proxy o Proxy Web
Su funcionamiento se basa en el de un Proxy HTTP y HTTPS, pero la diferencia principal radica en que la petición se realiza mediante una Aplicación Web embebida en un Servidor HTTP, al cual se accede a través de una dirección DNS, es decir, una página web que facilita estos servicios.
Proxy Caché
Su método de funcionamiento es similar al de un proxy HTTP o HTTPS. Su función principal es precargar el contenido web solicitado por el usuario para acelerar la respuesta en futuras peticiones de la misma información, ya sea desde la misma máquina u otras.
Características de los Proxies
La palabra proxy se utiliza en situaciones donde tiene sentido un intermediario.
- El uso más común es el de servidor proxy, un ordenador que intercepta las conexiones de red entre un cliente y un servidor de destino.
- El más conocido es el servidor proxy web (comúnmente llamado «proxy»), que intercepta la navegación web de los clientes por diversos motivos: seguridad, rendimiento, anonimato, etc.
- Existen proxies para otros protocolos, como el proxy de FTP.
- El proxy ARP puede actuar como enrutador en una red, intermediando entre ordenadores.
- Proxy (patrón de diseño) también es un patrón de diseño en programación con el mismo esquema que el proxy de red.
- Un componente hardware también puede actuar como intermediario.
En resumen, proxy tiene un significado amplio, pero siempre es sinónimo de intermediario.
Ventajas de Usar Proxies
En general, los proxies ofrecen diversas ventajas:
- Control: Solo el intermediario realiza el trabajo real, permitiendo limitar y restringir los derechos de los usuarios, otorgando permisos únicamente al proxy.
- Ahorro: Solo uno de los usuarios (el proxy) necesita estar equipado para realizar el trabajo.
- Velocidad: Si varios clientes solicitan el mismo recurso, el proxy puede almacenarlo en caché y entregarlo directamente en futuras peticiones, acelerando la respuesta.
- Filtrado: El proxy puede rechazar peticiones prohibidas.
- Modificación: Un proxy puede falsificar o modificar información según un algoritmo.
- Anonimato: Al identificarse todos los usuarios como uno solo, se dificulta su diferenciación por parte del recurso accedido, aunque esto puede ser contraproducente en situaciones que requieren identificación.
Desventajas de Usar Proxies
El uso de intermediarios también puede presentar inconvenientes:
- Abuso: Al recibir peticiones de muchos usuarios, existe el riesgo de que realice trabajos no autorizados. Es crucial controlar el acceso a sus servicios.
- Carga: Un proxy debe realizar el trabajo de muchos usuarios.
- Intromisión: Al ser un paso adicional entre origen y destino, algunos usuarios pueden preferir no utilizarlo, especialmente si almacena copias de datos en caché.
- Incoherencia: Si utiliza caché, existe la posibilidad de proporcionar respuestas antiguas en lugar de las más recientes. Sin embargo, los proxies modernos suelen verificar la versión en caché con el servidor remoto.
- Irregularidad: La representación de múltiples usuarios por parte del proxy puede generar problemas en escenarios que presuponen una comunicación directa entre emisor y receptor (como TCP/IP).
Funcionamiento de un Proxy
Un proxy permite a otros equipos conectarse a una red de forma indirecta. Cuando un equipo solicita información o un recurso, el proxy realiza la comunicación y luego transmite el resultado al equipo inicial. Esto se hace porque la comunicación directa no es posible o porque el proxy añade funcionalidades adicionales, como el almacenamiento en caché para acelerar futuras consultas.
Tipos de Proxies
Proxies Transparentes
Muchas organizaciones utilizan proxies para reforzar políticas de uso de la red, proporcionar seguridad y servicios de caché. Normalmente, un proxy web o NAT no es transparente para la aplicación cliente y debe configurarse manualmente. Un proxy transparente combina un servidor proxy con NAT (Network Address Translation) para que las conexiones sean enrutadas a través del proxy sin configuración por parte del cliente, a menudo sin que este lo sepa. Este tipo de proxy es comúnmente utilizado por proveedores de servicios de internet (ISP).
Proxies Abiertos
Este tipo de proxy acepta peticiones desde cualquier ordenador, esté o no conectado a su red. En esta configuración, el proxy ejecuta cualquier petición como si fuera propia, lo que permite su uso como pasarela para el envío masivo de correos spam. Los proxies se utilizan para almacenar y redirigir servicios como DNS o navegación web, mejorando la velocidad mediante el cacheo de peticiones. Sin embargo, una configuración «abierta» puede llevar a su uso indebido. Debido a esto, muchos servidores, como los de IRC o correo electrónico, deniegan el acceso a estos proxies utilizando listas negras («BlackList»).