30 de junio de 2026

2FA en el acceso a un router MikroTik: aprobación en el teléfono para WinBox y SSH

Exija aprobación en el teléfono para WinBox, WebFig y SSH en un router MikroTik: la misma configuración RADIUS del auth-proxy, con service=login.

Si siguió nuestra guía de 2FA para VPN con RADIUS, ya tiene todo lo necesario para proteger algo más: el acceso al propio router. WinBox, WebFig, SSH y la API pueden autenticarse por RADIUS y, como el Notakey auth-proxy es RADIUS transparente, apuntar el servicio de login del router hacia él hace que cada acceso de administración necesite una aprobación en el teléfono, no solo una contraseña.

El flujo es idéntico al del caso de la VPN:

Router login ──RADIUS──▶ Notakey auth-proxy ──RADIUS──▶ your RADIUS server

                                 └──▶ push notification ──▶ admin's phone

En el lado del router solo cambian tres cosas, que se detallan a continuación.

Requisitos

  • Un auth-proxy en funcionamiento delante de un servidor RADIUS, configurado exactamente como en los pasos 1 a 3 de la guía de VPN. Sirve cualquier RADIUS de destino: FreeRADIUS, Microsoft NPS, el propio User Manager de MikroTik o el plugin RADIUS de Notakey.
  • El nombre de usuario del administrador presente en el servidor RADIUS de destino y en el servicio de Notakey, con un teléfono registrado: el proxy dirige la push por nombre de usuario.

Paso 1: decida qué mensaje push ven los administradores

El proxy envía el mensaje que tiene en su propia configuración: los mismos message_title / message_description que se usan para los accesos por VPN. Tiene dos opciones:

  • Reutilizar el proxy de la VPN tal cual. Es lo más rápido. Los accesos de administración mostrarán en el teléfono el texto de la VPN (por ejemplo, «VPN authentication — allow john login?»). Perfectamente válido para una instalación pequeña.
  • Ejecutar una segunda instancia del proxy con su propia aplicación de Notakey y un mensaje del tipo «Router admin login as {0}?». Con el proxy en contenedor esto no es más que un segundo contenedor a la escucha en otro puerto (por ejemplo 18120), con un NOTAKEY_ACCESS_ID distinto; el proxy integrado del appliance es una instancia única, así que el segundo se ejecuta como contenedor junto a él.

Un mensaje dedicado bien vale los cinco minutos: un administrador que ve «Router admin login» mientras no está accediendo a ningún router sabe al instante que algo va mal, y lo rechaza.

Paso 2: añada el proxy como servidor RADIUS de login

En el router, añada el proxy como servidor RADIUS para el servicio login:

/radius
add service=login address=<proxy-address> secret=secret_to_radius_server timeout=30s

Esta es la línea /radius de la guía de VPN con service=ppp sustituido por service=login, y se aplica la misma advertencia: el tiempo de espera RADIUS por defecto de MikroTik es de 300 milisegundos. Una persona que aprueba una push necesita al menos 30 segundos, así que timeout=30s no es opcional. Sin él, cada acceso falla antes incluso de que vibre el teléfono.

Paso 3: active RADIUS para los usuarios del router

/user aaa
set use-radius=yes default-group=full

Eso es todo: RouterOS consulta ahora a RADIUS (a través del proxy) para cualquier acceso cuyo nombre de usuario no figure en la base de datos local /user.

Aquí hay dos cosas que conviene acertar:

Elija default-group con criterio. Los usuarios autenticados por RADIUS reciben los privilegios de este grupo —read, write o full— salvo que su servidor RADIUS devuelva por usuario un atributo de fabricante Mikrotik-Group (ID de fabricante 14988). Si todos los que entran por RADIUS son administradores plenos, default-group=full está bien; si no, asígnele el menor privilegio que funcione y devuelva Mikrotik-Group desde RADIUS para las excepciones.

Conserve una cuenta de administrador local. RouterOS consulta primero la base de datos local de usuarios y solo pregunta a RADIUS por los nombres que no conoce. Esa cuenta de administrador local es su respaldo si alguna vez el proxy, el servidor RADIUS o el servicio de Notakey quedan inaccesibles; sin ella, una caída lo deja fuera de su propio router. Asígnele una contraseña única y robusta, y valore restringirla a una dirección de gestión con /user set <name> address=<mgmt-subnet>.

Pruébelo, con cuidado

No cierre todavía su sesión actual. Abra una segunda sesión de WinBox o SSH e inicie sesión con un nombre de usuario de RADIUS:

  • El diálogo de inicio de sesión se queda a la espera: es el proxy manteniendo abierto el intercambio.
  • La push llega al teléfono. Apruebe → está dentro, con los privilegios del grupo. Rechace o ignore → el inicio de sesión falla al agotarse el tiempo de espera.
  • Confirme que el administrador local sigue entrando de la forma habitual.

Solo después de que ambas comprobaciones pasen, cierre la sesión original.

Si los accesos fallan al instante aunque la push llegue, vuelva a comprobar timeout=30s en /radius: el valor por defecto de 300 ms es el error más frecuente. Si no llega ninguna push, casi con seguridad el nombre de usuario difiere entre RADIUS y el servicio de Notakey.

Dónde encaja esto

Un solo proxy, un solo servidor RADIUS, y ahora tanto la VPN como el plano de administración del router exigen una aprobación en el teléfono. El mismo patrón se extiende a cualquier otra cosa que hable RADIUS.

Guías relacionadas

← Todos los artículos

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.