Fugas de VPN y controles de disfraz
Una fuga es cualquier lectura sobre ti que escapa del túnel que construye una VPN: un valor que sigue viajando por su ruta antigua, o que una página puede pedir directamente a tu navegador, saltándose el túnel por completo. Un control de disfraz es la prueba complementaria: un sitio toma cada lectura que puede recoger —dirección, reloj, idioma, hardware, resolutor— y las compara entre sí, buscando no secretos sino contradicciones. Un disfraz rara vez falla porque un valor parezca erróneo; falla porque dos valores que deberían coincidir no coinciden. Ejecuta ambas mitades tú mismo en la prueba de huella del navegador y lee qué saben los sitios web sobre ti para ver el inventario completo de lecturas que una página puede tomar antes de que cambies un solo ajuste.
Una VPN cambia exactamente una cosa
Una VPN hace un trabajo mecánico, y lo hace bien: envuelve tu tráfico en un túnel cifrado hasta un servidor de salida, y los sitios que visitas ven ese servidor en lugar de a ti. Tu dirección IP pública cambia. La ciudad y el país asociados a esa dirección cambian con ella. La red propietaria de la dirección —normalmente una empresa de alojamiento o un proveedor de VPN, no una línea doméstica— también cambia. Si tu única pregunta era «¿desde qué dirección cree este sitio que vengo?», una VPN que funciona la responde por completo, y nada en este artículo lo contradice.
Todo lo demás se queda exactamente donde estaba. Tu dispositivo no se mueve: su tamaño de pantalla, chip gráfico, fuentes instaladas, comportamiento de la batería, pila de audio y las decenas de pequeñas lecturas de hardware y software que se combinan en una huella del navegador son idénticas antes y después de abrirse el túnel. Tu reloj no se mueve, así que tu zona horaria del sistema sigue indicando el lugar donde realmente estás. Los idiomas de tu navegador y de tu sistema no se mueven. Tus cookies, tus cuentas con sesión iniciada y tu historial no se mueven. El túnel redirige paquetes; no redecorá la máquina al final de ellos.
Esa división es la razón por la que la mayoría de la «detección de VPN» está mal nombrada. En el caso común nadie ha detectado un protocolo VPN, un túnel o una conexión cifrada. Han detectado un desajuste: la IP afirma un país mientras el reloj afirma otro, la dirección pertenece a un centro de datos mientras la huella describe un portátil doméstico, la lista de idiomas describe a un viajero que nunca viaja. Los sitios puntúan la brecha entre la capa que se movió y las que no. Entender las fugas, entonces, no trata realmente del túnel: trata de auditar todo lo que el túnel dejó atrás.
WebRTC: la dirección que rodea el túnel
WebRTC es la tecnología del navegador detrás de la voz, el vídeo y los datos entre pares dentro de la página. Para conectar dos navegadores directamente debe descubrir primero cómo se puede llegar a cada uno, y ese proceso de descubrimiento se llama ICE. En términos sencillos, tu navegador reúne candidatos —posibles direcciones de sí mismo— y se los ofrece al otro lado. Algunos los aprende preguntándose a sí mismo, y otros preguntando a un servidor STUN una cuestión simple: «desde donde estás, ¿desde qué dirección te estoy llamando?». Las respuestas vuelven como tipos de candidato distintos, y la diferencia entre ellos es toda la historia de la fuga.
Un candidato host es una dirección que tu máquina posee directamente: históricamente, tu dirección de red local, como la 192.168 que te dio tu router. Un candidato reflejado por el servidor es la dirección pública que observó el servidor STUN: la dirección que ve el mundo exterior. Cuando WebRTC era nuevo, las páginas podían recoger ambos libremente, lo que produjo dos fugas clásicas: la dirección LAN escapaba aunque fuera inútil para el sitio y, peor, cuando un navegador preguntaba al servidor STUN fuera o junto al túnel VPN, el candidato reflejado revelaba la dirección pública real tras el disfraz. La VPN funcionaba perfectamente para el tráfico web mientras un canal lateral publicaba en silencio lo que ocultaba.
Los navegadores modernos han estrechado mucho esto. Chrome y Firefox ahora suelen sustituir las direcciones host por nombres mDNS aleatorios —un nombre .local rotatorio en lugar de tu IP LAN real—, de modo que una página ve un candidato que no puede relacionar con tu router. Las implementaciones difieren por navegador y versión, algunas enrutan WebRTC correctamente por el túnel, y las configuraciones corporativas o con extensiones difieren de nuevo, por eso dos pruebas honestas pueden discrepar. Trata las correcciones bruscas con cuidado: desactivar WebRTC por completo detiene la fuga y también rompe llamadas legítimas, mientras que las extensiones que prometen «falsificar» candidatos suelen sustituir una dirección plausible por una implausible —y un candidato implausible es en sí mismo una contradicción que un control de disfraz puede puntuar—.
DNS: el resolutor que se quedó en casa
Cada nombre que visitas debe traducirse a una dirección antes de que nada se conecte, y esa traducción la hace un resolutor. Si tu navegador o sistema sigue usando el resolutor que asignó tu proveedor de internet —alcanzado directamente, fuera del túnel—, cada consulta se fuga de dos maneras a la vez. Las consultas mismas van a tu ISP con el patrón en claro del tráfico DNS ordinario, revelando qué nombres resuelves aunque las páginas siguientes viajen por la VPN. Y cualquier sitio que pueda observar qué resolutor preguntó en tu nombre aprende dónde estás aproximadamente, porque la gente usa abrumadoramente un resolutor cerca de su ubicación real.
Esa segunda fuga es más sutil de lo que suena, y la prueba estándar para ella es elegante. Una página de prueba hace que tu navegador busque un nombre que nunca ha existido: un subdominio aleatorio largo bajo un dominio que controla quien prueba. Como el nombre es único, ninguna caché lo guarda, así que tu resolutor se ve obligado a preguntar directamente al servidor autoritativo de quien prueba. Ese servidor ve ahora la dirección del resolutor y puede informar de su red y su país a la página. Las variantes que usan información EDNS de subred del cliente pueden estrechar más las cosas, porque algunos resolutores reenvían amablemente parte de tu propio rango de direcciones junto con la consulta. Nada de esto requiere romper el túnel; solo requiere que tus búsquedas tomen un camino distinto al de tus páginas.
Las trampas son en su mayoría de configuración, no de malicia. Las configuraciones de túnel dividido envían deliberadamente parte del tráfico —a menudo incluido el DNS— fuera de la VPN por velocidad o acceso local. Los routers que entregan el resolutor del ISP a cada dispositivo siguen haciéndolo mientras la VPN funciona en uno de ellos. Los navegadores con sus propios ajustes de DNS cifrado pueden saltarse tanto el sistema como el resolutor del proveedor de VPN, arreglando una fuga y creando en silencio un problema de coherencia si el nuevo resolutor está en un país distinto al de la salida. La regla práctica refleja el resto de este artículo: el resolutor debería vivir donde la salida afirma vivir, y debería alcanzarse a través del túnel, y la única forma de saber que ambas cosas son ciertas es probarlo desde fuera.
Contradicciones: el disfraz que discute consigo mismo
Considera cuatro lecturas que una página puede tomar en un segundo. Tu IP te sitúa en Ámsterdam. Tu zona horaria del sistema indica UTC−5 y una ciudad de las Américas. Tu lista de idiomas del navegador está encabezada por un idioma poco hablado en los Países Bajos, sin neerlandés en ninguna parte. Y tu agente de usuario afirma un escritorio Windows mientras tu renderizador gráfico nombra un chip móvil. Ninguno de esos valores por sí solo prueba nada: viajeros, expatriados, máquinas virtuales y configuraciones extrañas producen cada uno de ellos inocentemente cada día. Juntos, discuten. Un control de disfraz es simplemente una máquina para escuchar esa discusión y asignarle un peso.
Algunas contradicciones se repiten tan a menudo que se han convertido en la batería estándar. Zona horaria frente a país de la IP es la más ruidosa, porque el reloj es trivial de leer para una página y la mayoría de los usuarios de VPN nunca piensa en cambiarlo. Idioma frente a país de la IP es más suave —la gente navega legítimamente en un segundo idioma—, pero la ausencia completa del idioma del país de salida sigue contando. Agente de usuario frente a plataforma atrapa la falsificación burda: una cadena que afirma un sistema operativo mientras el soporte táctil, la forma de la pantalla o el renderizador GPU describe otro. ASN de alojamiento frente a una historia residencial es la más silenciosa y a menudo la más decisiva: la dirección de salida pertenece a una red de centro de datos, mientras todo lo demás de la sesión describe a un usuario doméstico ordinario que, en realidad, llegaría desde un proveedor de banda ancha.
Por eso la coherencia, no cualquier valor aislado, es lo que los sitios realmente puntúan. Un sistema antifraude, un filtro de abuso o un catálogo de streaming rara vez necesita probar que existe una VPN; necesita un número de riesgo, y las contradicciones son una evidencia barata y robusta para alimentarlo. Una sesión cuya dirección, reloj, idioma, resolutor y hardware cuentan la misma historia puede seguir siendo una sesión VPN —pero no presenta ninguna discusión interna que puntuar en su contra, así que se procesa como la historia que cuenta—. Al contrario, un usuario sin VPN en absoluto puede puntuar mal por puro desorden: un portátil de trabajo creado con una imagen de otro país, un navegador dejado en un idioma extranjero, un resolutor corporativo en otro continente. El control mide la coherencia. Nunca estuvo midiendo realmente el túnel.
Una lista para parecer coherente
Trabaja en el orden en que un comprobador te lee. Elige primero el país de salida, deliberadamente, y deja que todo lo demás lo siga: la coherencia con un lugar que elegiste supera a una salida aleatoria vestida después. Ajusta la zona horaria del sistema para que coincida con ese país, no solo el reloj del navegador, porque las páginas leen la zona del sistema. Alinea el idioma del navegador: pon el idioma del país de salida primero o al menos presente en la lista, y navega en él cuando puedas. Cada paso elimina una discusión entre capas, y juntos cubren las contradicciones que los sitios comprueban más.
Luego cierra los canales laterales. Mantén WebRTC dentro del túnel o, si nunca usas llamadas en el navegador, desactivado por completo —y vuelve a comprobar qué comportamiento tiene realmente tu navegador en lugar de suponerlo—. Asegúrate de que el DNS se resuelve a través del túnel hacia un resolutor que encaje con la historia de salida, y prefiere una salida residencial cuando la historia que presentas es residencial, porque ningún ajuste de reloj arregla un ASN de centro de datos. Después de cada cambio, vuelve a ejecutar la prueba de huella del navegador y léela como lo haría un sitio: no buscando una bandera roja, sino preguntando si la página entera cuenta una sola historia. Para saber por qué una prueba así puede ejecutarse sin recoger las lecturas que te muestra, consulta cómo una prueba de privacidad no conserva datos.
Termina con la advertencia honesta, porque una lista que promete invisibilidad te está mintiendo. La coherencia elimina contradicciones; no elimina la identidad. Tu huella del navegador —la combinación de hardware, fuentes, gráficos y ajustes que se quedó quieta en la primera sección— puede seguir distinguiendo tu dispositivo entre visitas y entre direcciones, y tu comportamiento, cuentas y hábitos te identifican de forma más fiable que cualquier lectura de red. Un disfraz coherente eleva el coste de la detección casual y detiene la clase fácil y automatizada. Frente a un observador decidido que puede observar el comportamiento con el tiempo, nunca fue una garantía, y cualquier herramienta o proveedor que te venda una debería inspirar menos confianza, no más.