
¿Qué se entiende como Proxy?
En esta entrada vamos a hablar de Proxy como máquina o dispositivo que ofrece un servicio de red que permite a los clientes realizar conexiones indirectas hacia otros servicios de red. Se puede definir, entonces, como un Servidor Intermedio.
Proceso de conexión de un cliente a través de Proxy
- El cliente se conecta hacia un Proxy.
- El cliente solicita una conexión, fichero o recurso disponible en un servidor remoto.
- El Proxy facilita el recurso conectándose hacia el servidor remoto o bien sirviéndolo el propio Proxy desde una caché.
- El Proxy puede alterar la solicitud del cliente o bien la respuesta del servidor remoto con diversos propósitos.
En algunos entornos no muy especializados es muy usual hacer trabajar una máquina con servicio de Proxy simultáneamente como cortafuegos a nivel de red (actuando como filtro de paquetes como en el caso de iptables) o a nivel de aplicación (controlando diversos servicios como en el caso de TCP Wrapper).
Otra aplicación común de los proxies, tal como se especificó anteriormente, es funcionar como caché de contenido de Red (principalmente protocolo HTTP). Para ello, tras la solicitud de una URL por parte de un cliente, el Proxy busca el resultado de la URL dentro del la caché del Proxy. Si el contenido solicitado no estuviera disponible en la caché, el Proxy lo traerá desde el servidor remoto y guardará una copia en la caché. El contenido de la caché se elimina según un algoritmo que tiene en cuenta la antigüedad, el tamaño y el historial de respuestas a solicitudes (lo que entendemos como hits).
Los proxies también pueden actuar como filtros de contenido aplicando políticas de censura de acuerdo con los criterios establecidos por el administrador de red. En estos casos es usual hablar del proxy para contenido de red como Web Proxy.
Tipos de proxy según su utilidad:
- Filtro de contenidos: Para bloquear el acceso a contenidos según criterio del administrador de red.
- Cortafuegos: Restringe los protocolos a nivel de aplicación.
- Web Cache: Sirven los archivos más solicitados aumentando la velocidad de conexión y reduciendo el coste de la comunicación.
- Proxy inverso (Reverse Proxy): Enmascar los servidores web de una empresa al recibir las todas las peticiones a los servidores web.
- Proxy Público: Aumenta la privacidad y el anonimato, mediante la eliminación de características identificativas (dirección IP del cliente, cabeceras From y Referer, cookies, identificadores de sesion URI, etc).
Todas estas características de proxies no son excluyentes, es decir, una máquina puede hacer a la vez de cortafuegos, web cache, proxy inverso, etc…
