Intégrations · MikroTik
MikroTik 2FA : approbation sur le téléphone pour le VPN et la connexion au routeur
Pour les équipes dont le routeur MikroTik sert de passerelle VPN ou de périphérie réseau. Chaque connexion VPN et chaque connexion d’administration s’approuvent d’un geste dans Notakey Authenticator, et le routeur que vous possédez déjà suffit.
Comment s’établit la connexion
Deux points d’entrée, une seule application sur le téléphone
Côté VPN, c’est un script RouterOS qui fait le travail. L’utilisateur se connecte comme d’habitude avec son nom d’utilisateur et son mot de passe, mais le pare-feu bloque son trafic jusqu’à ce que le script up du profil PPP ait demandé une approbation au serveur Notakey et que l’utilisateur ait touché Approve sur son téléphone. S’il refuse ou ne répond pas, le script coupe la session. Cette configuration se passe de serveur RADIUS comme d’auth-proxy ; les scripts proviennent du dépôt notakey/mikrotik-2fa-vpn et fonctionnent sur RouterOS 6.46.4 ou plus récent, 7.x compris.
Pour les connexions au routeur lui-même (WinBox, WebFig, SSH et l’API), le routeur confie son service de connexion à RADIUS, et l’auth-proxy Notakey s’insère de façon transparente sur ce chemin RADIUS. Le proxy transmet la vérification du mot de passe à votre serveur RADIUS (FreeRADIUS, Microsoft NPS, le User Manager natif de MikroTik ou le plugin RADIUS de Notakey), envoie une demande d’approbation sur le téléphone de l’administrateur et ne répond Access-Accept que si les deux réussissent.
Dans les deux cas, les utilisateurs VPN, leurs mots de passe et la configuration du routeur sur laquelle vous vous appuyez restent en l’état. Une seule chose change : un mot de passe seul ne suffit plus pour se connecter.
À savoir avant de commencer
- La configuration VPN par script couvre les VPN fondés sur PPP (L2TP/IPsec, PPTP, SSTP). Le délai d’approbation du script est de 60 secondes.
- Le délai d’expiration RADIUS par défaut de MikroTik est de 300 millisecondes. Pour la connexion au routeur via RADIUS, réglez timeout=30s, sinon chaque connexion échoue avant même que le téléphone ne vibre.
- Conservez un compte administrateur local. RouterOS consulte d’abord sa base d’utilisateurs locale et n’interroge RADIUS que pour les noms inconnus : ce compte est votre issue de secours si le proxy, RADIUS ou le service Notakey sont injoignables.
- Les administrateurs authentifiés par RADIUS reçoivent les droits du default-group que vous choisissez, sauf si votre serveur RADIUS renvoie un attribut Mikrotik-Group par utilisateur. Choisissez le niveau de privilège le plus bas qui convienne.
- Si le téléphone qui approuve la demande est aussi le client VPN, ajoutez une règle d’acceptation pour que les clients en attente puissent joindre le serveur Notakey alors que tout le reste est encore bloqué.
- L’analyseur JSON du script ne gère pas les parenthèses, ni peut-être d’autres signes de ponctuation particuliers, dans le message d’approbation. Rédigez ce message en texte simple.
- L’approche par script est la voie la plus rapide pour un seul routeur. Avec de nombreux routeurs, d’autres fournisseurs VPN ou une politique centralisée, préférez la configuration fondée sur RADIUS.
De zéro à la première approbation
- 01
Créer l’application dans Notakey
Dans le tableau de bord Notakey, créez une application pour le VPN ou le routeur, copiez son Access ID et enrôlez les téléphones des utilisateurs dans Notakey Authenticator. Le nom d’utilisateur dans Notakey doit correspondre exactement à celui du routeur, car la demande est adressée par nom d’utilisateur.
- 02
Installer les scripts ou déclarer le proxy comme serveur RADIUS
Pour le VPN, collez les bibliothèques JParseFunctions et NotakeyFunctions dans System → Scripts, associez le script up à un profil PPP qui place les nouvelles sessions dans la liste d’adresses vpn_pending, puis ajoutez la règle de pare-feu qui bloque cette liste. Pour la connexion au routeur, ajoutez l’auth-proxy sous /radius avec service=login et timeout=30s, puis activez use-radius sous /user aaa.
- 03
Tester sur un utilisateur, puis généraliser
Associez un secret PPP au profil 2FA, ou ouvrez une seconde session WinBox avec un nom d’utilisateur RADIUS, et approuvez la notification push. Une fois que tout fonctionne, définissez le profil 2FA comme profil par défaut du serveur PPP : tous les utilisateurs sont couverts sans avoir à modifier chaque secret.
Questions fréquentes
- La 2FA du VPN MikroTik nécessite-t-elle un serveur RADIUS ?
- Non. Pour les VPN fondés sur PPP (L2TP/IPsec, PPTP, SSTP), un script RouterOS demande l’approbation au serveur Notakey et le pare-feu bloque la session jusqu’à ce que l’utilisateur touche Approve. RADIUS n’est nécessaire que pour les connexions au routeur (WinBox, WebFig, SSH), ou lorsque de nombreux routeurs ou d’autres fournisseurs doivent partager une même politique.
- Quelles versions de RouterOS sont prises en charge ?
- Les scripts du dépôt notakey/mikrotik-2fa-vpn fonctionnent sur RouterOS 6.46.4 ou plus récent, 7.x compris.
- Pourquoi les connexions RADIUS échouent-elles avant même que le téléphone ne vibre ?
- Le délai d’expiration RADIUS par défaut de MikroTik est de 300 millisecondes. Réglez timeout=30s sur l’entrée /radius pour que le routeur attende l’approbation au lieu d’abandonner aussitôt.