Integration von Azure MFA in eine RDS-Umgebung

Dieser Blogbeitrag erklärt, wie sie Azure Multi-Factor Authentication für ihre On-Premises Remote Desktop Service Umgebung (RDS) einrichten. Der Blogbeitrag dient zum Verständnis und zeigt die wichtigsten Schritte zur Vorbereitung als Schritt-für-Schritt Anleitung.

Multi-Faktor Authentifizierung

Das Konzept von Multi-Faktor Authentifizierung (MFA) ist heute bereits sehr verbreitet und angesehen. Eine solche Authentifizierung besteht aus mehreren Komponenten, nicht nur aus Benutzername und Passwort. Typischerweise sind das…

  • Etwas das man weiss (Passwort)
  • Etwas das man besitzt (ein vertrauenswürdiges Gerät, bspw. Smartphone)
  • Etwas das man ist (Fingerabdruck, Gesichtserkennung, usw.)

Das Risiko eines unerlaubten Zugriffes ist mit den erweiterten Faktoren der Authentifizierung um ein vielfaches minimiert. Das Microsoft Produkt Azure Multi-Factor Authentication bietet genau diese Möglichkeiten, sowohl für Cloud- als auch ihre On-Premises Services. Dieser Beitrag fokussiert sich auf die Integration von Azure Multi-Factor Authentication in eine bestehende Remote Desktop Service (RDS) Umgebung.

Ausgangslage & Voraussetzungen

Um Azure MFA für die bestehende RDS-Umgebung verwenden zu können, gibt es eine handvoll Voraussetzungen:

  • Synchronisierung des On-Premises Active Directory und Azure Active Directory
  • Mindestens zwei Windows Server 2008 R2 Server oder neuer mit Installierter Network Policy and Access Services (NPS) Rolle – Bspw. auf dem Remote Desktop Gateway und Azure Active Directory Connect (AADC) oder einem anderen Server in der Domäne.
  • Lizenzen für Azure MFA – Dafür kann bspw. Azure AD Premium oder ein anderer Lizenzplan verwendet werden, welcher Azure MFA beinhalten.
    ACHTUNG: Die Konsumbasierte Lizenz für Azure MFA ist mit NPS nicht kompatibel.

In der nachfolgenden Kapiteln wird davon ausgegangen, dass die Voraussetzungen erfüllt sind, die Synchronisierung der Verzeichnisse bereits konfiguriert, eine bestehende RDS-Infrastruktur vorhanden und die NPS-Rolle auf zwei Servern installiert ist.

Authentifizierungsverfahren mit Azure MFA

Durch die Integration von Azure Multi-Factor Authentication in die bestehende RDS-Lösung, erstreckt sich das Authentifizierungsverfahren in die Microsoft Cloud. Die Vorzüge von MFA stehen dadurch zur Verfügung. Das Verfahren gestaltet sich wie folgt:

  1. Der Remote Desktop Gateway nimmt die Authentifizierungsanfrage entgegen und leitet diese an den Server weiter, auf welchem die NPS extension installiert ist. Vom NPS wird die Anfrage zum DC weitergeleitet.
  2. Der DC prüft die Anmeldeinformation und meldet das Ergebnis zurück an den NPS.
  3. Ist das Ergebnis positiv, so löst der NPS eine Anfrage ans Azure Active Directory für eine weitere Authentifizierung aus.
  4. Die Multi-Faktor Authentifizierung wird vom Azure Active Directory mit einem der supporteten und konfigurierten Möglichkeiten eingefordert (Push-Benachrichtigung, Anruf, SMS, Code,…) und das Resultat bei Erfolg dem NPS übermittelt.
  5. Der NPS Server sendet die Nachricht der erfolgreichen Authentifizierung an den RDS, welcher dem über MFA authentifizierten User Zugriff gewährt.
RDS and Azure MFA Authentication flow

Azure MFA Konfiguration

Bevor die NPS Erweiterung installiert und verwendet werden kann, muss MFA für die Azure Accounts eingerichtet werden. Damit das Einrichten funktioniert, muss mindestens ein Benutzer erfolgreich für Azure MFA registriert sein. Um dies zu erreichen muss sich der User einlogen unter https://aka.ms/mfasetup. Der Benutzer kann dann seine gewünschte Authentifizierungsmethode konfigurieren, bspw. per Token oder Authenticator App.

Somit ist die Vorarbeit bereits geleistet. Die Conditional Access Policy ist bei der NPS Konfiguration und Authentifizierung nicht berücksichtigt. Daher ist die Einrichtung einer solchen nicht notwendig. Ist der NPS Server korrekt konfiguriert, muss sich jeder User nach der Authentifizierung über den NPS Server zusätzlich mittels MFA authetifizieren. Ist Azure MFA für einen User nicht konfiguriert, so kann der User die zusätzliche Authentifizierung nicht durchführen. Der Benutzer wird dadurch abgelehnt. Für Testzwecke gibt es aber eine Möglichkeit dies zu umgehen. Dafür muss man aber erst die NPS Erweiterung installieren. Diese Möglichkeit ist daher im Folgekapitel als «Optional» aufgeführt.

Installation und Konfiguration NPS Erweiterung

Für die erfolgreiche Einrichtung wird mit der NPS extension auf dem NPS Server gestartet. Dafür kann die Erweiterung unter diesem Link auf den NPS Server heruntergeladen werden. Anschliessend wird die NpsExtnForAzureMfaInstaller.exe ausgeführt und installiert.
ACHTUNG: Die NPS extension darf AUF KEINEN FALL auf dem RD-Gateway Server installiert werden.

NPS Extension for Azure MFA

Optional:
Ist ein bestimmter registry key vorhanden, verlangt der NPS Server nicht von jedem User eine Authentifizierung über MFA. Es ist wichtig zu verstehen, dass diese Option eine Sicherheitslücke darstellt. Die Option ist daher nur für Tests während der Implementation zu konfigurieren, um eine Einschränkung des bestehenden Betriebs zu umgehen.
Für die Konfiguration muss lediglich der registry key HKLM\Software\Microsoft\AzureMFA\REQUIRE_USER_MATCH von TRUE auf FALSE gesetzt werden. Dieser key steuert was mit Usern passieren soll, die nicht für MFA registriert sind. Die Werte bedeuten das folgende.

WertBenutzer MFA StatusEffekt
Der key existiert nichtNicht registriertMFA ist nicht erforderlich
TRUENicht registriertMFA ist nicht erforderlich
FALSENicht registriertAuthentifizierung ohne MFA
FALSERegistriertAuthzentifizierung mit MFA erforderlich
TRUERegistriertAuthentifizierung mit MFA erforderlich

Selbstsigniertes Zertifikat

Nachdem die Erweiterung installiert wurde, wird ein Zertifikat benötigt. Die heruntergeladene Erweiterung enthält ein PowerShell Skript, welches direkt ein selbstsigniertes Zertifikat erstellt, speichert und installiert. Das Skript erstellt im Azure AD zudem ein Dienstprinzipal. Dieses Prinzipal wird dem Zertifikat anschliessend automatisch zugeordnet. Weiter gewährt das Skript dem «NETWORK SERVICE» Zugriff auf das neu erstellte Zertifikat.
Das Skript lässt sich wie folgt finden:

C:\Program Files\Microsoft\AzureMfa\Config\AzureMfaNpsExtnConfigSetup

ACHTUNG: Bei Servern in deutscher Sprache (nicht empfehlenswert), muss das Skript zuerst noch editiert werden, da das deutsche System keinen «NETWORK SERVICE» kennt. Der «NETWORK SERVICE» muss entsprechend im Skript mit dem deutschen Äquivalent ersetzt werden (Netzwerkdienst).

Das Skript fordert dann zur Anmeldung am Azure Active Directory mit einem Azure AD Admin auf. Ist die Authentifizierung erfolgreich, so fragt das Skript nach der Tenant ID. Diese ist im Azure Portal zu finden, in dem man zum Azure Active Directory >> Properties Navigiert und den Wert unter Directory ID kopiert.

Azure AD Tenant ID. Azure Directory ID

Diese ID muss im Skript angegeben werden um die Verbindung zum Azure Active Directory herzustellen. Mit «Enter» bestätigt, erstellt das Skript das selbstsignierte Zertifikat und es kann mit dem nächsten Schritt fortgefahren werden.

Im Anschluss kann mit der Konfiguration fortgefahren werden. Hierfür existiert bereits eine Schritt-für-Schritt Anleitung von Microsoft. Die Konfiguration soll in folgender Reihenfolge durchgeführt werden.

Nachdem diese Konfigurationen vorgenommen sind, so ist Azure MFA erfolgreich in die bestehende RDS-Umgebung integriert.

Gut zu wissen – Summary

  • Um eine RDS-Umgebung mit Azure MFA zu konfigurieren, benötigt es mindestens zwei Server. Einen Server wird als RDS-Gateway mit installierter NPS-Rolle, der andere als weiteren NPS-Server auf dem die NPS extension installiert benötigt. Die Erweiterung darf NICHT auf dem RDS-Gateway installiert sein.
  • Definierte Conditional Access Policies im Azure AD werden bei der Azure MFA Integration mittels NPS NICHT berücksichtigt.
Quellen:
https://docs.microsoft.com/en-us/azure/active-directory/authentication/concept-mfa-howitworks 
https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-nps-extension-rdg
https://docs.microsoft.com/en-us/azure/active-directory/authentication/howto-mfa-nps-extension

Hinterlassen Sie einen Kommentar

de_CHGerman