Integracje · MikroTik

MikroTik 2FA: zatwierdzanie na telefonie dla VPN i logowań do routera

Dla zespołów, w których router MikroTik pełni rolę bramy VPN lub brzegu sieci. Każde połączenie VPN i każde logowanie administratora jest zatwierdzane jednym dotknięciem w Notakey Authenticator, a wystarczy do tego router, który już Państwo mają.

Jak przebiega połączenie

Dwie drogi wejścia, jedna aplikacja na telefonie

W przypadku VPN całą pracę wykonuje skrypt RouterOS. Użytkownik łączy się jak zwykle nazwą użytkownika i hasłem, ale firewall blokuje jego ruch, dopóki skrypt up z profilu PPP nie poprosi serwera Notakey o zatwierdzenie, a użytkownik nie dotknie Approve na telefonie. Odrzucenie lub brak reakcji powoduje, że skrypt zrywa sesję. W tym wariancie nie ma serwera RADIUS ani auth-proxy; skrypty pochodzą z repozytorium notakey/mikrotik-2fa-vpn i działają w RouterOS 6.46.4 lub nowszym, także w wersji 7.x.

W przypadku logowań do samego routera (WinBox, WebFig, SSH i API) router kieruje usługę login do RADIUS, a Notakey auth-proxy stoi przezroczyście na tej ścieżce RADIUS. Proxy przekazuje sprawdzenie hasła do Państwa serwera RADIUS (FreeRADIUS, Microsoft NPS, własnego User Managera MikroTika lub wtyczki RADIUS od Notakey), wysyła prośbę o zatwierdzenie na telefon administratora i odpowiada Access-Accept dopiero wtedy, gdy powiodą się oba kroki.

W obu wariantach użytkownicy VPN, ich hasła i konfiguracja routera, na której Państwo polegają, pozostają bez zmian. Zmienia się tylko jedno: samo hasło przestaje wystarczać do zalogowania.

Co warto wiedzieć przed rozpoczęciem

  • Skryptowy wariant dla VPN obejmuje sieci VPN oparte na PPP (L2TP/IPsec, PPTP, SSTP). Limit czasu na zatwierdzenie w skrypcie wynosi 60 sekund.
  • Domyślny limit czasu RADIUS w MikroTiku to 300 milisekund. Przy logowaniu do routera przez RADIUS należy ustawić timeout=30s, inaczej każde logowanie zakończy się niepowodzeniem, zanim telefon zawibruje.
  • Należy zachować lokalne konto administratora. RouterOS najpierw sprawdza lokalną bazę użytkowników i pyta RADIUS tylko o nieznane nazwy, więc to konto jest Państwa drogą powrotu, gdyby proxy, RADIUS lub usługa Notakey okazały się niedostępne.
  • Administratorzy uwierzytelniani przez RADIUS otrzymują uprawnienia wybranej default-group, chyba że serwer RADIUS zwraca dla każdego użytkownika atrybut Mikrotik-Group. Warto wybrać najniższe uprawnienia, które wystarczą.
  • Jeśli telefon zatwierdzający żądanie jest jednocześnie klientem VPN, należy dodać regułę accept, aby oczekujący klienci mogli połączyć się z serwerem Notakey, podczas gdy reszta ruchu pozostaje zablokowana.
  • Parser JSON w skrypcie nie radzi sobie z nawiasami i być może innymi znakami specjalnymi w treści prośby o zatwierdzenie. Tekst wiadomości powinien być prosty.
  • Wariant ze skryptami to najszybsza droga dla pojedynczego routera. Przy wielu routerach, VPN innych producentów lub centralnej polityce lepiej sprawdzi się konfiguracja oparta na RADIUS.

Od zera do pierwszego zatwierdzenia

  1. 01

    Utworzenie aplikacji w Notakey

    W panelu Notakey należy utworzyć aplikację dla VPN lub routera, skopiować jej Access ID i zarejestrować telefony użytkowników w Notakey Authenticator. Nazwa użytkownika w Notakey musi dokładnie odpowiadać nazwie na routerze, ponieważ żądanie jest adresowane właśnie nazwą użytkownika.

  2. 02

    Instalacja skryptów lub dodanie proxy jako serwera RADIUS

    Dla VPN należy wkleić biblioteki JParseFunctions i NotakeyFunctions w System → Scripts, podpiąć skrypt up do profilu PPP, który umieszcza nowe sesje na liście adresów vpn_pending, i dodać regułę firewalla odrzucającą ruch z tej listy. Dla logowania do routera należy dodać auth-proxy w /radius z service=login i timeout=30s, a następnie włączyć use-radius w /user aaa.

  3. 03

    Test na jednym użytkowniku, potem wdrożenie

    Należy przypisać jeden PPP secret do profilu 2FA albo otworzyć drugą sesję WinBox z nazwą użytkownika z RADIUS i zatwierdzić powiadomienie push. Gdy wszystko działa, wystarczy ustawić profil 2FA jako domyślny profil serwera PPP, aby objąć wszystkich użytkowników bez edytowania każdego secretu z osobna.

Najczęściej zadawane pytania

Czy 2FA dla VPN w MikroTiku wymaga serwera RADIUS?
Nie. W przypadku VPN opartych na PPP (L2TP/IPsec, PPTP, SSTP) skrypt RouterOS prosi serwer Notakey o zatwierdzenie, a firewall wstrzymuje sesję, dopóki użytkownik nie dotknie Approve. RADIUS jest potrzebny tylko do logowań do routera (WinBox, WebFig, SSH) albo wtedy, gdy wiele routerów lub urządzenia innych producentów mają korzystać z jednej polityki.
Które wersje RouterOS są obsługiwane?
Skrypty z repozytorium notakey/mikrotik-2fa-vpn działają w RouterOS 6.46.4 lub nowszym, także w wersji 7.x.
Dlaczego logowania przez RADIUS kończą się niepowodzeniem, zanim telefon zawibruje?
Domyślny limit czasu RADIUS w MikroTiku wynosi 300 milisekund. Należy ustawić timeout=30s we wpisie /radius, aby router czekał na zatwierdzenie, zamiast od razu rezygnować.

Przewodniki i dokumentacja

Powiązane produkty

← Wszystkie integracje

Pierwsze logowanie bez hasła jeszcze w tym tygodniu

30 minut rozmowy z inżynierem, a nie prezentacja handlowa. Wspólnie zaplanujemy, jak uruchomić działający projekt pilotażowy w Państwa środowisku VPN, SSO lub Windows.