¿Nos están tomando el pelo con las proxis transparentes?

Baranda
jgb@barrapunto.com

Enero de 2003

©2003 Baranda.
Se otorga permiso para copiar y distribuir este documento completo en cualquier medio si se hace de forma literal y se mantiene esta nota.

Este artículo fue publicado en el número 28 de la revista Todo Linux.

Si tienes acceso a Internet mediante ADSL en España, es muy probable que a primeros de 2003 te hayan puesto una proxi transparente. Si tu acceso es de otro tipo, o de otro país, es posible que la tengas ya o que te la vayan a poner en breve. ¿Por qué esto debería preocuparte, y qué puede suponer esta tendencia de cara al futuro?

¿Qué es Internet?

Antes de explicar qué es una proxi transparente y cómo te puede afectar que te lo instalen, conviene repasar qué es Internet. A estas alturas, todos tenemos la idea de qué es esta red tan famosa, y cada uno nuestra definición favorita. Pero voy a atreverme a probar con una que, siendo muy clásica entre los ``técnicos'' (así, entre comillas), puede ser más desconocida para el público en general:

``Internet es la red que forman todas las máquinas que están interconectas por todo el mundo, y pueden enviarse datos usando el protocolo IP''

Para entenderla, claro, hace falta saber qué es eso del ``protocolo IP''. Pero esa parte es fácil. IP es el ``protocolo de Internet'', el que usan todas las máquinas conectadas a Internet.

Vaya, dirá el lector atento. Definición recursiva habemus. Internet definido en función del protocolo IP, y el protocolo IP definido en función de Internet...

Pero esto no es una muestra de lo malo que soy definiendo, sino de lo imbricados que están Internet y el protocolo IP. Desde siempre, por definición y diseño, una máquina cualquiera conectada a Internet ha podido enviar datos a cualquier otra máquina también conectada a Internet, y el único requisito para ello ha sido que los datos fueran correctamente ``empaquetados'', según lo que especifica el protocolo IP. Por lo tanto, las aplicaciones utilizarán IP para enviar los datos que quieran a través de la Red, y se entenderán directamente entre ellas. Por ejemplo, cuando un navegador web quiera bajarse una página, enviará datos IP que Internet encaminará hasta el servidor correspondiente, que a su vez responderá de la misma manera.

¿Por qué es importante que Internet sea así?

Este principio (que Internet se encarge simplemente de hacer llegar datos IP desde cualquier máquina a cualquier otra, y que no haga nada con el contenido de esos datos salvo encaminarlos) se llama ``extremo a extremo''. En otras palabras, Internet se diseñó como una red ``tonta'', que sólo envía datos de un lado para otro, mientras casi toda la ``inteligencia'' queda en las aplicaciones (por ejemplo, navegadores y servidores de web) que funcionan en las máquinas conectadas a ella (los ``extremos'' de la red).

El principio ``extremo a extremo'' ha tenido un impacto extraordinario en la evolución de Internet. Para utilizar nuevas aplicaciones, basta con instalar software en máquinas conectadas a la Red, sin tener que hacer ningún cambio en la vasta infraestructura de Internet (los cientos de miles de máquinas que se encargan de encaminar datos de un lado para otro). Dicho de otra forma: una nueva aplicación sólo necesita de la instalación de unos pocos programas en unas pocas máquinas (las que la usan), y absolutamente nada nuevo de la red (ni registrar un nuevo protocolo, ni modificar el software que se utiliza en la red, ni nada de nada).

Por eso ha sido siempre tan simple innovar en Internet, y probablemente este ha sido uno de los motivos fundamentales para que se haya impuesto con el tiempo a otras redes que competían con ella. La innovación en Internet no requiere permisos de ninguna autoridad de red, ni convencer a los administradores de que instalen nuevo software en el corazón de la Red, ni modificar el protocolo básico de transmisión de datos. Casi cualquiera puede concebir una nueva aplicación en red, construir el software que precisa y probarla, todo en poco tiempo, y sin ningún trámite administrativo. Así nacieron el correo por Internet, la transferencia de ficheros, los chats distribuidos (como IRC), el web, los programas peer-to-peer, y todo lo que hoy usamos cuando ``nos conectamos''.

Podríamos decir sin lugar a dudas que el principio ``extremo a extremo'' que se ha respetado en la estructura de Internet, casi sin modificaciones, desde su nacimiento, es uno de los principales responsables de la rápida evolución de esta red.

¿Qué es una proxi transparente?

Por partes. Una proxi (en inglés, proxy, en español podría ser algo así como ``intermediario'' o ``representante'', pero voy a dejarlo en ``proxi'') es un programa que hace algo en nombre de otro. Por ejemplo, un navegador de web puede usar una proxi para que haga las peticiones de páginas web en su lugar. En este caso el navegador, en lugar de enviar datos IP al servidor web, se los envía a la proxi, y es ésta la hace la petición en su nombre. Normalmente la proxi tiene una cache (almacén temporal) en la que poner las páginas que envía hacia los navegadores, con la esperanza de poder servirlas rápidamente, sin tener que hacer consultas a Internet si se las vuelven a pedir.

¿Y por qué se usan las proxis? Hay al menos dos motivos: reducir el tiempo desde que el navegador pide una página web hasta que se la sirven, y reducir el ancho de banda necesario para navegar ``del proxi hacia Internet'' (suponiendo que el proxi se coloca entre el navegador y la conexión a la Red del proveedor de Internet). En ambos casos sólo se logra algo si las páginas en la cache son pedidas más de una vez. Este tipo de proxis se llama ``proxi-cache'': proxi que guarda en su cache los datos que recibe en un almacén temporal, y los envía directamente a quien los vuelve a pedir.

Nos queda lo de ``transparente''. Esto es fácil. Significa que la proxi no es ``vista'' por los navegadores, que ni ``saben'' de su existencia. ¿Por qué? Porque el navegador, en lugar de enviar los datos IP a la proxi, los envía directamente al servidor con el que quiere contactar, como haría normalmente. Pero en algún momento estos datos son interceptados por la red del proveedor que la instala y reenviados a la proxi.

Es importante darse cuenta que mientras un proxi ``normal'' sólo se usa si se quiere (hay que especificarlo en la configuración del navegador), una proxi transparente hay que usarla quieras que no: cada vez que el navegador hace una petición, ésta es interceptada y redirigida para usar la proxi. Sea la petición la que sea, quiera el usuario o no.

Hasta aquí se ha hablado sólo de proxis para web (técnicamente, proxis para el protocolo HTTP, que es el que se usa habitualmente en el web). Pero puede haber proxis para muchos otros servicios (y de hecho, las hay). En general, aunque se las llame ``proxi transparente'', suelen ser ``proxi-cache transparente''.

¿Qué problemas introducen las proxis transparentes?

Revisitando lo que se ha explicado hace un momento, el primer problema que nos encontramos es que una proxi transparente dinamita completamente el principio de ``estremo a extremo''. Ahora la red trata de hacer cosas ``especiales'' con según qué información. Si tenemos una proxi transparente entre nuestro ordenador y aquel al que enviamos nuestros datos, ahora nuestros datos serán escrutados y según lo que decida el software interceptor, quizás enviados a la proxi, para que los trate. Queramos o no. Sea adecuado o no para los datos que estamos enviando. Ya no es cierto que Internet no toca nuestra información y sólo la encamina: ahora la examina hasta el fondo, y hace con ella lo que ``quiere''.

Y se causan unas cuantas consecuencias, entre las que cabe destacar:

Todas estas situaciones son sólo una muestra de lo que ocurre cuando se rompe el principio ``extremo a extremo'' de Internet. Pero hay problemas más graves a medio plazo. Por ejemplo, ahora se están experimentando nuevas extensiones al protocolo que usa el web (HTTP) que permiten servicios completamente nuevos. Por ejemplo, WebDAV incluye extensiones a HTTP para convertir el web que tenemos hoy día, fundamentalmente de solo lectura, en un sistema de lectura-escritura. Cualquiera de estas extensiones podría verse afectada por acciones del proxi transparente. La evolución de HTTP se va a ver, sin duda, comprometida, y en cualquier caso, dependiente de lo que haga el proxi.

Además, el proxi está introduciendo en una red que era fundamentalmente ``distribuida'' un punto único de control. Quien controle la proxi puede decidir, por ejemplo, a qué webs pueden acceder sus clientes. Hoy podría hacerse ya sin necesitar proxis, pero con ellas es mucho más fácil, y pueden conseguirse comportamientos más complejos fácilmente. El lector crítico inmediatamente pensará: ¿y para qué iba el proveedor de Internet a prohibir el acceso a ciertas web? Alguna respuesta que le puede interesar: imagina que lo que hace no es prohibir, sino retardar el acceso a webs servidos por la competencia. Imagina que por ley se pide controlar el acceso a ciertos tipos de web. Imagina... ¿se te ocurren tus propias ideas?

Nos están tomando el pelo

Espero que después de todo esto haya quedado claro que las proxis transparentes pueden presentar problemas concretos, y suponen una tendencia preocupante. Pero aunque no fuera así, ¿qué ganamos con ellas? Los proveedores de Internet que están instalándolas nos dicen que vamos a poder navegar más rápido. Yo me pregunto, ¿y qué, aunque fuera así? Si la ``mejora de servicio'' que suponen las proxis es apreciable, ¿por qué no dejan que decidamos usarlas o no? No sería complicado instalar proxis no transparentes, explicar a los usuarios sus ventajas, y dejarles que las usen o no. O incluso instalar proxis transparentes, explicar claramente sus posibles problemas, y dejar que los usuarios que quieran no las usen.

Por el contrario, nos guste o no, nos cambian las condiciones de servicio. Yo pagaba por tener transporte de datos IP a cualquier sitio de Internet, y ya no es esto lo que me proporcionan (aunque me siguen cobrando lo mismo). ¿Os imagináis que un día correos decidiera abrir las cartas que enviamos para mirar qué pone en ellas, y si considerase que no merecen llegar a su destino simplemente las tirara? ¿Y que además nos tratase de convencer de que así las cartas van más rápido, porque los empleados de correos tienen que manejar menor número de envíos? Esto es lo que está pasando, al menos en cierta medida, con las proxis transparentes. Solo que la mayoría de los usuarios o no lo saben, o no entienden sus consecuencias.

¿Quien sale pues beneficiado? Naturalmente, el proveedor del servicio de Internet, que verá menos tráfico en sus líneas de conexión hacia la Red. Y ni siquiera tiene la delicadeza de trasladar parte de su reducción de costes hacia sus clientes, rebajando la cuota mensual.

¿No es esto una tomadura de pelo?



Jesus M. Gonzalez-Barahona 2003-04-06