Iniciar sesión en Microsoft 365 con Yubikey y Firefox en Linux: soluciona el bucle de autenticación

Si utilizas Firefox en Linux para acceder a tu tenant de Microsoft 365 con una llave de seguridad Yubikey, es posible que desde abril de 2025 hayas quedado atrapado en un bucle de autenticación que muestra el mensaje “We couldn’t verify you or the key you used…”. A continuación encontrarás una explicación completa del fallo y varias soluciones prácticas.

Índice

Panorama del problema

Hasta marzo de 2025 el inicio de sesión mediante FIDO2/WebAuthn funcionaba de forma nativa en Firefox para Linux. Sin embargo, un cambio de lado servidor en el portal login.microsoftonline.com empezó a rechazar las peticiones cuyo agente de usuario indica “Firefox/Linux”. La misma llave de seguridad funciona sin problemas en Chrome, Edge o en Firefox si este finge ser Chrome. Esto demuestra que:

  • La Yubikey y el subsistema WebAuthn de Firefox siguen operativos.
  • El fallo es un bloqueo selectivo basado en el user‑agent, probablemente introducido al desplegar una nueva lógica de detección de navegador en Microsoft 365.

Diagnóstico paso a paso

  1. Actualiza Firefox a la última versión estable (ej.: 128.0) y reinícialo.
  2. Visita about:webauthn y comprueba que tu Yubikey aparece como dispositivo FIDO2 disponible.
  3. Inicia sesión en https://portal.office.com con una cuenta que exija llave de seguridad.
  4. Observa la secuencia:
    • Petición de inserción de llave.
    • Tras pulsar el botón de la Yubikey, la página devuelve “We couldn’t verify you…”.
    • Se muestra de nuevo la pantalla de selección de método sin permitir elegir otra opción.
  5. Repite el proceso en Chrome o Edge: la autenticación finaliza correctamente.
  6. Instala un cambiador de user‑agent en Firefox, emulando “Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36”.
  7. Vuelve a intentar el inicio de sesión: la llave ahora es aceptada.

Entendiendo WebAuthn, FIDO2 y Microsoft 365

En un flujo FIDO2 la Relying Party (Microsoft 365) solicita al navegador una autenticación vinculada a un dominio (login.microsoftonline.com) y un identificador de usuario. El navegador dialoga con el hardware (tu Yubikey) mediante la API WebAuthn. Si alguno de esos tres actores (servidor, navegador o dispositivo) presenta requisitos incompatibles, la cadena se rompe. Microsoft introdujo un control de compatibilidad que, por error o decisión temporal, considera que la combinación “Firefox en Linux” no cumple ciertos criterios.

Por qué falla específicamente Firefox en Linux

Las pistas actuales señalan a un módulo de “browser detection” añadido en abril de 2025. El script compara la cadena navigator.userAgent con una lista blanca, y el par “Firefox/Linux” quedó fuera. Ese bloqueo no ocurre en Windows ni en macOS, lo que sugiere que la nueva lógica pretende cubrir escenarios de escritorio corporativo donde las políticas de Intune diferencian sistemas operativos.

Soluciones provisionales que funcionan hoy

Cambiar de navegador

La vía más sencilla es emplear Chrome o Edge en Linux. Ambos exponen el mismo back‑end libfido2 y no se ven afectados.

Suplantar el user‑agent en Firefox

Si prefieres seguir con Firefox, añade la extensión User‑Agent Switcher and Manager o configura la preferencia general.useragent.override en about:config. Usa, por ejemplo, la cadena de Chrome 119. Puedes limitar la regla al dominio login.microsoftonline.com para no interferir con otros sitios.

Habilitar métodos de autenticación alternativos

Para evitar bloqueos imprevistos, asegúrate de que cada cuenta tenga:

  • Microsoft Authenticator registrado.
  • Números de teléfono para SMS.
  • Códigos de respaldo descargados y almacenados a salvo.

Guía detallada: configurar User‑Agent spoofing en Firefox

  1. Abre about:addons y busca “User‑Agent Switcher and Manager”. Instálalo.
  2. Pulsa en el icono de la extensión y elige “Permanent Spoof List”.
  3. Añade una entrada:
    • Domain / URL: https://login.microsoftonline.com/*
    • User‑Agent: Chrome 119 (Linux x86_64)
    • Platform: Linux
  4. Guarda y reinicia Firefox.
  5. Repite el flujo de autenticación; la página reconocerá la llave.

Cómo abrir un caso de soporte en Microsoft 365

Para acelerar la corrección global, conviene que cada organización afectada envíe un ticket:

  1. Inicia sesión en el Centro de administración de Microsoft 365 con permisos de administrador.
  2. Selecciona Support → New service request.
  3. Describe el problema:
    • “FIDO2 login fails for Firefox on Linux. Works when UA spoofed as Chrome.”
    • Incluye capturas de pantalla del mensaje de error y del panel about:webauthn.
    • Adjunta la fecha y la versión exacta de Firefox, Yubikey Manager y sistema operativo.
  4. Pide que se genere un Design Change Request (DCR) al equipo de identidad.

Buenas prácticas de continuidad y seguridad

  • Cuentas break‑glass: mantén al menos dos cuentas global admin exentas de MFA para emergencias, protegidas por contraseñas de alta entropía y acceso restringido.
  • Conditional Access: crea políticas que permitan métodos alternativos cuando FIDO2 no esté disponible.
  • Rotación periódica de claves: aunque las Yubikey sean duraderas, revisa su registro cada 12 meses y elimina credenciales inactivas para reducir superficie de ataque.
  • Documentación interna: publica el procedimiento de user‑agent spoofing en el wiki corporativo para que el Service Desk pueda ayudar a los usuarios.

Cómo monitorizar la corrección oficial

Sigue estos canales para enterarte de la solución definitiva:

  • Microsoft 365 Admin Center → Health → Service Health: busca incidentes con el código MO* etiquetados como “WebAuthn authentication issues”.
  • Message Center: las comunicaciones del equipo de identidad anunciarán cuándo se despliegue el fix a todos los tenants.
  • Public roadmap: a veces la corrección se añade como elemento al Roadmap de Microsoft 365 bajo la etiqueta “Identity & Security”.

Preguntas frecuentes

¿Cambiar el user‑agent puede romper otros sitios?
Si la regla se limita a login.microsoftonline.com, el impacto es mínimo. Aun así, revisa aplicaciones que dependan de la cabecera UA-CH.

¿Mi Yubikey está defectuosa?
No. Puedes confirmarlo autenticándote en webauthn.io o GitHub con Firefox; si funciona, la llave está bien.

¿Perderé el soporte de Microsoft por usar spoofing?
No existe una cláusula que prohíba cambiar el user‑agent; es una práctica común de desarrollo web. De todos modos, indícalo en el ticket para que tengan visibilidad.

¿Hay una fecha estimada de solución?
A 23 de julio de 2025 Microsoft no ha anunciado ETA. Los incidentes similares suelen resolverse en 4 a 6 semanas una vez confirmados.

Conclusión

El bloqueo de llaves de seguridad en Microsoft 365 al usar Firefox en Linux no es un fallo de tu hardware ni de tu navegador, sino un filtro de compatibilidad introducido por Microsoft. Mientras llega la corrección oficial, puedes optar por Chrome/Edge o suplantar el user‑agent en Firefox; ambas alternativas restauran el flujo FIDO2 sin degradar la seguridad. No olvides abrir un caso de soporte y mantener métodos de autenticación de respaldo para minimizar el riesgo de inactividad.

NavegadorSistemaVersión probadaEstado con Yubikey
FirefoxLinux128.0Falla
Firefox (UA Chrome)Linux128.0Funciona
ChromeLinux124.0Funciona
EdgeLinux124.0Funciona
Índice