Manual de usuario del módulo TOTP 2FA LOGIN (autenticación de dos-factores) para Dolibarr

Sergi Rodríguez  
02-02-2022 19:50  
11 minutos de lectura  

Este módulo ha sido desarrollado por IMASDEWEB, con compatibilidad desde las versiones 8 en adelante de Dolibarr. Permite que los usuarios de tu Dolibarr puedan acceder usando una autenticación de dos factores (Two-Factor-Authentication o 2FA) usando códigos temporales (30 segundos) de 6 dígitos (Time-based On-Time-Password o TOTP) que los usuarios generan con multitud de aplicaciones de celular o de navegador web (Authy, Aegis, Google Authenticator, etc.) porqué de hecho ya es un estándard. Es el complemento definitivo para hacer mucho más seguras tus instalaciones de Dolibarr.

Desde la versión 1.4 se puede filtrar a los visitantes por su país de origen (con una lista blanca de países).


A la venta en Dolistore por solamente 10€

Nota: english version of this user guide.

 

Para qué sirve este módulo

Una vez instalado y activado el módulo aparecerá una tercera caja de texto en la página de acceso o login:

Consideraciones para rellenar esta tercera caja:

  • Es OPCIONAL responderla: solo será validada si el usuario con el que se trata de acceder ha activado el uso de TOTP 2FA. Para los demás usuarios simplemente se seguirá validando solamente el usuario y la contraseña.
     
  • Ha de ponerse un código de 6 dígitos TOTP de los que se generan desde apps como Aegis (Android) u otras aplicaciones multiplataforma como Authy o Google Authenticator.
     
  • Este sistema de autenticación depende de que tanto el servidor donde está instalado Dolibarr como el dispositivo donde el usuario tiene instalado la app generadora de códigos tengan su reloj interno sincronizado con la hora en internet. Normalmente esto no es exacto, y el código que genera la app va adelantado o atrasado con respecto al del servidor, así que no hay que desperarse si no entramos a la primera. En estos casos prueba a usar el código de acceso al inicio del período de 30 segundos que te da la app, o bien al final. Normalmente te funcionará en uno de los dos extremos. Si no es así, deberás revisar cuál no tiene bien la hora: tu app o tu servidor Dolibarr (normalmente el problema es de la app o de la hora del teléfono donde tengas la app).

Activar la clave TOTP de un usuario

Iremos a nuestra ficha de usuario (nadie puede activarlo por nosotros) y ahí veremos un botón ACTIVAR:

Al pulsarlo el navegador solicitará al servidor una clave TOTP de 16 dígitos y su correspondiente código QR. Debes abrir tu app generadora de códigos y buscar la opción "agregar nueva cuenta". Si es una app de móvil normalmente te dará la opción de "escanear un código QR", pero si no es así, siempre puedes copiar a mano la clave de 16 dígitos:

Para que esta clave quedé VINCULADA A TU USUARIO, debes usar esa app generadora de códigos para tomar tu primer código TOTP y validarlo (ver arriba). Puedes intentarlo tantas veces como sea necesario. Si no pudieras lograr validar ningún código, entonces revisa la configuración horaria de tu dispositivo (o tal vez de tu servidor también, aunque es extraño que un servidor esté "fuera de hora").

Una vez que consigas validar un código, la clave queda VINCULADA:

A partir de este momento, si tú o alguien trata de acceder con tu usuario y contraseña sin poner un código TOTP correcto, no podrá ya acceder a Dolibarr:

Puedes definir tu propia clave secreta

Especialmente útil para los que administramos varias instancias de Dolibarr es la de poder usar la misma clave secreta en todas esas instancias para el 2FA. Para ello, el módulo lo facilita de la siguiente manera (a partir de la versión 1.2): cuando tratamos de activar el 2FA nos genera un token aleatorio y nos muestra su código QR, como hemos visto arriba. En  ese momento debemos pulsar el botón con el lápiz:

Y así podremos editar a mano la clave secreta:

Al pulsar el botón con el código QR (a su derecha) o al hacer INTRO, el proceso de validación y activación continua como en el caso de arriba:

 

Consideraciones de seguridad

Ten en cuenta lo siguiente:

  • Cada usuario debe activar su clave TOTP de 16 dígitos. Nadie puede hacerlo por él, ni tan siquiera un usuario administrador.
  • Los usuarios administradores pueden ver qué usuarios han activado su clave TOTP, pero no pueden conocer la clave en sí. Con esto evitamos riesgos de suplantación de identidad a la hora de acceder a Dolibarr.
  • Sin embargo, un usuario administrador sí puede DESACTIVAR la clave TOTP de otros usuarios. Esto se hace así como mecanismo sencillo de desactivación de claves TOTP en caso de que un usuario pierda su clave y necesite acceder para generar otra. Obviamente todos los usuarios pueden cambiar su clave siempre que quieran, mientras tengan acceso al sistema.

Así se ve indica en el Listado de usuarios quienes tiene activada una clave:

Aunque si accede a la ficha de un usuario algún otro usuario (aunque sea administrador) verá la clave semi-ocultada:

Desactivación de la clave TOTP de tu usuario

En cambio, cuando uno va a visitar su propia ficha de usuario, puede ver perfectamente su clave e incluso escanear el código con otras apps:

Para desactivar la clave TOTP activa hay que Modificar mi ficha de usuario:

Nota: de hecho, si un usuario administrador accede a Modificar la ficha de otro usuario también verá el mismo botón DESACTIVAR.
 

FILTRAR A LOS VISITANTES SEGÚN SU PAÍS DE ORIGEN

Esta mejorea fue introducida con la versión 1.4 y pretende limitar el acceso a tu Dolibarr desde cualquier IP que no esté en el país que tú definas. Y para ello, en la sección de configuración puedes definir una LISTA BLANCA DE PAÍSES.

Obviamente, al visitante que se detecte que viene de otro país no se le va a mencionar el país desde el que tiene que acceder. Pues la idea es ponérselo difícil a los intrusos no deseados y los bots. Es decir, ya solamente esta medida es una barrera interesante para una amplia mayoría de bots de los que andan explorando a lo loco donde meterse. Obviamente, si alguien te dirige un ataque, sabrá como conocer cuál es tu país y usará una VPN para tratar de entrar.

Si dejas en blanco esa lista de países entonces el módulo simplemente no se fijará en la IP de los que tratan de acceder.

Nota técnica: es necesario tener instalado y activado en tu servidor el módulo de PHP mod_geoip (por ejemplo el paquete php7.4-geoip en el caso de PHP 7.4). Si no lo tuvieras instalado, entonces el módulo te lo dirá en esta pestaña de arriba "Configuración IP".

 

Recordar un dispositivo como seguro

Desde la versión 1.5, el módulo te permite definir un período de tiempo (1 día/semana/mes) durante el cuál recordará tu navegador web y no te pedirá de nuevo el código TOTP de 6 dígitos. También puedes definir que el código TOTP se pida SIEMPRE. De hecho es la opción que viene por defecto.

Aunque es una nueva característica que mejora por mucho la usabilidad de los códigos TOTP, especialmente cuando administras varias instancias de Dolibarr a lo largo de la semana, debes recordar que a MAYOR COMODIDAD tenemos siempre MENOR SEGURIDAD... desafortunadamente son inversamente proporcionales "siempre". Entonces, te recomiendo que evalúes el entorno de seguridad desde el que acceden tus usuarios cuando decidas flexibilizar el uso de los TOTP.

Es más: como este sistema funciona GRACIAS A LAS COOKIES, dejará de funcionar si visitas tu Dolibarr desde una pestaña de incógnito o si eliminas las cookies en tu navegador después de tu visita. Lo cuál te lo recomiendo si no estás en tu máquina, por ejemplo. El módulo puede recordar para un usuario tantos dispositivos como quiera usar. Así que por acceder momentáneamente desde una pestaña de incógnito en un nuevo dispositivo, el módulo no olvidará ninguno de tus otros dispositivos ya usados.

Claro, siempre limitado al tiempo de expiración que definas en la configuración del módulo:

Entonces, ¿cómo debo acceder a Dolibarr ahora?

Si has definido un período de tiempo para recordar dispositivos, entonces mi recomendación es que hagas "login" del siguiente modo:

  1. escribe tu usuario y contraseña en el formulario de acceso
  2. pulsa INTRO para enviar el formulario
  3. si los datos escritos son correctos y no ha expirado tu tiempo de recuerdo entonces ya estás dentro!
     
  4. si tu período de recuerdo ya expiró, el formulario de acceso se recargará ya RELLENADO con las credenciales que has puesto y con el cursor ya en la caja del código TOTP de 6 dígitos con un mensaje diciéndote que escribas el código para poder acceder
  5. introduce el código de 6 dígitos y puedes pulsar INTRO de nuevo para enviar el formulario
  6. si todos los datos son correctos estarás dentro y el sistema te mostrará el panel de inicio y un mensaje informándote de que tu navegador será recordado por X tiempo

Resumiendo: solamente debes introducir el usuario y la contraseña y pulsar INTRO. Y de vez en cuando (cuando expire el período de recuerdo) se te pedirá el código TOTP de 6 dígitos. Cómodo, ¿no?

 

Etiquetas : 2fa | dolibarr

Comentarios 0   Visitas 192  

  Comentarios


Añada su comentario:

(pregunta anti-robots)

Enviar

DÍGANOS QUÉ NECESITA

¡¡ Le respondemos antes de 24h !!
Puede dejarnos su teléfono.

Puede rellenar el formulario (pulsar botón derecha) o bien aquí tiene nuestros datos de contacto.

(pregunta anti-robots)
Revisar consentimientos a cookies