Descargar

Análisis de los puntos débiles en los sistemas de estadísticas web

Enviado por [email protected]


     

     

     

    En este artículo analizaremos las causas de por qué los servicios básicos nos dan números erróneos, y daremos al lector los elementos de evaluación para que pueda por sí mismo determinar la fiabilidad de un servicio de estadísticas web.

    La enorme mayoría de los servicios gratuitos de estadísticas de acceso web nos muestran una visión distorsionada sobre lo que realmente ocurre en nuestros sitios web. Sin embargo existe la tecnología necesaria para realizar análisis de tráfico absolutamente realistas… Lamentablemente estas tecnologías sólo suelen ser usadas por los servicios de estadísticas más caros (los planes "enterprise", "premium" o "professional" que ofrecen los proveedores más importantes), en tanto los webmasters que optan por los planes gratuitos (también llamados "basic", "free", etc) se suelen contentar con reportes y gráficas que sólo reflejan una parte de lo que en realidad está ocurriendo en un sitio web (ésto en el mejor de los casos, ya que muchos servicios nos reportan números totalmente mentirosos). En este artículo analizaremos las causas de por qué los servicios básicos nos dan números erróneos, y daremos al lector los elementos de evaluación para que pueda por sí mismo determinar la fiabilidad de un servicio de estadísticas web.

     

    ¿Cuántas páginas tiene tu sitio? ¿Las estás monitorizando todas?

    La mayoría de los sitios web se componen de varias páginas web (a pesar de que mucha gente usa indistintamente las expresiones "página web" o "sitio web" para referirse a lo que aquí llamamos "sitio": la colección de páginas, imágenes, hojas de estilo, applets, CGIs, etc. que conforman un proyecto web alojado bajo un mismo dominio).

    Ahora bien, cuando un sitio web se compone de varias páginas, todas ellas tienen la posibilidad de recibir una visita sin necesidad de que el visitante pase por la página de inicio, y este tipo de visitas directas tiende a incrementarse cuando nuestras páginas fueron indexadas por buscadores (que suelen mostrar subpáginas de diferentes sitios en los resultados de sus búsquedas). También es posible que desde otros sitios web existan enlaces hacia subpáginas específicas de nuestro sitio, y ésta es otra fuente de visitas que no pasan por la página de inicio.

    Los sistemas de estadísticas que se basan en la inclusión de un botón en nuestra página de inicio sólo contarán las visitas que abrieron la página de inicio, y por tanto no nos harán saber de toda la actividad que se desarrolle en el resto de los documentos de nuestro sitio web.

     

    No es lo mismo un "acceso" que una "visita"

    Acceso se llama a una apertura de página, no importa en qué condiciones: Si yo entro en un sitio web y hago click 9 veces en el botón "recargar" de mi browser, entonces generé 10 accesos a la página (un acceso inicial al entrar a la página, más 9 accesos que generé recargándola). Posiblemente el webmaster vea el reporte y diga "que bien, acaban de entrar diez personas!"… Visita se llama a la entrada de una persona bien individualizada a nuestra página, independientemente de cuantas veces la abrió o recargó en su browser. Es muy común que una persona que visita un sitio web lo recorra abriendo varias veces determinadas páginas (para volver a acceder a un menú, o una lista de links, por ejemplo).

    Cuando manejamos el concepto de "visita", también debemos manejar el concepto de timeout de visita. El timeout de visita es el tiempo de inactividad que debe transcurrir para que consideremos que una visita ha concluído. Este timeout puede variar entre 30 y 120 minutos. Una vez transcurrido este tiempo de inactividad, si el visitante vuelve a abrir la página, se le considera una nueva visita. Al fin de cuentas, sí es posible que una persona nos visite varias veces al día.

    En los hechos se da y no tiene nada de extraño. Sólo debemos tener la precaución de determinar mediante el timeout si una nueva apertura de página es parte de una visita en curso, o en cambio la persona nos dejó y ha vuelto generando una nueva visita. Para terminar de ilustrar el concepto: imaginemos la situación que se generaría en una máquina instalada en un cybercafé, desde donde una persona visitó nuestra página. Si al cabo de un rato esa misma máquina es ocupada por un nuevo cliente que también abre nuestra página, no hay ninguna razón para dejar de contabilizarlo como visita.

    ¿Qué es lo que contabiliza tu sistema de estadísticas? ¿Accesos o visitas? No dejes que te hagan pasar accesos como visitas, pues en ese caso estarás viendo números mucho mayores a los verdaderos, que tal vez te llenen de satisfacción, pero que nada tienen que ver con la realidad de lo que pasa en tu web.

     

    Clientes detrás de Proxys y routers NAT

    Un servidor Proxy es un dispositivo que permite acelerar la conexión a Internet de sus clientes (las PCs que estén configuradas para navegar haciendo uso de sus servicios). El Proxy mantiene una copia local (cacheada) de las páginas más visitadas por sus clientes, y cuando un cliente busca acceder a una de esas páginas, el proxy en realidad le entrega la copia que tenía almacenada localmente (si no cambió el contenido en el sitio original, por supuesto). Esto logra una importante aceleración de la navegación de sus clientes, además de que permite al administrador filtrar las peticiones a determinado tipo de sitios. Por ejemplo: en una escuela un proxy permite que el administrador bloquee el acceso a páginas para adultos, logrando al mismo tiempo una gran calidad de navegación a pesar de tener una línea de baja velocidad para atender decenas de PCs en el aula de informática.

    ¿El problema? Que todas las peticiones a Internet parecen salir de una máquina única (el proxy), que esconde la actividad individual de las máquinas que tiene detrás. A su vez hay dos tipos de proxy: los anónimos y los normales. Los proxys anónimos esconden a Internet su condición de proxys, en tanto que los normales agregan en la cabecera HTTP una línea parecida a la siguiente: "X-Forwarded-For: 200.40.236.70", que nos permite saber que se trata de un proxy que nos está visitando a pedido de la máquina "200.40.236.70" en este caso.

    El NAT (Network Address Translation) es implementado mediante routers (complejos dispositivos encaminadores, que constituyen el soporte de las comunicaciones en Internet) y es una técnica que permite a un proveedor de acceso a Internet lograr que una gran cantidad de clientes naveguen usando una misma dirección IP (Internet Protocol, o dirección de Internet). Para las empresas que cuentan con pocas direcciones IP es una solución ideal: las direcciones IP son un recurso cada vez más escaso, por lo que la técnica NAT se usa cada vez más. Hay poblaciones y pequeñas ciudades enteras que se conectan a Internet mediante un NAT configurado por su compañía de telecomunicaciones, usando unas pocas IPs para la conexón de miles de clientes. Desde el punto de vista de un sistema de estadísticas, todas esas máquinas son en realidad vistas como si se tratara de un solo cliente (lo que nos lleva a tener reportes de tráfico completamente alejados de la realidad).

    Existe una tecnología capaz de individualizar los clientes que nos visitan desde atrás de un NAT o un proxy anónimo: el "client footprint", que consiste el análisis de un paquete de características partuculares de la máquina (la "huella" de la máquina), que nos permite saber qué máquinas distintas están generando actividad en nuestro sitio a pesar de venir desde una misma IP. Esta técnica (de la cual he tenido la oportunidad de ser uno de sus desarrolladores) es usada por muy pocos sistemas de estadísticas web. Presta atención en la documentación de tu sistema de estadísticas: debe hablarte de "client footprint identification", o al menos debe aclararte de qué forma resuelve el problema de identificación de las visitas NAT.

     

    Visitas desde .COM .NET .EDU y .ORG

    En los reportes sobre el origen geográfico de las visitas puedes ver cuántos accesos has tenido desde España, México, Argentina, etc. Pero posiblemente veas entre los países, que te han visitado desde "EEUU Comercial (.com)", o desde ".net y .org". Difícilmente las visitas que dicen ser de "EEUU Comercial (.com)" realmente provengan de Estados Unidos, ya que el dominio COM puede estar asociado a una máquina en cualquier lugar del mundo. Lo mismo para NET, EDU y ORG. Entonces ¿por qué el sistema de estadísticas no me da el lugar geográfico real de la visita, en lugar de decirme que es desde una red COM? Porque están utilizando una tecnología fácil pero inapropiada: la resolución DNS reversa.

    Cuando llega una visita a un sitio web, obtenemos con ella el dato de la IP de la máquina que realizó la petición (ejemplo: 200.96.85.14). Entonces el sistema de estadísticas hace una búsqueda DNS reversa para esa IP, con el fin de obtener el nombre de la máquina. Si usas Linux, prueba ejecutar el siguiente comando: "dig -x 200.96.85.14" entonces obterndrás el nombre de la máquina que tiene asociada esa dirección IP (en este caso 200-096-085-014.smace7003.dsl.brasiltelecom.net.br). Luego se analiza el nombre de la máquina, para ver si se obtiene información sobre el país de origen… en el caso de nuestro ejemplo encontramos que el nombre termina en ".br", lo que nos indica que se trata de una visita desde Brasil.

    ¿Pero qué ocurre cuando la resolución DNS reversa nos devuelve algo así como "80.58.35.237.proxycache.rima-tde.net"? Si analizamos el nombre de la máquina, no encontraremos nada que nos permita determinar en qué país se encuentra. Entonces los sistemas de estadísticas baratos se contentan con decirnos que "es una visita desde .NET". Es verdad, lo es. Pero cuando un sistema vuelca ese tipo de información en sus reportes, en realidad es para disimular su incapacidad para determinar la verdadera procedencia geográfica de la visita.

    El método serio para determinar la situación geográfica de una dirección IP es mediante una base de datos de direcciones IP repartidas por países. Es el método que usan GeoIP (http://www.maxmind.com), o ip-to-country (http://ip-to-country.webhosting.info/) entre otros.

     

    Visitas desde origen desconocido

    Es una variante del problema tratado en el apartado anterior: cuando la resolución DNS reversa no arroja resultados, entonces no podemos obtener el nombre de la máquina desde la cual recibimos la visita. Este problema desaparece cuando se usa una base de datos asociando IPs con nombres de países, como ya se explicó.

    Pero subsiste el problema de qué es lo que ocurre si la base de datos no está actualizada con respecto a las nuevas asignaciones IP por parte de los organismos de control (APNIC para Asia y el Pacífico, ARIN para Norteamérica, LACNIC para Latinoamérica y el Caribe, y RIPE para Europa, Africa del norte y Rusia). La única solución fiable es la permanente actualización y corrección de las bases de datos de IPs por parte de nuestro proveedor de estadísticas.

     

    ¿Dónde reside el "motor" del sistema de estadísticas?

    Un Sistema de Estadísticas web puede ser un software instalado en tu propio servidor*, o puede ser un software instalado en otro lugar. Existe una antigua polémica acerca de la conveniencia de una u otra forma de monitorización de un sitio web. Para despejar nuestras dudas al respecto, en el año 2002 hicimos una serie de experimentos que arrojaron resultados esclarecedores: El experimento consistió en la creación de una página web bajo un dominio no público (lo cual nos garantizaba que no se recibirían visitas reales bajo ningún concepto).

    Se programó un agente de usuario especial, preparado para realizar una serie de 200.000 peticiones sobre la página en pruebas (mostrando diferentes cabeceras HTTP según una secuencia conocida: variando el agente de usuario, el uso de diversos proxys en distintos lugares del mundo, la densidad de peticiones por unidad de tiempo, etc). Entonces se "disparó" el generador de visitas, que cumplió con sus 200.000 visitas en un lapso de 24 horas, mientras la página web era monitorizada por 10 sistemas de estadísticas diferentes (5 nuestros y 5 sistemas comerciales). Al final de la prueba, todos los sistemas de estadísticas arrojaron diferentes resultados.

    Pero lo más interesante del experimento es que en el propio servidor de la página web habíamos instalado un sistema de medición, idéntico al que utilizamos desde otros 4 servidores en forma remota, y los cinco dieron resultados ligeramente diferentes. De ahí se deduce que un mismo software de control de tráfico web monitorizando un sitio desde su propio servidor difiere en precisión con respecto a la monitorización remota.

    La información más exacta se obtuvo SIEMPRE desde el sistema de control que se encontraba funcionando en el propio servidor del sitio web (la actividad sobre el sitio ya se conocía de antemano al provenir 100% de un simulador de tráfico programado por nosotros mismos). Los experimentos se repitieron durante meses, variando los emplazamientos de los monitores remotos, las características de las páginas web usadas, el software de simulación de tráfico, la densidad de las muestras, etc. Se llegó a muchas conclusiones cuyo análisis está fuera del cometido de este artículo. Pero en lo concerniente a este artículo, nuestra conclusión fue: Los sistemas de monitorización remota son menos fiables que aquellos que se encuentran instalados en el propio servidor web del sitio monitorizado.

     

    * Vamos a dejar de lado el estudio de los programas conocidos como "Analizadores de logs", que analizan los archivos de registro de actividad generados por el propio servidor. Estos registros son sin duda la fuente de información más fiel acerca de qué es lo que ocurre en un sitio web. Pero su uso resulta engorroso, y la información que se obtiene es incompleta (no especifica las capacidades del browser en cuanto a plugins, por ejemplo), y no pueden identificar clientes detrás de proxys o NATs.

     

    Conclusión

    Son muchas las variables en que los sistemas gratuitos de estadísticas web realizan un "redondeo" de la información, que deriva en la generación de reportes completamente alejados de la realidad. Los más graves errores surgen de la confusión de "visita" con "acceso", y de la falta de monitorización en las páginas internas del sitio web.

     

    Ing. Eduardo González González (*)

    (*) Consultor en Sistemas de Seguridad