Pozn.: Popsané věci byly prakticky testovány na Windows Server 2019 a bezdrátových sítích postavených na Cisco Catalyst 9800 Wireless Controller (WLC). Měly by fungovat obecně.
Network Policy Server (NPS)
Při přihlášení uživatelů do bezdrátové sítě může probíhat ověření vůči Active Directory. Pro IEEE 802.1x autentizaci můžeme využít RADIUS (Remote Authentication Dial-In User Service) protokol. Součástí Windows Server je komponenta Network Policy Server (NPS), který můžeme použít jako RADIUS server.
RADIUS autentizace a autorizace
Klient (uživatel nebo počítač) se přihlašuje do WiFi. Posílá svoji autentizaci na AP (Access Point) nebo WLC (řídící kontrolér bezdrátové sítě), obecný RADIUS termín je Network Access Server (NAS). WLC (nebo AP) je v pozici RADIUS Client a posílá RADIUS: Access-Request
na RADIUS Server (NPS). Požadavek obsahuje (atributy) credentials klienta a další údaje o něm (třeba IP adresu), plus informace o NAS (WLC).
RADIUS Server ověří klienta pomocí autentizačních schémat. Případně zkontroluje, zda splňuje další definované podmínky (Authorization attributes). Podle toho odpoví jednou ze zpráv RADIUS: Access-Accept
, Access-Reject
nebo Access-Challenge
. Odpověď může obsahovat další informace (Reply-Message attribute).
Části konfigurace NPS
- RADIUS Clients and Servers - RADIUS Clients - vytvoříme klienta (WLC), aby se mohl připojit k serveru, zadáme jeho jméno, IP adresu, Shared Secret
- Policies - Connection Request Policies - může nám dostačovat defaultní politika Use Windows authentication for all users
- Policies - Network Policies - hlavní část konfigurace, která definuje parametry autentizace a autorizace

Network Policy
Vytvoříme novou politiku. Můžeme jich vytvořit více s různými parametry. Když přijde požadavek (Connection Request / Access Request), tak se prochází seznam politik v zadaném pořadí a porovnávají podmínky.
- Policies - Network Policies - New
Při vytváření se prochází průvodce, kde zadáváme hlavní parametry. Následně můžeme politiku editovat a upravit či doplnit další nastavení. Oblasti (záložky) politiky jsou:
- Overview - obecná natavení a povolení politiky
- Conditions - podmínky, když je splňuje požadavek na připojení, tak se uplatní tato politika, jinak se pokračuje na další politiku v řadě
- Constraints - omezení jsou další parametry, které musí požadavek splňovat, pokud nejsou splněny, tak je žádost zamítnuta (nepokračuje se na další politiku), primárně zde nastavujeme ověřovací metody (Authentication Methods)
- Settings - můžeme definovat nastavení, která NPS použije na požadavek o připojení nebo předá klientovi
Overview
- Policy Name - jméno politiky
- Policy Enabled - aktivace politiky
- Grant Access - politika povoluje přístup
- Ignore user account dial-in properties - můžeme použít, pokud nechceme řešit nastavení na Dial-In záložce uživatelského účtu
- Type of network access server: Unspecified - obecný typ

Conditions
Můžeme vybírat z řady typů podmínek. Zadat musíme alespoň jednu, ale můžeme více. Pak musí vyhovovat všechny. V řadě podmínek můžeme využít regulární výraz (pattern) Use Regular Expressions in NPS.
Pokud již přichází požadavky, tak se můžeme podívat do logu, kde uvidíme jednotlivé položky a jejich hodnoty, které můžeme v podmínkách použít.
- Event Viewer - Custom Views - Server Roles - Network Policy and Access Services

Některé z podmínek, které využijeme pro bezdrátové sítě:
- Client Friendly Name - jméno definovaného RADIUS Client, omezíme tím politiku na určitý zdroj (zde WLC)
- NAS Port Type - určuje typ média použitý klientem, třeba pro přihlášení do bezdrátové sítě jde o
Wireless - IEEE 802.11
, můžeme tak odlišit, zda jde z WLC požadavek na přihlášení do WLAN nebo třeba SSH přihlášení do CLI (zde Cisco posílá typVirtual
) - Windows/Machine/User Groups - můžeme omezit na určité skupiny (uživatelů či počítačů) v AD DS, tím můžeme omezit, že se pouze tyto ověřené účty přihlásí
- Called Station ID - RADIUS atribut, který (alespoň pro Cisco WiFi, ale mělo by fungovat i u jiných výrobců) obsahuje
MAC adresu AP:SSID
(pro zajímavost v atributu Calling Station ID je MAC adresa klienta), můžeme využít regulární výrazSSID$
(dolar znamená, že se porovnává konec řetězce) a tím omezit politiku na požadavky pro určitou WLAN

Constraints
Hlavní položkou, kterou zde nastavujeme, je Authentication Methods. Můžeme také nastavit Idle a Session Timeout, který by se měl uplatnit místo nastavení ve WLAN na WLC.
Jako ověřovací metodu bychom měli využívat pouze bezpečné Extensible Authentication Protocol (EAP). K dispozici máme dvě (použitelné) metody:
- EAP-TLS - považována za nejbezpečnější, server i klient se ověřuje certifikátem, vybíráme
EAP Type: Microsoft: Smart card or other certificate
a musíme zvolit serverový certifikát - Protected EAP (PEAP) - server se ověřuje certifikátem, klient může použít heslo nebo certifikát (podle zvolené metody), vybíráme
EAP Type: Microsoft: Protected EAP (PEAP)
a musíme zvolit serverový certifikát a přidat metodu, běžně se využíváSecured password (EAP-MSCHAP v2)
, kdy se využívá heslo (označuje se jako PEAP-MSCHAP v2)
V obou případech je komunikace šifrována s využitím serverového certifikátu. Potřebujeme tedy na NPS mít důvěryhodný (pro klienty) certifikát. Pro EAP-TLS (nebo PEAP-TLS) musíme mít nasazené certifikáty na klientech, tedy provozovat PKI. Může jít o uživatelské nebo počítačové certifikáty uložené v lokálním úložišti nebo na čipové kartě (smartcard).
Můžeme nastavit více EAP metod v určitém pořadí, které se s klientem vyjednají. Například pokud chceme, aby se klienti s certifikátem přihlásili pomocí EAP-TLS a ostatní pomocí PEAP-MSCHAP v2, tak můžeme zadat obě metody v tomto pořadí. Pokud bychom je zadali obráceně, tak se vždy použije PEAP-MSCHAP v2.

Při použití PEAP-MSCHAP v2 může fungovat Single Sign-On (SSO) a uživatel je do WLAN přihlášen (třeba účtem počítače), aniž by musel zadávat přihlašovací údaje. Ve Windows 11 verze 22H2 je defaultně zapnutý Credential Guard. Ten blokuje použití SSO s tímto protokolem a nutí k zadání přihlašovacích údajů. Doporučené řešení je přejít na EAP-TLS nebo PEAP-TLS.
Settings
Na záložce nastavení můžeme definovat RADIUS atributy, které při úspěšném použití politiky odešle RADIUS server klientovi. Volit můžeme řadu standardních atributů a pak specifické pro určité výrobce. Povinně bychom měli nastavit (automaticky jsou nastaveny při vytvoření politiky):
- Framed-Protocol: PPP
- Service-Type: Framed

Tyto atributy můžeme využít pro předávání zajímavých informací RADIUS klientovi, který je může aplikovat na připojení uživatele. Například pro WiFi by mělo fungovat zařazení do určité VLAN (Tunnel-PVT-Group-ID
), takže klienti mohou využívat stejné SSID, ale skončí v jiné síti. Pro VPN můžeme předávat název skupiny, takže je uživatel zařazen do určité VPN. Pro přihlášení do CLI Cisco IOS předávat autorizaci (level oprávnění). Možností je velké množství.
Příklady Network Policy
Stručný příklad dvou politik pro dvě různé WLAN (SSID). Uvedeny jsou pouze hlavní parametry.
Firemní notebooky s počítačovým certifikátem
Politika se uplatní na přihlášení z WLC do WLAN s SSID wifi. Je vyžadováno přihlášení počítačovým certifikátem. Počítač musí být v doméně - skupině Domain Computers (můžeme omezit na určitou skupinu počítačů).
Overview
- Policy Name: wifi access
- Processing Order: 1
Conditions
- Client Friendly Name: WLC
- NAS Port Type: Wireless - IEEE 802.11
- Machine Groups: Domain Computers
- Called Station ID: wifi$
Constraints
- Authentication Methods: Microsoft: Smart card or other certificate
Mobilní zařízení a další
Politika se uplatní na přihlášení z WLC do WLAN s SSID wifi2. Je vyžadováno přihlášení certifikátem nebo doménovým účtem (heslem).
Overview
- Policy Name: wifi2 access
- Processing Order: 2
Conditions
- Client Friendly Name: WLC
- NAS Port Type: Wireless - IEEE 802.11
- Called Station ID: wifi2$
Constraints
- Authentication Methods:
- Microsoft: Smart card or other certificate,
- Microsoft: Protected EAP (PEAP) - Secured password (EAP-MSCHAP v2)
Dobrý den, Petře.
Předně chci poděkovat za Vaši práci a články, které vydáváte. Je to pro mě velkým přínosem, přečíst si v lidštině jak vše funguje.
Dotaz ohledně NPS pro Wifi a Windows 11. Používáme validaci uživatelským certifikátem, ale na W11 se wifi automaticky nepřipojuje, musím kliknout na připojit a poté znovu potvrdit (Continue connection? If you expect to find "nazev sítě" in this location, go ahead and connect. Otherwise, it may be a different network with the same name). Certifikát serveru se zobrazuje správný a na Windows 10 tento problém nemáme. Zkoušel jsem googlit, ale moc úspěšný jsem nebyl. Nemáte nějaký tip, v čem by mohl být problém?
MOc děkuji za případnou odpověď.
odpověď na [1]Jirka K.: Tak na takovýto problém jsem nenarazil. Na Windows 11 jsem bojoval s tím, že přestalo fungovat přihlášení do WiFi účtem počítače. Protože je defaultně zapnutý Credential Guard a ten nějak blokuje přihlášení pomocí EAP-MSCHAP v2 účtem počítače (obecně NTLM SSO). Nasadil jsem EAP-TLS (certificate-based authentication) a začalo mi vše fungovat.
Je možné nějak upravit profil na NPS tak, aby klient nemusel ručně provést akci k přijetí serverového certifikátu, když se připojuje k Wi-Fi síti? Ať dělám co dělám, vždy klient musí ručně důvěřovat certifikátu.
odpověď na [3]Lukky: To je nejspíše to stejné jako u nás, ale nepíšete zda je to ne W11 nebo i W10. Zjistil jsem, že je možná problém ve jméně certifikátu a serveru. Ve Windows 11 je to prý case-sensitive a náš název serveru je velkými písmeny, ale v certifikátu malými.
Tak jsem se nakonec dopátral kde byla chyba. Nebylo to nastavením NPS, ale špatně nastaveným GPO na zařízení. V nastavení Network Authentication Method Properties a také v nastavení Authentication Method Configuration je potřeba explicitně vybrat v Trusted Root Certification Authorities používané root certifikáty. Pokudjsem nastavil v obou částech (Protected EAP (PEAP) a Smart card or certificate) tak automatické přihlášení k Wifi začalo fungovat i pro Windows 11.
Dobrý den pane Bouška, moc děkuji za články, jsou výborné. Prosím, jak probíhá instalace sekundarního NPS radius serveru? Máte nějaké zkušenosti?
Děkuji
Díky. Nevím úplně jak to myslíte. NPS můžeme nainstalovat na několik serverů se stejnou konfigurací (můžeme použít import/export). A aplikace, která využívá tuto autentizaci, asi vždy dovoluje zadat více RADIUSů. Když je některý nedostupný, použije další.
Dobrý den,
jak uvádí odpověď na [1]Jirka K.: Jirka K. - tak mám stejný problém, následně jsem četl
odpověď na [5]Jirka K.: Jirka K. ale nevím přesně jak je myšleno a kde mám hledat. Zkouším to na doménové mašině a i mimo doménu s ručně zavedeným root cert. Nemůžete mě nějak nasměrovat jak dále postupovat třeba ve W10?
Děkuji