¿Se debe a que Yahoo rastrea correos privados (parece realmente improbable)?
Eso es muy poco probable. Por ejemplo, Yahoo seguramente no indexará un enlace para restablecer la contraseña que le enviarán a su bandeja de entrada privada de Yahoo.
¿Es porque estos correos electrónicos se filtraron de alguna manera en la web y Yahoo los rastreó?
Esa es una explicación plausible. A veces es difícil razonar cómo exactamente un motor de búsqueda ha descubierto contenido, pero tenía que aparecer en algún lugar de la Internet pública o ser accesible para el motor de búsqueda. Otra posibilidad que se me ocurre es que el marco del sitio indexa automáticamente todo el contenido en un mapa del sitio (por ejemplo, en yoursite.example/sitemap.xml
), es algo que Wordpress hace a menudo. Además, ¿está seguro de que el contenido no es visible a través de la lista de directorios o un volcado de base de datos accesible públicamente?
También estaba pensando, ¿es posible que los clientes copiaron / pegaran la URL directamente en la búsqueda de Yahoo, y luego Yahoo la buscaron y la mantuvieron?
No sé si Yahoo indexa automáticamente las URL que busca, esto seguramente suena arriesgado desde una perspectiva de seguridad. Pero me parece poco probable que muchos de sus clientes pongan sus URL en la barra de búsqueda de Yahoo.
Si tiene registros de solicitudes disponibles, puede verificar a qué documentos se accedió el rastreador de Yahoo en el pasado (busque un agente de usuario que contenga " Yahoo! Slurp
").
Contramedidas
Para evitar que los motores de búsqueda indexen contenido sensible, puede agregar una entrada Disallow
a su archivo robots.txt
con un comodín *
, como este:
Disallow: /app/secretcontent.ext?token=*
Pero tenga en cuenta que no todos los motores de búsqueda respetan las directivas Disallow
y que robots.txt
es uno de los primeros lugares que los atacantes buscan para recopilar información.
Más generalmente, es posible que desee dejar que los enlaces a contenido sensible caduquen rápidamente (o incluso convertirlos en enlaces de un solo disparo a los que solo se puede acceder una vez, si corresponde).
Otro enfoque podría ser enviar a los usuarios el enlace a yoursite.example/secretcontent
y el token por separado. El sitio presentaría un formulario donde el usuario debe ingresar el token. Este formulario enviaría el token a través de POST
para que el token nunca sea visible en la URL y, por lo tanto, no se pueda indexar.