Autenticación de dos factores (2FA) con TOTp en panel de administrador

Sergi Rodrígues  
25-03-2019 02:50  
11 minutes read  

Por fin, por fin... teníamos muchas ganas de poder implementar esta funcionalidad en Barllo. Y este mes de Marzo de 2019 por fin lo hemos hecho. En esta breve guía te explicamos en qué consiste y cómo usarlo. Algo que te recomendamos enormemente para aumentar exponencialmente la seguridad de tu portal de inscripciones.

Además, después de leer esta guía y aprender a usar un generador de códigos 2FA TOTp podrás usarlo para acceder a todas las grandes plataformas de internet.

Qué es la autenticación 2FA usando TOTp

2FA viene del inglés Two Factor Authentication (autenticación de dos factores). Probablemente lo has usado para acceder a tu cuenta en la web de tu banco, por ejemplo. Cada día es más habitual, y pronto será de uso obligado. Es sencillo de explicar.

Se trata de que al intentar acceder a nuestra cuenta de usuario, en lugar de pedir solamente el nombre de usuario  y la contraseña, se solicite una segunda prueba que autentifique tu identidad.

No es algo muy nuevo. Hace ya varios años que algunas plataformas te envían un mensaje SMS al teléfono con un código que debes introducir en el formulario de acceso. Eso es un ejemplo de sistema de 2 factores pero está en desuso.

Sin embargo, en el último par de años se ha ido estandarizando otro método en el que también hay que introducir un código (normalmente de 6 dígitos numéricos) y que es generado en paralelo en el servidor y en una aplicación que tu tengas instalada en tu PC o en otro dispositivo (teléfonos móviles habitualmente). Ambos lados generan un código de 6 dígitos que dura 30 segundos, gracias a una clave SECRETA que comparten, y que es única para cada cuenta de usuario. Son los llamados códigos TOTP (de las siglas en inglés de contraseñas de un solo uso basadas en tiempo).

Cómo activar 2FA en Barllo

Muy sencillo. El primer paso es ir a tu sección de usuario, por ejemplo pulsando sobre tu nombre de usuario que aparece en la esquina superior-izquierda del panel:

Pulsas en el botón Activar 2FA que verás en este nuevo apartado:

Al hacerlo la página te va a mostrar la clave secreta (cadena de 16 carácteres en mayúsculas) que deberás almacenarla en tu generador de códigos TOTp (en el siguiente apartado he listado unas cuantas apps que te recomiendo).

Es decir, en la app correspondiente que hayas decidido usar como generador TOTp debes agregar una nueva clave secreta. Habitualmente te ofrecen los dos modos:

  • escribir ese código de 16 carácteres usando el teclado
  • o bien escanear el código QR que aparece debajo (si estás en un móvil)

Una vez que hayas añadido tu clave secreta a tu generador de TOTp, inmediatamente te generará esos códigos de 6 dígitos numéricos (123456) que debes copiar a mano (ahora sí) en la casilla del formulario de Barllo que está a la izquierda del botón Validar.

Si lo has hecho bien, verás un mensaje que te anuncia que ya tienes activada correctamente la autenticación 2FA. Si tu código de 6 dígitos no era el correcto o se venció por tiempo, simplemente espera a que el generador TOTp genere otro y lo validas.

Muy importante: ahora debes anotar ese código de 16 carácteres en un lugar que no puedas perder. Lo vas a necesitar si cambias de teléfono o desinstalas la app por error (!).

Si sucediera eso tampoco no es un asunto tan traumático: tendrás que acudir al responsable de la plataforma que esté por encima de ti que solicite al equipo de INSCRIPCION.ONLINE que reseteen la autenticación 2FA para tu cuenta.

Cómo acceder ahora al panel

Después de introducir correctamente tu usuario y contraseña -como venías haciendo hasta ahora- emergerá un cuadro de diálogo pidiéndote un código TOTp (6 dígitos numéricos):

Sin estrés ninguno, abre la app que usas como generador TOTp y te va a generar un código TOTp para todas las cuentas que tengas ahí configuradas. De hecho, cada 30 segundos refresca esos códigos automáticamente, simplemente fíjate en el de tu cuenta en Barllo y cópialo en el formulario de acceso y pulsa el botón Validar.

recomendaciones de seguridad

  • Usa dos dispositivos diferentes. Por ejemplo: accede a la web desde tu PC o laptop, pero usa una app móvil como generador TOTp en tu teléfono. De este modo, si alguien ya tuviera acceso a tu usuario y contraseña (probablemente por tener algún tipo de virus en tu ordenador), el generador del teléfono tendrá más probabilidades de estar a salvo de la mirada de ese intruso. Y así continuarías preservando el acceso seguro a tu cuenta.
     
  • Usa dos redes de conexión a internet diferentes. Por ejemplo, tu PC puede usar la conexión wifi (o por cable) habitual, pero el teléfono lo conectas a tu red de datos del teléfono. De este modo se consigue anular el ataque conocido como Man On the Middle (MOM), u Hombre en el Medio, que es cuando alguien tiene "pinchada" tu conexión a internet. Es bastante más difícil que alguien tenga pinchadas tus dos conexiones a internet (PC + teléfono)... vaya, si llega a ser tu caso entonces estás bastante jodi**.

De todos modos, como sea, el panel web al que accedes debe usar un certificado de seguridad SSL que garantiza que la información que viaja entre tu navegador web y el servidor sea encriptada de punto a punto. Es decir, que la URL de la página de acceso sea del tipo https y con un candado cerrado como icono:

Eso hace bastante difícil el ataque MOM, pero vaya... a día de hoy parece que todas las precauciones son pocas, y además, al usar una única conexión no se evita el ataque MOM si alguien se infiltró en tu router.

Aplicaciones recomendadas como generador TOTp

Dependiendo del dispositivo que vayas a usar (PC, tablet, teléfono móvil), y dependiendo del sistema operativo del dispositivo (Windows, macOS, Ubuntu/Linux, Android, iOS, etc), tienes más o menos opciones.

 

Mi mejor recomendación es que uses Authy. Tienen apps para toda clase de dispositivos incluídos smartwatches: Android, iOS, navegador Google Chrome, Windows 10, etc... ¿Porqué recomiendo Authy? Porqué a parte de tener apps para muchos otros dispositivos tiene funcionalidades con las que otros solo sueñan (como la siguiente, de Google). Por ejemplo (al menos a día de hoy), puedes usar las diferentes apps de Authy en diferentes dispositivos con tu misma cuenta y 100% sincronizados. Te permite exportar/importar en un momento dado todas tus claves secretas, etc...

 

La otra app que se usa mucho, es Google Authenticator para Android. Tengo que decirte que en muchos otros portales en donde podrás usar autenticación 2FA te hablarán de que "necesitas" la app de Google Authenticator, pero es falso. Cualquier generador 2FA TOTp te sirve. Tan estándar es este asunto que incluso yo me programé mi propio generador para acceder a todas mis cuentas, y funciona perfectamente.

Para los amantes del opensource (software libre) tenemos este excelente complemento instalable en el navegador web Firefox llamado simplemente Authenticator. En la captura que he puesto encima, se ve que una vez instalado el complemento en Firefox, tendremos un nuevo botón a la derecha de la barra de direcciones que al pulsarlo nos abrirá la interfaz, en donde podemos añadir tantas claves secretas de nuestras cuentas como necesitemos y nos mostrará con un solo clic los códigos de 30 segundos de todas ellas.

También está disponible para el navegador Google Chrome.

Tiene opciones muy interesantes como exportar/importar nuestras claves, sincronizarlas con nuestra cuenta Sync de Firefox, bloquear el acceso con un pin corto que nos garantice que nadie que se ponga al teclado de nuestra máquina pueda usarlo sin más. Etc. Está traducido en más de 20 idiomas, incluyendo castellano y catalán.

Funciones de usuario administrador

Por último veamos que si eres usuario con rol de administrador verás que en el Listado de usuarios en el panel de administrador aparece un nueva columna 2FA indicando qué usuarios tienen activada la autenticación con 2FA:

Verás que algunos aparecen en gris y otros en verde:

  • Si está en verde, ahí mismo podrás pulsarlo y el sistema desactivará la autenticación 2FA para ese usuario/a. Solo aparecerá en verde para usuarios con un rol distinto al de administrador.
     
  • Si está en gris, no podrás desactivar el 2FA a ese usuario, porqué es de tu mismo nivel.

    Por ejemplo, en la imagen de arriba yo accedí como administrador con el usuario "pupy", por eso no tenía privilegios suficiente para desactivar el 2FA del usuario "sergi", que también es administrador. Pero sí el del usuario "traductor".

¿Porqué vas a querer/necesitar desactivar el 2FA de otro usuario?

Pues normalmente porqué aquel usuario ya no puede acceder al sistema porqué perdió el control sobre el software o app que usaba como generador de códigos TOTP. Lo habitual y recomendable es que ese generador sea una app de teléfono móvil, y suele darse el caso de que la gente pierde el teléfono o simplemente se cambia de teléfono:

  1. el usuario administrador deberá desactivar el acceso 2FA
  2. y luego ellos lo pueden activar de nuevo desde su perfil de usuario

Comments 0   Visits 2004  

  Comments


Add your comment:

Comment:
Name:
(anti-bots query)

Send

I'M INTERESTED

CONSULT US

We respond before 12h !!

Discuss your need and interest in this platform. Type of events organized, volume of registrations per month / year, etc ...

(anti-bots query)

  Send