30 juin 2026

2FA pour la connexion au routeur MikroTik : approbation sur le téléphone pour WinBox et SSH

Exigez une approbation sur le téléphone pour les connexions WinBox, WebFig et SSH à un routeur MikroTik : le même auth-proxy RADIUS, avec service=login.

Si vous avez suivi notre guide 2FA VPN avec RADIUS, vous disposez déjà de tout le nécessaire pour protéger autre chose : les connexions au routeur lui-même. WinBox, WebFig, SSH et l’API peuvent tous s’authentifier via RADIUS ; et comme le Notakey auth-proxy est un RADIUS transparent, y diriger le service de connexion du routeur impose à chaque connexion d’administration une approbation sur le téléphone, et non plus un simple mot de passe.

Le déroulement est identique au cas du VPN :

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

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

Seuls trois éléments changent côté routeur ; ils sont détaillés ci-dessous.

Prérequis

  • Un auth-proxy opérationnel devant un serveur RADIUS, configuré exactement comme aux étapes 1 à 3 du guide VPN. N’importe quel serveur RADIUS de destination convient : FreeRADIUS, Microsoft NPS, le User Manager de MikroTik ou le plugin RADIUS de Notakey.
  • Le nom d’utilisateur de l’administrateur présent dans le serveur RADIUS de destination et dans le service Notakey, avec un téléphone enrôlé ; le proxy adresse la notification push par nom d’utilisateur.

Étape 1 – Choisissez le message push que verront les administrateurs

Le proxy envoie le message issu de sa propre configuration : les mêmes message_title / message_description que pour les connexions VPN. Vous avez deux options :

  • Réutilisez le proxy VPN tel quel. C’est le plus rapide. Les connexions d’administration afficheront le libellé du VPN sur le téléphone (par exemple «VPN authentication — allow john login?»). Parfaitement viable pour une petite installation.
  • Lancez une seconde instance de proxy avec sa propre application Notakey et un message du type «Router admin login as {0}?». Avec le proxy dockerisé, il s’agit simplement d’un second conteneur à l’écoute sur un autre port (par exemple 18120), avec un NOTAKEY_ACCESS_ID différent ; le proxy intégré à l’appliance est une instance unique, la seconde s’exécute donc dans un conteneur à côté.

Un message dédié vaut bien cinq minutes : un administrateur qui voit «Router admin login» alors qu’il n’est pas en train de se connecter à un routeur comprend immédiatement que quelque chose ne va pas, et refuse.

Étape 2 – Ajoutez le proxy comme serveur RADIUS de connexion

Sur le routeur, ajoutez le proxy comme serveur RADIUS pour le service login :

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

C’est la ligne /radius du guide VPN dans laquelle service=ppp est remplacé par service=login, et le même avertissement s’applique : le délai RADIUS par défaut de MikroTik est de 300 millisecondes. Un humain qui approuve une notification push a besoin d’au moins 30 secondes ; timeout=30s n’est donc pas facultatif. Sans lui, chaque connexion échoue avant même que le téléphone ne vibre.

Étape 3 – Activez RADIUS pour les utilisateurs du routeur

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

C’est tout : RouterOS interroge désormais RADIUS (via le proxy) pour toute connexion dont le nom d’utilisateur n’est pas dans la base locale /user.

Deux points à bien régler ici :

Choisissez default-group en connaissance de cause. Les utilisateurs authentifiés par RADIUS héritent des privilèges de ce groupe (read, write ou full), sauf si votre serveur RADIUS renvoie un attribut fournisseur Mikrotik-Group par utilisateur (vendor ID 14988). Si toutes les personnes qui passent par RADIUS sont administrateurs complets, default-group=full convient ; sinon, réglez-le sur le privilège le plus restreint qui fonctionne et attribuez Mikrotik-Group depuis RADIUS pour les exceptions.

Conservez un compte administrateur local. RouterOS consulte d’abord la base d’utilisateurs locale et n’interroge RADIUS que pour les noms qu’il ne connaît pas. Cet administrateur local est votre solution de repli si le proxy, le serveur RADIUS ou le service Notakey devient injoignable ; sans lui, une panne vous verrouille hors de votre propre routeur. Attribuez-lui un mot de passe unique et robuste, et envisagez de le restreindre à une adresse d’administration avec /user set <name> address=<mgmt-subnet>.

Testez, avec prudence

Ne fermez pas encore votre session de travail. Ouvrez une seconde session WinBox ou SSH et connectez-vous avec un nom d’utilisateur RADIUS :

  • La fenêtre de connexion attend : c’est le proxy qui maintient l’échange ouvert.
  • La notification push arrive sur le téléphone. Approuvez → vous êtes connecté, avec les privilèges du groupe. Refusez ou ignorez → la connexion échoue à l’expiration du délai.
  • Vérifiez que l’administrateur local se connecte toujours de la manière habituelle.

Ne fermez la session d’origine qu’une fois ces deux vérifications réussies.

Si les connexions échouent instantanément alors même que la push arrive, revérifiez timeout=30s dans /radius : la valeur par défaut de 300 ms est l’erreur la plus fréquente. Si aucune push n’arrive, c’est presque à coup sûr que le nom d’utilisateur diffère entre RADIUS et le service Notakey.

Où cela s’inscrit

Un seul proxy, un seul serveur RADIUS, et désormais le VPN et le plan d’administration du routeur exigent une approbation sur le téléphone. Le même schéma s’étend à tout ce qui parle RADIUS.

Guides associés

← Tous les articles

Votre première connexion sans mot de passe, dès cette semaine

30 minutes avec un ingénieur, pas une présentation commerciale. Ensemble, nous verrons comment lancer un pilote fonctionnel dans votre environnement VPN, SSO ou Windows.