Cómo habilitar la autenticación de dos factores (2FA) en Windows con MultiOTP

Implementación de la autenticación de dos factores (2FA) con multiOTP en Windows

Configurar la 2FA en Windows, especialmente en un entorno de dominio, puede ser un poco complicado. A veces, Windows solicita una contraseña, pero la verdadera mejora de seguridad incluye algo como una contraseña de un solo uso (OTP).Esta guía explica cómo implementar multiOTP, un kit de herramientas gratuito y de código abierto que facilita enormemente la incorporación de la 2FA a dominios de Windows (e incluso a sesiones RDP).Aunque parezca un poco extraño, también funciona sin conexión, así que no se necesita conexión a internet una vez configurado. Esto es una ventaja si te encuentras en un entorno desconectado o de alta seguridad. No se trata solo de aumentar la seguridad de tu inicio de sesión, sino también de ofrecerte opciones, como añadir OTP para el acceso RDP o los inicios de sesión locales. Obtendrás códigos QR, aplicaciones como Google Authenticator y una forma de asegurarte de que los usuarios sean quienes dicen ser antes de acceder.¿El truco? Tendrás que realizar una pequeña configuración en Active Directory, ajustar algunos ajustes del servidor e instalar CredentialProvider en cada estación de trabajo. No es una ciencia exacta, pero definitivamente no es una solución de un solo clic. Analicemos el proceso paso a paso.

Cómo corregir o mejorar la autenticación de dos factores con multiOTP en Windows

Instalación de multiOTP y configuración de la sincronización de usuarios

En primer lugar, necesitarás multiOTP instalado en un servidor Windows; idealmente, Windows Server 2019 o posterior. Puedes ejecutarlo en un servidor dedicado o dentro de una máquina virtual (que podría ser más limpio).También es compatible con Docker, si te interesa, pero para simplificar, es suficiente con la autenticación nativa.Por qué es útil: Necesitas una fuente de autenticación. MultiOTP se sincroniza directamente con Active Directory, lo que significa que los usuarios no tienen que aprender un nuevo inicio de sesión ni dependen de la nube. Esto también significa que puedes generar códigos QR para cada usuario y administrar quién está protegido con OTP.Cuándo se aplica: Durante la configuración inicial o cuando cambia tu base de usuarios (por ejemplo, nuevas personas en la VPN).Es probable que tengas que usar la línea de comandos, pero es sencillo una vez que entiendes el flujo.Los bits prácticos: – Descargue el último archivo multiOTP de [su sitio oficial](https://download.multiotp.net/) – Extraiga la carpeta `windows` a una unidad local, por ejemplo, `C:\MultiOTP` – Abra un símbolo del sistema de administrador en ese directorio (`CD C:\MultiOTP\windows`) – Configure los ajustes LDAP para sincronizar con Active Directory usando comandos como: bash multiotp -config default-request-prefix-pin=0 multiotp -config ldap-server-type=1 # Servidor LDAP tipo 1 para AD multiotp -config ldap-cn-identifier=»sAMAccountName» multiotp -config ldap-group-cn-identifier=»sAMAccountName» multiotp -config ldap-group-attribute=»memberOf» multiotp -config ldap-ssl=0 # Deshabilite SSL si aún no está configurado multiotp -config ldap-port=389 – Especifique su Controlador de dominio (reemplace con su IP o DNS real): bash multiotp -config ldap-domain-controllers=your_dc_server multiotp -config ldap-base-dn=»DC=woshub, DC=com» – Para vincular (autenticar a LDAP), ejecute: bash multiotp -config ldap-bind-dn=»CN=multiotp_srv, OU=ServiceAccounts, OU=Munich, DC=woshub, DC=com» multiotp -config ldap-server-password=»your_password» – Indique a multiOTP qué grupo de usuarios debe aplicar OTP: bash multiotp -config ldap-in-group=»2FAVPNUsers» – Establezca un secreto compartido para el cifrado del servidor: bash multiotp -config server-secret=YourSecretKeyHere – Sincronizar usuarios: bash multiotp -debug -display-log -ldap-users-sync > Consejo: Si en una configuración no encuentra a todos los usuarios a la primera, vuelva a ejecutar la sincronización más tarde. A veces, la sincronización LDAP solo tarda un momento.- Para automatizar la sincronización en el futuro, configure una tarea programada con este comando: bash multiotp -debug -display-log -ldap-users-sync.- Además, abra la interfaz web para una administración más sencilla: bash webservice_install.cmd y luego visite [http://127.0.0.1:8112/](http://127.0.0.1:8112/) con las credenciales predeterminadas (admin / 1234).Le dijiste que cambiara eso, ¿verdad? —

Cómo configurar códigos QR y aplicaciones de usuario

Una vez que multiOTP esté funcionando, acceda a su panel web. En la Lista de usuarios, seleccione a alguien y pulse «Imprimir» o genere un código QR. Escanéelo con Google Authenticator o Microsoft Authenticator en el teléfono del usuario y ¡listo! Ahora tendrá un dispositivo OTP vinculado.Por qué es útil: Se acabaron las contraseñas robadas o adivinadas; un código nuevo cada 30 segundos hace que la fuerza bruta sea casi imposible.Cuándo se aplica: Al incorporar un nuevo usuario o actualizar los existentes, no es necesario restablecer las contraseñas, solo añadir un OTP.Resultado esperado: Los usuarios pueden generar OTP y contar con una segunda capa de seguridad en sus procesos de inicio de sesión.—

Instalación de multiOTP CredentialProvider en Windows para inicios de sesión locales o RDP

A continuación: habilite la autenticación de dos factores (A2F) en equipos Windows. Descargue CredentialProvider de [GitHub](https://github.com/multiOTP/multiOTPCredentialProvider/releases).La versión más reciente es la 5.9.2.1.Por qué es útil: Sin esta función, los usuarios solo necesitan introducir un nombre de usuario y una contraseña; añadir un OTP dificulta mucho los ataques de fuerza bruta.Cuándo se aplica: Para inicios de sesión RDP o acceso a la consola local, especialmente en servidores sensibles.Pasos prácticos: – Ejecute el instalador como administrador.- Durante la instalación, especifique la IP de su servidor multiOTP (que ya ha configurado).- En Secreto compartido con el servidor multiOTP, introduzca su secreto de servidor.- Elija si se requiere OTP solo para RDP o también para inicios de sesión locales.- Abra el puerto «TCP 8112» del firewall de Windows, tanto en el servidor como en el cliente: powershell New-NetFirewallRule -DisplayName «AllowMultiOTP» -Direction Inbound -Protocol TCP -LocalPort 8112 -Action Allow.- Tras la instalación, reinicie el servidor. Al intentar usar RDP, verá una pantalla que le solicitará su OTP.¡Funciona! > Nota: Si deshabilita la autenticación de nivel de red (NLA) en un servidor, las solicitudes de inicio de sesión son diferentes, pero el paso de OTP sigue vigente.—

Resumen

  • Descargar y configurar multiOTP en Windows Server
  • Configurar la sincronización LDAP con AD, crear grupos de usuarios y generar códigos QR
  • Instalar CredentialProvider en servidores y equipos de escritorio de Windows
  • Abra los puertos de firewall necesarios
  • Pruebe el inicio de sesión OTP, ajuste la configuración y luego impleméntelo en otras máquinas

Resumen

Conseguir que la 2FA funcione con multiOTP en un entorno Windows es sin duda factible, aunque requiere una configuración inicial y pruebas. Una vez configurado, mejora significativamente la seguridad, especialmente para RDP e inicios de sesión sensibles. Solo tenga en cuenta que sincronizar la hora en todo el dominio es fundamental, ya que las OTP dependen en gran medida de la precisión de los relojes. Este proceso puede parecer un poco engorroso (instalar varias piezas, configurar LDAP, obtener códigos QR), pero vale la pena el esfuerzo por la tranquilidad. En una configuración, falló la primera vez, pero tras reiniciar y corregir algunas reglas del firewall, todo funcionó a la perfección. A veces Windows lo complica más de lo necesario, pero con paciencia, funciona. Esperemos que esto le ahorre algunas horas al intentar que la 2FA funcione sin depender de soluciones en la nube de terceros. Ojalá que esto ayude.