¿Cuál es la diferencia entre un proxy directo y un proxy inverso?
Respuesta breve
Un proxy directo se sitúa delante de los clientes y hace peticiones salientes en su nombre — para control de salida, filtrado, cacheo y anonimato. Un proxy inverso se sitúa delante de los servidores y recibe peticiones entrantes en su nombre — para balanceo de carga, terminación TLS, cacheo y como fachada de seguridad para un WAF. La dirección a la que mira, lado cliente o lado servidor, es la distinción clave.
Ambos son intermediarios que retransmiten tráfico, pero se sitúan en extremos opuestos de la conversación y sirven a dueños distintos. Acertar con la dirección — y los casos de uso de seguridad — es lo que comprueba el entrevistador.
Proxy directo: delante de los clientes
Un proxy directo actúa en nombre de los clientes que tiene detrás. Cuando el navegador de un usuario está configurado para usarlo, sus peticiones van al proxy, que las reenvía a Internet y devuelve la respuesta. El proxy conoce a los clientes; el servidor de destino normalmente solo ve la IP del proxy.
Los usos típicos son del lado cliente: aplicar una política de uso aceptable y el filtrado de salida, el filtrado de contenido, el cacheo para ahorrar ancho de banda, el registro/DLP del tráfico saliente, y proporcionar anonimato ocultando al cliente real.
Proxy inverso: delante de los servidores
Un proxy inverso actúa en nombre de los servidores que tiene detrás. Los clientes en Internet se conectan al proxy inverso creyendo que es el servidor; él reenvía a uno de varios back-ends y devuelve la respuesta. El cliente no sabe cuántos servidores existen ni sus direcciones reales.
Los usos típicos son del lado servidor: el balanceo de carga entre back-ends, la terminación TLS (descifrar una sola vez en el borde), el cacheo y la compresión, y actuar como punto de paso donde se aplican un WAF, la limitación de tasa y la protección DDoS. Ejemplos incluyen Nginx, HAProxy y los bordes de CDN.
El modelo mental
La misma maquinaria, intención opuesta: un proxy directo oculta y controla a los clientes; un proxy inverso oculta y protege a los servidores. Un balanceador de carga es esencialmente un proxy inverso especializado, centrado en distribuir la carga entrante.
Los entrevistadores quieren el encuadre lado cliente vs lado servidor y al menos un caso de uso de seguridad correcto para cada dirección.
Posibles preguntas de seguimiento
- ¿Cómo ayuda un proxy inverso con la terminación TLS y un WAF?
- ¿Cómo usan las empresas los proxys directos para la prevención de fuga de datos y el filtrado de salida?
- ¿Dónde encaja un balanceador de carga respecto a un proxy inverso?