Mehr Azure MFA mit NPS

Gestern hatte ich hier etwas zum Thema Azure MFA, NPS und Netscaler geschrieben.

Ein großer Nachteil der bisherigen Implementierung ist, dass alle RADIUS Requests nun durch das MFA Plugin geprüft werden. Es ist nicht möglich mit dem Regelsatz des RADIUS Servers Einfluss darauf zu nehmen. So scheint es so, dass es nicht möglich ist den NPS auch für andere Zwecke wie z.B. WLAN zu nutzen.

Ausgehend davon haben Fabian und ich angefangen die Dokumentation zu durchgraben und sind auf zwei Ansätze gestoßen:

User Match:

In der Dokumentation ist erwähnt, dass es den Registry Key REQUIRE_USER_MATCH gibt. Dieser Key kann auf FALSE gesetzt werden, um einen angenehmeren Übergang in der Onboarding Phase zu gestalten.

Wichtige Erkenntnis hierbei: Sollte es User geben die keinen „internetfähigen UPN“ haben ersetzt das Azure AD diesen mit TENANT.ONMicrosoft.COM.  Das Plugin schlägt die Userkonten im Azure AD mit ihrem UPN nach und in diesem Fall schlägt die Authentisierung immer fehl. D.h. vor der Installation des NPS Plugin sollten dringend alle(!) Anwender einen funktionierenden UPN bekommen.

Für eine Mehrfachnutzung des NPS ist dieser Ansatz leider nicht zu gebrauchen!

IP-Whitelists

Außerdem ist in der Dokumentation beschrieben, dass es den Registry Key IP_WHITELIST gibt. Dort kann eine durch Semikolon getrennte Liste von IP-Adressen hinterlegt werden für die das Plugin nicht genutzt werden soll.

Wichtige Erkenntnis hierbei: Die Whitelist greift nicht auf Netzwerkebene sondern wertet das RADIUS Attribut NASIPAdress aus. Das dieses Attribut befüllt wird muss jedoch z.B. am Netscaler explizit aktiviert werden.

Dieser Ansatz ermöglicht, dass der NPS Server auch für z.B. WLAN verwendet werden kann. Es müssen nur alle RADIUS Clients (hier die WLAN-Controller) in die Whitelist aufgenommen werden. Leider können keine Ranges oder Subnets angegeben werden, so dass dieses Verfahren z.B. bei 802.1X Switchport Authentisierung mit vielen RADIUS Clients evtl. nicht praktikabel ist.