Proxy vs Reverse Proxy

Qué son exactamente Proxy (Forward Proxy) y Reverse Proxy

123456789 Yusnier Matos Arias

Proxy

Un Proxy, también conocido como Forward Proxy, Proxy Server o Web Proxy, es un servidor que se sitúa “delante” de máquinas cliente de una red. Este servidor intercepta las peticiones de las máquinas cliente y se comunica con los servidores web (u otros de destino).

De esta forma el cliente se comunica con el servidor de destino con cierto anonimato, pues el servidor no conoce exactamente quién (qué cliente) está consumiendo el servicio.

Los clientes pueden ser computadoras de escritorio, dispositivos móviles entre otros. 

Odoo CMS - una imagen grande

Esquema de un Proxy

El Proxy se sitúa en la red donde se encuentran las máquinas cliente, o sea, las que realizan las peticiones o consumen los servicios.

Qué beneficios ofrece el Proxy

Anonimato

El servidor de destino no conoce los datos del cliente que consume sus servicios. Esto es porque quien se comunica realmente con el servidor es el Proxy.

Caché

El Proxy puede almacenar temporalmente datos de conexión, sesiones y otros para agilizar la comunicación. Esto permite reducir los tiempos de respuesta ante peticiones similares de uno o varios usuarios.

Bloqueo de sitios no deseados

Esta funcionalidad es ocupada generalmente por instituciones e incluso países para controlar y limitar los sitios web a los que se pueden conectar sus usuarios.

Protección de identidad

Un Proxy permite además ocultar la verdadera identidad de quien se conecta. Esto ha sido usado para conectarse a redes prohibidas, por ejemplo, por la ubicación geográfica del cliente.

Por ejemplo, una empresa que no permite la conexión de usuarios de un país (aunque suene absurdo sí existe y me consta) bloquea a estos por la IP u otros métodos.

Haciendo uso de un Proxy los usuarios de este país pueden consumir los servicios de la empresa pretendiendo ser de otros lugares. En este caso, como la información de conexión que conoce el servidor es la del Proxy, no tiene manera de bloquear a los usuarios “no deseados”.

Reverse Proxy

El Reverse Proxy, por otro lado, se sitúa “delante” de los servidores.

Este servidor intercepta las conexiones de los clientes y se comunica con los servidores ocultando la información de estos de cara a los usuarios.

En este caso, son los usuarios los que no conocen con qué servidor se están comunicando exactamente.

Igualmente, los clientes pueden ser computadoras de escritorio, dispositivos móviles entre otros, y los servidores pueden estar alojando varios servicios.


Odoo CMS - una imagen grande

Esquema de un Reverse Proxy

El Reverse Proxy se sitúa en la red donde se encuentran los servidores.

Qué beneficios ofrece el Reverse Proxy

Balanceo de carga (Escalabilidad)

El Balanceo de carga permite distribuir las peticiones entre varios servidores con varios objetivos:

  • Aumentar la velocidad de respuesta hacia los usuarios.

  • Aumentar la tolerancia a fallos.

  • Atender a más usuarios a medida que el tráfico aumenta.

“Detrás” del Reverse Proxy pueden configurarse varios servidores entre los cuáles se distribuyen las peticiones aplicando métodos como Round Robin u otros más sofisticados.

Esto permite aumentar o reducir la cantidad de servidores “dinámicamente” de acuerdo con la demanda de los servicios.

Protección ante ataques

Dado que los usuarios se comunican directamente con el Reverse Proxy y no con los servidores, las IP de estos últimos no quedan expuestas. De esta forma se reducen las posibilidades de que los ataques afecten a los servidores de la red interna.

Separación de tráfico interno

Internamente los servidores pueden tener varias configuraciones. Incluso, pueden estar publicando los servicios mediante puertos y tecnologías distintas.

Por ejemplo, pueden ser servidores físicos, virtuales, contenedores, etc. Sin embargo, el usuario nunca es consciente de la configuración interna de la red.

Incluso, los servidores y los servicios que estos alojan pueden estar configurados por puertos distintos. El Reverse Proxy es capaz de gestionar toda la comunicación abstrayendo a los usuarios de estas configuraciones. De esta forma no expone datos innecesarios, y hasta cierto punto peligrosos.

Caché

El Reverse Proxy almacena información que no cambia con “mucha” frecuencia para agilizar la comunicación y reducir los tiempos de respuesta.

SSL Encryption

Los servicios internos pueden estar publicados mediante puertos no seguros. Para esto, el Reverse Proxy encripta y desencripta la comunicación usando métodos SSL/TLS.

Canary Deployment

El Canary Deployment es un término usado más en software testing para realizar una especia de Pruebas A/B. Sin embargo, es justamente eso lo que permite en este contexto.

El Reverse Proxy permite realizar pruebas A/B configurando uno o varios servidores de la red con pequeños cambios en los servicios. Estos cambios son visibles solo por una parte de los usuarios. De esta forma permite probar y analizar nuevas funcionalidades, configuraciones, comportamientos, etc, sin necesidad de afectar a toda la red o comprometer la disponibilidad de los servicios.

Conclusiones

La diferencia más visible (aunque no la más importante) entre Proxy y Reverse Proxy es que el primero es configurado de las redes clientes, por lo general en instituciones o países. Por otro lado, el Reverse Proxy es configurado por los proveedores de servicios alojados en Internet, es decir, los responsables de servidores.

En la práctica se realizan configuraciones más complejas en relación con los Proxy. Incluso, en una comunicación pueden estar presentes ambos componentes.


Odoo CMS - una imagen grande

Proxy y Reverse Proxy en una red

En la imagen se muestra un esquema a grandes rasgos donde intervienen ambos, Proxy y Reverse Proxy.

El esquema de Internet puede dibujarse de otras maneras pero me parece que este es bastante ilustrativo de cómo queda cada componente.

La importancia de contar con estos es indiscutible. En entradas posteriores veremos de forma más práctica el funcionamiento de cada uno y cómo configurarlos.

Escriba un comentario

Usted debe ser registrado escribir un comentario.