Buen día.
Me gustaría hablaros de los problemas de autenticación 2FA en dispositivos Android 4.4.2 KitKat y la solución que acabó con la larga búsqueda en nuestro caso.
Hace algún tiempo, mis colegas y yo decidimos agregar la autenticación de dos factores (autenticación de dos factores o 2FA para abreviar) a nuestro servidor de oficina pequeña basado en Ubuntu Server.
2FA es una capa adicional de seguridad y una buena adición al mecanismo de autenticación existente. Además del par habitual de inicio de sesión + contraseña, se requiere una clave digital del usuario que realiza la autorización, que cambia dinámicamente cada 30 segundos y es generada por el dispositivo propiedad del usuario. Para generar la clave, utilizamos la aplicación de autenticación de Google y un teléfono móvil Android. Después de una configuración única, la aplicación genera códigos que tienen una vida útil de 30 segundos, exactamente los mismos códigos son generados por el servidor. Durante la autenticación, los códigos se comparan.
Dado que los datos no se transmiten desde el servidor y se almacenan solo en el dispositivo, este mecanismo es más seguro que el envío de códigos de confirmación (por ejemplo, como la confirmación de SMS 3D-secure en los sistemas bancarios).
Inesperadamente, había muchas instrucciones paso a paso sobre cómo configurar un servidor en la red. Todo sobre ellos es muy simple e inteligible. Seguí este artículo.
Después de la configuración del servidor, instalamos la aplicación Google Authenticator en el teléfono Lenovo p780, “leímos” el código QR del monitor con el teléfono y recibimos los números codiciados para la autorización. Antes de recargar SSH no olvide guardar claves de respaldo para restaurar el acceso.
Y ahora, ¡todo está listo para usar! Reiniciamos SSH, vamos al servidor, especificamos la contraseña, después de la contraseña se nos pide que presentemos el código de Verificación, lo reescribimos desde el teléfono y. nuevamente se nos pide que especifiquemos la contraseña. Se parece a esto:
ssh usuario@servidor.ru
Contraseña:
Código de verificación:
Contraseña: <. ingrese la contraseña nuevamente>
Código de verificación:
Contraseña:
Código de verificación:
contraseña de usuario@server.ru:
Permiso denegado, por favor, intente de nuevo.
contraseña de usuario@server.ru:
Desconexión recibida de xx.xxx.xx.xx: 2: Demasiadas fallas de autenticación para el usuario
Al principio, pensamos que se había cometido un error en la configuración, pero después de probar varios dispositivos móviles, se hizo evidente que Los códigos generados en Android 4.4.2 KitKat por la aplicación Google Authenticator siempre son incorrectos.
“Soluciones” que se encontraron y sus resultados:
- Si revierte la versión de Android, comienza a funcionar correctamente. (con esta “solución” funcionó durante algún tiempo, pero decidió seguir adelante)
- Dado que el problema se reduce a zonas horarias incorrectas, muchas soluciones apuntan precisamente a corregirlas. La aplicación TimeZone Fixer realmente puede ayudar con este problema; sin embargo, después de usarla, algunas aplicaciones comienzan a mostrar la hora incorrecta y deberá corregirlas manualmente. (la solución tiene sus inconvenientes y riesgos. Toda la información sobre la aplicación está disponible en la web de 4pda)
- Ajuste el tiempo manualmente. Para ser honesto, este método no funcionó para nosotros. Cambia el reloj manualmente y así sincronizar la hora en el teléfono y el servidor. Por desgracia, todos los intentos no dieron resultado, aunque hubo personas que afirmaron que se lo habían ganado. En cualquier caso, la perspectiva de perder la función de reloj en el teléfono no es la más agradable.
- Sincronización del reloj dentro de la configuración de la aplicación de autenticación de Google (en nuestro caso, sin resultados, sin embargo, hubo comentarios de que ayudó a alguien)
La solución final al problema: FreeOTP
Mientras buscaba una solución en la red, ya me encontré con el GitHub de la aplicación Google Authenticator, está el nuestro en el seguimiento de errores y como solución se propuso:
“Puede usar FreeOTP Authenticator (de Red Hat) en lugar de Google Authenticator hasta que alguien lo arregle”.
Durante mucho tiempo me pareció que se recomendaba utilizar un mecanismo de autenticación diferente que debe instalarse en el servidor en lugar de Google, por lo que busqué diligentemente otras soluciones. Quería hacer funcionar el autenticador de Google, pero de hecho recomiendan usar una aplicación de Android diferente, y la parte del servidor permanece sin cambios.
Aplicación de autenticación FreeOTP de RedHat. Después de configurar usando el mismo código QR, todo comenzó a funcionar sin necesidad de corregir nada.
Desafortunadamente, no puedo decirte el motivo del error en la aplicación de autenticación de Google, pero espero que mi mala experiencia ayude a ahorrar tiempo a alguien.
Sin duda, la autenticación de dos factores para comprobar la seguridad de acceso a tus cuentas es algo necesario, pero, como ves, es muy poco práctico introducir constantemente el código de verificación varias veces al día para entrar en el correo. Hace solo un par de meses, Google simplificó este procedimiento, y en este artículo le diremos cómo proteger su cuenta usando un teléfono inteligente como dispositivo de autorización junto con la autenticación de dos factores.
contenido
¿Qué es la autenticación de dos factores?
Primero, comprendamos el concepto de “autenticación de dos factores”. En la mayoría de los casos, usamos un nombre de usuario y una contraseña para acceder a nuestras cuentas. Un procedimiento tan simple tiene un inconveniente importante: estos datos pueden ser robados y utilizados por terceros. La autenticación de dos factores implica acceder a cuentas personales en dos pasos. La primera etapa de autenticación es un nombre de usuario y una contraseña, la segunda etapa es la confirmación del propietario de la cuenta mediante un código digital (SMS, correo electrónico), mensaje de voz o un dispositivo especial. Hoy es el método de autorización más óptimo en términos de seguridad. Google, Apple, Microsoft, las redes sociales VKontakte, Twitter, Facebook y muchos otros servicios populares han ofrecido durante mucho tiempo la autenticación de dos factores a sus usuarios.
Teléfono inteligente en lugar de código
Para usar su teléfono inteligente como un dispositivo de confirmación de autorización, el primer paso es habilitar la autenticación de dos factores para su cuenta de Google. Esto se puede hacer tanto a través de la interfaz web como directamente en la configuración de la cuenta en el dispositivo móvil.
Método 1. A través de la interfaz web
Método 2: en un dispositivo móvil
- Vaya a la configuración de su dispositivo y seleccione su cuenta de Google.
- En la sección “Seguridad e inicio de sesión”, busque la opción “Verificación en dos pasos”.
Ahora que ha habilitado la autenticación de dos factores, se accederá a su cuenta en dos pasos. Como método de inicio de sesión alternativo para el segundo paso de autenticación, Google ofrece varias opciones. En nuestro caso, es necesario que el segundo factor en lugar de un mensaje SMS con un código sea un teléfono inteligente. Para hacer esto, busque la opción Aviso de Google y agregue su teléfono inteligente allí.
Vale la pena señalar que este procedimiento requiere un dispositivo con un bloqueo de pantalla activo. Los usuarios de dispositivos iOS también deberán instalar la aplicación de Google desde la App Store.
¿Cómo funciona esto
Después de haber agregado su teléfono inteligente, puede intentar iniciar sesión en su cuenta de Google a través de un navegador en su PC. Después de ingresar su nombre de usuario y contraseña, verá una ventana con instrucciones sobre qué acciones debe realizar en su teléfono inteligente para iniciar sesión. Al mismo tiempo, el sistema le enviará una solicitud de inicio de sesión a su teléfono. En su teléfono inteligente, solo tiene que confirmar estas acciones y automáticamente será autorizado en Google en su computadora.
Usar un teléfono inteligente como dispositivo de confirmación de autorización es muy conveniente. Pero tenga en cuenta que este método solo funciona con una conexión a Internet activa. De lo contrario, siempre puede elegir una opción de inicio de sesión alternativa, por ejemplo, utilizando un código de confirmación de un mensaje SMS.