Napojení RouterOS na radius ve Windows Serveru

Máte Active Directory a chtěli by jste použít její userbase pro VPNky terminované na RouterOS? K nakonfiguraci takového řešení stačí opravdu málo.

Jde o jednoduchou a konfiguračně velmi rychlou věc. Postup by se dal shrnout do těchto bodů za předpokladu že již máte funkční AD a vaší centrální bránou je libovolné zařízení na kterém běží Mikrotik RouterOS. Stávající stav máte takový, že máte uživatele v AD, kteří se s jejich pomocí přihlašují do svých počítačů v kanceláři, pár lidí má i VPNku do firmy ale prozatím má separátní účty uložené v RouterOS > PPP > Secrets.

  1. Instalace Network Policy Serveru (NPS) v “Roles & Features”
  2. Vytvoření skupiny VPNkařů v AD a konfigurace NPS serveru
  3. Konfigurace RouterOS
  4. Poznámky na konec
  5. UPDATE pro WS2019 (18.9.2022)

1. Instalace Network Policy Serveru (NPS)

Služba NPS je součástí Windows Serveru, jednoduše pusťte server manager a spusťe průvodce přidáním rolí. V seznamu vyberte NPS server a nechte jej nainstalovat. Pro náš návod budu používat Windows Server 2012, který mám k dispozici a kde je již NPS server nainstalovaný a nakonfigurovaný pro tento účel.

Instalace Network policy serveru ve WS2012

V závislosti jakou máte architekturu serverů a sítě nepředpokládám, že budete pro službu NPS instalovat zvláštní server či virtuál. Pravděpodobně se nacházíte v prostředí jako mám já kde je v AD cca desítka uživatelů a jeden fyzický server. V tomto scénáři je NPS server nanstalován stejně jako všechno ostatní na jednom fyzickém serveru. Nicméně není problém pokud máte více serverů (či virtuálek) si NPS server nainstalovat mimo Active Directory server.

2. Vytvoření skupiny VPNkařů v AD a konfigurace NPS serveru

Spusťe si Active Directory Users and Computers (Správa uživatelu a počítačů active directory) a vytvořte si novou uživatelskou skupinu např. “VPN users” je jedno jak jí pojmenujete. Ale ideálně tak aby bylo na první pohled zřejmé, že jde o skupinu uživatelů s VPN přístupem. Do této skupiny si přidejte uživatele kterým chcete VPNku povolit a potvrďte.

Teď si otevřete správu NPS serveru, kde stačí nakonfigurovat 3 věci, napojení radius klienta, Connection Request politiku a Network politiku. První krok je definice radius klienta, tím říkáte NPS serveru od kterého hosta přijímal požadavky na ověření uživatele, funguje to jako filtr.

Správa Network Policy Serveru
Definice radius klienta v NPS serveru

Klikněte pravým tl. vlevo na “Radius Clients” a dejte “New” a vyplňte:

  • Friendly name: pojmenování položky v NPS serveru, může být libovolný nemá na proces ověřování žádný vliv např. “Mikrotik router” či podobně.
  • Address (IP or DNS): IP adresa nebo DNS hostname zařízení, které se bude radius serveru dotazovat.
  • Shared secret: heslo pro ověření klienta, definujte si vlastní nebo si ho vygenerujte. Toto heslo je pak nutné zadat do Mikrotik routeru tak si jej někam zkopírujte

V NPS serveru si rozklikněte Policies > Connection Request Policies a pravým tl. myši si vytvořte novou. Libovolně si jí pojmenujte a klikněte na next. V tomto kroku definujete pro které typy requestů se požadavky mají zpracovávat, klikněte na “Add” a přidete tam:

  • NAS Port type = Virtual (VPN)
  • NAS Identifier = zde zadejte název Mikrotik routeru, najdete jej ve winboxu v System > Identity
Connection Request Policy, definice omezujích podmínek

V dalším kroku se ujistěte že v Authentication je vybráno “Authenticate requests on this server”.

Connection Request Policy, ověření přes lokální server

Dále pak vyberte MS-CHAP-v2.

Connection Request Policy, definice protokolu ověření

A dál už jen next a u rekapitulace klikněte na “Finish”. Nyní už jen říct oproti jaké skupině se mají uživatelé ověřovat. Překlikněte na “Network Policies” a v nich vytvořte novou politiku (přes pravé tl. myši) libovolně si jí pojmenujte nechte vybraný typ NAS na “Unspecified” a klikněte na next.

Přidejte podmínku (condition) přes “Add” a zvolte hned první “Windows Groups” a do pole si nadefinujte skupinu uživatelů, kterou jste si vytvořili na začátku v AD (VPN Users). Občas se stane, že to vyhodí hlášku že to nemůže najít skupinu v AD ale jen to potvrďte ok a skupinu to bezproblému přidá.

Výběr přístupu uživatelské skupině
Výběr uživatelské skupiny

Povolte skupině přístup

Povolení přístupu uživatelské skupině

V dalším kroku vyberte jen MS-CHAP-v2 a MS-CHAP odškrtněte. V kroku definice dalších omezení doporučuji nastavit:

  • Idle Timeout: na 60 minut (1h), neaktivní klientská VPN spojení Mikrotik po 60 minutách odpojí
  • Session Timeout: 1440 minut (24h), VPNky jsou po 24 hodinách autmaticky odpojeny
Idle timeout
Session timeout

Nastavením těchto dvou hodnot zajistíte “ohranu” proti vyčerpání zdrojů. Pokud nemáte uživatele vycvičené aby po skončení práce VPN odpojili tak se vám můžete dostat do situace, že někteří uživatelé tam budou vícekrát připojeni z vícero míst a mohou vám v extrémním připadě např. vyčerpat pool IP adres, který v RouterOS máte přiřazený.

128 bit šifrování MPPE

Dále už jen vyberte v sekci “Encryption” pouze 128 bit a dejte next a finish. A hotovo! Máte nakonfigurovaný NPS server pro příjem radius requestů vůči existující skupině v AD.

3. Konfigurace RouterOS

Přihlaště se pomocí winboxu do svého routeru a v levém menu vyberte položku “Radius”. Přidejte nový, zaškrněte “ppp” nadefinujte IP adresu/hostname serveru na kterým jste před chvíli nastavili NPS server a do pole “secret” vložte heslo které jste si vytvořili, když jste definovali v NPS serveru “Radius klienta”.

Nastavení radius klienta v RouterOS

Posledním krokem je pak nastavení PPP serveru aby používal ověření radiusem. V PPP se překlikněte do záložky “Secrets” a klikněte na “PPP Authentication&Accounting” a zaškrtněte “Use radius”.

A pokud všechno jede jak má tak měli by jste ve statusu radius serveru vidět pokusy o ověření a jejich status.

4. Poznámky nakonec

  • Funguje to tak, že pokud máte zvoleno současně jak “Radius” tak “Accounting” tak pokus o připojení nejdříve ověří vůči lokálním účtům a pokud tam není nalezena shoda uživatelského jména tak teprv poté dotaz putuje na radius server.
  • Pokud máte duplicitní účty v Secrets a v Radiusu tak jejich ověření bude docházet v RouterOS ne v Radiusu z logiky věci, protože jakmile je nalezena shoda uživatelského jména proces dále nepokračuje v hledání účtu přes radius. Pokud můžu doporučit tak si uživatele postupně zdisablujte v MK jak a jakmile je budete mít všechny přemigrované na radius tak stačí vypnout Accouting a PPP účty v RouterOS smazat.
  • Tato konfigurace neřeší prostředí kde je více AD domén vůči, kterým chcete uživatele přes jednu bránu ověřit.
  • RouterOS v případě uživatelů ověřených Radiusem ignoruje některé parametry které máte v PPP > Profiles > Limits jmenovitě např. “Only one” volbu.

5. Update pro Windows Server 2019

Při pokusu o spojení mezi Mikrotikem a NPS serverem na Windows Serveru 2019 může dojít k chybě (za kterou je vinný zřejmě Microsoft) kdy služba normálně běží, porty NPS serveru pro Radius naslouchají (1812/udp a 1813/udp) firewall na serveru máte otevřený nicméně v status okně připojení radius serveru v Winboxu vidíte pouze naskakující “Timeouts”. Problém mi ležel na stole nějakou dobu a nějak jsem nevěděl v čem by mohl být problém. Po nějakém čase jsem dohledal tento blog který narazil na stejný problém. Do příkazové řádky stačí zadat tento příkaz:

sc sidtype IAS unrestricted

Dle poznámky v původním blogu jde o povolení kdy služba nemá bez tohoto zásahu možnost interagovat s windows firewallem.

Štítky , , , , , , , , , .Záložka pro permanentní odkaz.

4 reakce na Napojení RouterOS na radius ve Windows Serveru

  1. Roman říká:

    Dobrý den,

    Používám Open VPN na mikrotiku a chci ověřovat klienty přes AD, ale dokud nezapnu v network policy PAP, SPAP, tak se nepřipojím. V logu NPS je The user attempted to use an authentication method that is not enabled on the matching network policy. V mikrotiku nikde nenacházím volbu typu ověření. Uvítám každou radu.

    Díky

    • Fang říká:

      Zkusil bych se podívat zde, a případně systémem pokus-omyl pokud se nepodaří dohledat nic na webu zkoušel měnit authentication type v NPS serveru dokud se ověření nechytí.

  2. Zdravím,
    používal jsem několik let tento setup PPTP VPN ověřování přes AD. Na firmware WL6.42.3 mi to fungovalo a po aktualizaci na novější to přestalo fungovat. Máte podobné zkušenosti?
    Povedlo se někomu zprovoznit OpenVPN na Mikrotiku s ověřováním přes AD na WS2012R2?

    • Fang říká:

      Obecně používám spolu s SSTP a tam to funguje stejně jako u PPTP. OpenVPN jsem nikdy nezkoušel, z předchozích zkušeností na verzi 6.X nebyla implementace moc dobrá. Funguje OK ale chyběly třeba novější šifry nebo UDP režim.
      Po přechodu na RoS 7.X už využívám pro svojí potřebu wireguard.

Napsat komentář: Roman Zrušit odpověď na komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *