Un proxy web inverso puede hacer que un sitio web se cargue más rápido, pero también aumenta la superficie de ataque de la página. Esto puede poner en riesgo a los propietarios y visitantes del sitio.
Cuando visitas una página web, se producen varias operaciones en segundo plano. Incluso si no hace clic en nada, el sitio procesa información como la página en la que se encuentra, su dirección IP y el dispositivo que está utilizando. Ciertas reglas se aplican a las transacciones que ocurren en este middleware. Los atacantes que son conscientes de esto y de cómo se implementan estas restricciones pueden explotarlo para robar su información. Para comprender mejor el problema, considere la noción del proxy web inverso.
¿Qué es el proxy web inverso?
El proxy web inverso procesa y optimiza sus transacciones accediendo a sitios de Internet antes de transmitirlas al servidor web backend. Los datos procesados y optimizados se envían a los servidores web relevantes mediante el proxy web inverso. Este proceso proporciona una medida de seguridad y mejora el rendimiento.
Es posible beneficiarse de muchos sistemas diferentes para utilizar la capacidad de proxy web inverso. Puede utilizar un cortafuegos de aplicaciones web (WAF), equilibrador de carga, dispositivos que puedes posicionar contra ataques DDoS o plataformas y sistemas como Cloudflare para proxy web inverso.
Lo que estos sistemas tienen en común es que proporcionan una formación entre el servidor y el cliente. Cuando solicita un sitio web, esta solicitud no va directamente al servidor. El proxy web inverso entre el servidor y el sitio web examina y optimiza estas solicitudes. Por ejemplo, un sistema que sospecha que una solicitud HTTP continua puede ser un ataque DDoS filtra estas solicitudes y, si es necesario, pone en lista negra el dispositivo desde el que se originan las solicitudes, impidiendo que llegue al sitio. En resumen, el propósito es proporcionar control entre la solicitud y el servidor.
Impacto del proxy web inverso en el rendimiento
Consideremos cómo un proxy web inverso mejora el rendimiento a través de un ejemplo, como el sitio web de una cafetería. Imagine un texto que describa el café en este sitio web y algunas imágenes de café en los menús. Dado que estas imágenes y textos no cambiarán continuamente, es posible realizar algunas mejoras de rendimiento. Si almacena las direcciones URL de estas imágenes estáticas en el proxy web inverso, está almacenando en caché en el proxy web inverso.
En otras palabras, la primera vez que ingrese al sitio, el proxy web inverso guardará todas las imágenes en su caché y brindará un servicio más rápido en su segundo inicio de sesión. Como resultado, la tensión en el sitio web se reducirá significativamente, por lo que el sitio web se cargará más rápido.
Beneficios del proxy web inverso
Para resumir por qué es posible que desee considerar un proxy web inverso, sepa que uno puede:
- Aumenta la velocidad de acceso a Internet y aumenta la velocidad de transferencia de datos, haciendo que las páginas web se carguen más rápido.
- Oculte sus datos personales. Un proxy web inverso encripta todos los datos que envía y recibe de su computadora y oculta sus patrones de uso personal.
- Utilice varias tecnologías de cortafuegos para proteger sus datos personales.
- Resuelva las prohibiciones que encuentre al acceder a sitios web y evite el bloqueo.
¿Cómo ocurre la vulnerabilidad de engaño de caché de proxy?
Todos los datos guardados en su caché por el proxy web inverso se almacenan con sus extensiones de archivo. Por ejemplo, las imágenes tienen extensiones como ".jpg" y ".png", mientras que los textos son ".txt". Esto significa que un atacante que secuestra este caché puede descubrir lo que ha visto o hecho en el sitio al ver los archivos a los que accedió.
Por ejemplo, considere un sitio con la dirección ejemplo.com/login.php. Suponga que puede acceder a esta dirección ingresando su nombre de usuario y contraseña, y que la página a la que accede pertenece a un archivo PHP que se ejecuta dinámicamente. Si recuerda, los archivos almacenados en caché eran solo archivos estáticos. Por lo tanto, el proxy web inverso no almacenará en caché dicho archivo PHP.
Pero a veces las cosas no son tan simples. En algunos casos, cuando solicita una dirección que no existe, obtendrá un Error 404 página no encontrada. Pero además de este error, el servidor web te brinda otra información crítica. Cuando solicita una URL no válida que no existe, la parte válida de la URL que solicitó puede estar en el servidor. En este caso, incluso si solicita una dirección no válida, puede recibir la parte válida de esta dirección no válida en respuesta. En tales casos, los atacantes sospechan que puede haber una vulnerabilidad de seguridad aquí y se preparan para atacar.
Ahora consideremos otra dirección URL, como ejemplo.com/login.php/muo.jpg. Supongamos que el servidor todavía te muestra ejemplo.com/login.php porque no existe tal archivo en el servidor.
Si te diste cuenta, la dirección que solicitaste pertenecía a un archivo JPG, lo que significa que este es un archivo completamente estático. Recuerde que los desarrolladores web pueden almacenar archivos estáticos en un proxy web inverso, ya que el contenido con extensiones de archivo estático como este no necesita recargarse dinámicamente en el sitio web. El principal objetivo de los desarrolladores web es conseguir un sitio web más eficiente y de alto rendimiento. En este caso, incluso si no existe dicha dirección, el proxy lo almacenará en caché. Ahora, quien ingrese a esta dirección verá la página en la que inició sesión con su nombre de usuario y contraseña.
Un atacante que quiera explotar tal vulnerabilidad intentará que usted haga clic en este enlace acortando este enlace o engañándolo de otra manera. Cuando hace clic en este enlace falso, se da cuenta de que no pasa nada, pero ahora ha creado un caché en el proxy web inverso. Lo único que hará el atacante será explotar su información.
Formas de precaución
La mejor manera de evitar una vulnerabilidad de proxy web inverso es predeterminar cómo el servidor tratará los archivos que no existen. Un archivo que no existe no debería crear un caché. Además, si es un desarrollador web, ahora sabe que puede almacenar contenido y documentos en un proxy web inverso. Es muy importante que compruebe periódicamente los datos que almacena en el proxy web inverso y que realice estas comprobaciones con cuidado. Dominar la lógica de trabajo de un proxy web creará una conciencia de seguridad muy importante tanto para usted como para los usuarios que utilizarán su sitio web.
Recuerda que los atacantes siempre estarán un paso por delante de ti. Es por eso que es beneficioso para usted tomar todas las precauciones y tener una comprensión más profunda de las tecnologías que utiliza. Para ello, en unos pocos pasos, puedes crear tu web proxy y ponerte a prueba.