Integraciones · MikroTik

2FA para MikroTik: aprobación en el teléfono para la VPN y el acceso al router

Para equipos que usan un router MikroTik como pasarela VPN o en el perímetro de la red. Cada conexión VPN y cada acceso de administración se aprueban con un toque en Notakey Authenticator, y basta con el router que ya tiene.

Cómo se conecta

Dos vías de acceso, una sola app en el teléfono

Para la VPN, el trabajo lo hace un script de RouterOS. El usuario se conecta con su nombre de usuario y su contraseña como siempre, pero el firewall bloquea su tráfico hasta que el script up del perfil PPP pide una aprobación al servidor de Notakey y el usuario toca Aprobar en el teléfono. Si la deniega o no responde, el script corta la sesión. En esta configuración no hay servidor RADIUS ni auth-proxy; los scripts proceden del repositorio notakey/mikrotik-2fa-vpn y funcionan en RouterOS 6.46.4 o posterior, incluida la versión 7.x.

Para el acceso al propio router (WinBox, WebFig, SSH y la API), el router delega su servicio de inicio de sesión en RADIUS, y el auth-proxy de Notakey se sitúa de forma transparente en esa ruta RADIUS. El proxy reenvía la comprobación de la contraseña a su servidor RADIUS (FreeRADIUS, Microsoft NPS, el User Manager del propio MikroTik o el plugin RADIUS de Notakey), envía una solicitud de aprobación al teléfono del administrador y solo responde Access-Accept cuando ambas cosas se cumplen.

En ambos casos, los usuarios de la VPN, sus contraseñas y la configuración del router de la que depende siguen igual. Lo único que cambia es que una contraseña ya no basta por sí sola para entrar.

Qué debe saber antes de empezar

  • La configuración de VPN por scripts cubre las VPN basadas en PPP (L2TP/IPsec, PPTP, SSTP). El tiempo de espera de la aprobación en el script es de 60 segundos.
  • El tiempo de espera RADIUS por defecto de MikroTik es de 300 milisegundos. Para el acceso al router por RADIUS, configure timeout=30s o todos los inicios de sesión fallarán antes de que vibre el teléfono.
  • Conserve una cuenta de administrador local. RouterOS consulta primero la base de datos local de usuarios y solo pregunta a RADIUS por los nombres de usuario que no conoce, así que esa cuenta es su vía de acceso si el proxy, RADIUS o el servicio de Notakey no están disponibles.
  • Los administradores autenticados por RADIUS reciben los privilegios del default-group que elija, salvo que su servidor RADIUS devuelva un atributo Mikrotik-Group por usuario. Asigne el menor privilegio que funcione.
  • Si el teléfono que aprueba la solicitud es también el cliente VPN, añada una regla de aceptación para que los clientes pendientes puedan llegar al servidor de Notakey mientras todo lo demás sigue bloqueado.
  • El analizador JSON del script no admite paréntesis ni, posiblemente, otros signos de puntuación especiales en el mensaje de aprobación. Redacte el mensaje con texto sencillo.
  • Los scripts son la vía más rápida para un solo router. Si tiene muchos routers, VPN de otros fabricantes o necesita una política centralizada, opte por la configuración basada en RADIUS.

De cero a la primera aprobación

  1. 01

    Cree la aplicación en Notakey

    En el panel de Notakey, cree una aplicación para la VPN o el router, copie su Access ID y registre los teléfonos de los usuarios con Notakey Authenticator. El nombre de usuario en Notakey debe coincidir exactamente con el del router, porque la solicitud se dirige por nombre de usuario.

  2. 02

    Instale los scripts o añada el proxy como servidor RADIUS

    Para la VPN, pegue las bibliotecas JParseFunctions y NotakeyFunctions en System → Scripts, asigne el script up a un perfil PPP que coloque las sesiones nuevas en la lista de direcciones vpn_pending y añada la regla de firewall que descarta el tráfico de esa lista. Para el acceso al router, añada el auth-proxy en /radius con service=login y timeout=30s, y active use-radius en /user aaa.

  3. 03

    Pruebe con un usuario y después despliegue

    Asigne el perfil 2FA a un único secret PPP, o abra una segunda sesión de WinBox con un nombre de usuario de RADIUS, y apruebe la notificación push. Cuando funcione, configure el perfil 2FA como perfil por defecto del servidor PPP para cubrir a todos los usuarios sin editar cada secret.

Preguntas frecuentes

¿Hace falta un servidor RADIUS para el 2FA de la VPN de MikroTik?
No. En las VPN basadas en PPP (L2TP/IPsec, PPTP, SSTP), un script de RouterOS solicita la aprobación al servidor de Notakey y el firewall retiene la sesión hasta que el usuario toca Aprobar. RADIUS solo hace falta para el acceso al router (WinBox, WebFig, SSH) o cuando varios routers u otros fabricantes deben compartir una misma política.
¿Qué versiones de RouterOS son compatibles?
Los scripts del repositorio notakey/mikrotik-2fa-vpn funcionan en RouterOS 6.46.4 o posterior, incluida la versión 7.x.
¿Por qué fallan los inicios de sesión por RADIUS antes de que vibre el teléfono?
El tiempo de espera RADIUS por defecto de MikroTik es de 300 milisegundos. Configure timeout=30s en la entrada /radius para que el router espere a la aprobación en lugar de desistir de inmediato.

Guías y documentación

Productos relacionados

← Todas las integraciones

Su primer inicio de sesión sin contraseña, esta misma semana

30 minutos con un ingeniero, no una presentación comercial. Juntos planificaremos cómo poner en marcha un piloto funcional en su entorno de VPN, SSO o Windows.