PASOS Para Identificar "ESTADISTICAS MENTIROSAS" De Tu Web.
Análisis de los Puntos Débiles en los Sistemas de Estadísticas Web
・ ¿Cuántas páginas tiene tú sitio? ¿Las estás monitorizando
todas?
・ No es lo mismo un "acceso" que una "visita "
・ Clientes detrás de Proxys y routers NAT
・ Visitas desde .COM .NET .EDU y .ORG
・ Visitas desde origen desconocido
・ ¿Dónde reside el "motor" del sistema de estadísticas?
・ Conclusión
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 proveedoresmá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 tiempode 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 Asiay 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 softwareinstalado 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 (*)
eduardo[arroba]eduardo-gonzalez.com
(*) Consultor en Sistemas de Seguridad
