Table of Contents
Um meinen vorherigen Artikel zu vervollständigen, habe ich in meinem Test Lab direkt auch noch denn Microsoft Azure MFA Service aus der Cloud implementiert und getestet. In diesem Beitrag gehe ich direkt auf die ToDo’s für die Implementierung ein. Für weitere Informationen zu MFA und den Unterschieden zwischen Lokal und Cloud lest bitte meinen vorherigen Beitrag.
Wichtig ist das alle meine Angaben den Stand März 2019 haben und da es sich um die Cloud handelt, recht schnell wieder obsolet sein werden.
Ablauf einer Microsoft Azure MFA Cloud Authentifizierung
- Der User ruft per URL die Unified Gateway Seite auf (z.B. https://citrix.deyda.net) & gibt seine Credentials (Username & Passwort) ein
- Die Credentials werden über den Citrix ADC an den lokalen NPS weitergegeben (RADIUS Request)
- Der Network Policy Server übergibt die Credentials an den Active Directory Controller (AD Proxy)
- Nach erfolgreicher Überprüfung wird eine Bestätigung an den NPS übermittelt
- Der NPS fordert den zweiten Faktor über die NPS Extension for Azure MFA beim Multi-Factor-Authentifizierungsdienst (Azure MFA Service) an
- Per Push-Notification wird über die bevorzugten Methode (MFA-App, Anruf oder SMS) der zweite Faktor an das Mobiltelefon übertragen
- Bestätigung des zweiten Faktors am Mobilgerät durch den Benutzer
- Der Azure MFA Service übergibt die Bestätigung des zweiten Faktors über die NPS Extension an den lokalen NPS weiter
- Der lokale Network Policy Server übergibt die Bestätigung an den Citrix ADC (RADIUS Response)
- Der User ist authentifiziert und erhält Zugriff auf die Ressourcen
Einrichtung MFA-Cloud Service als zweiter Faktor
Ich gehe in meiner Anleitung von einer Zwei-Faktor Authentifizierung im Unified Gateway aus. Im Citrix ADC (ehemals NetScaler) Version 12 wird der Azure MFA Cloud Service hierfür genutzt.
Voraussetzungen
Ich setze die folgenden Dinge voraus und gehe nicht im Detail auf diese ein:
- Citrix ADC mit erfolgreicher Basis Konfiguration
- Interne und externe DNS Einträge für Unified Gateway-vServer (z.B. citrix.deyda.net)
- Zertifikate für den DNS Eintrag
- Konfigurierter Unified Gateway-vServer
- Vorhandene Azure Subskription mit Basis Konfiguration
- Aktivierte Azure Active Directory Premium Lizenz
- Installierte Authenticator App auf Test Benutzer Endgerät
Microsoft/Office 365 Admin Center
Als erstes melden wir uns mit einem administrativen Account in Office 365 Portal (https://portal.office.com) an und klicken auf Admin um in das Admin Center zu gelangen.
- Im Admin Center Navigation Panel auf Benutzer> Aktive Benutzer klicken
- In der folgenden Ansicht den zu konfigurierenden Benutzer anklicken
- Im aufgeklappten Menü des Benutzers auf Mehrstufige Authentifizierung verwalten klicken
- In dem neuen Fenster den zu konfigurierenden Benutzer wieder auswählen und öffnen
- Daraufhin über Quick Steps den Benutzer für MFA Aktivieren
- Im folgenden Fenster auf multi-factor auth aktivieren
Network Policy Server
Nun schalten Sie sich auf den internen Server auf, der später als Network Policy Server dienen soll, um die erforderliche Rolle und Programme zu installieren, sowie zu konfigurieren.
- Hierfür startet ihr den Server-Manager und klickt auf Rollen und Features hinzufügen
- Klickt euch im folgenden Fenster durch bis zur Auswahl der Server Rollen, dort wählt ihr die Rolle Network Policy and Access Services aus und klickt auf Next
- Im folgenden Fenster auf Add Features klicken und die Installation per Install starten
Nun ladet ihr die NPS Extension für Azure MFA herunter und installiert / konfiguriert die lokale Umgebung.
- Ihr geht auf den folgenden Link und ladet die NPS Extension for Azure MFA herunter
- Nach dem Download startet ihr den Installer und klickt auf Install
- Nun öffnet ihr eine PowerShell Session als Administrator
- Navigiert zum Pfad C:\Program Files\Microsoft\AzureMfa\Config und startet den folgenden Befehl
1 |
.\AzureMfaNpsExtnConfigSetup.ps1 |
- Daraufhin müsst ihr euch mit eurem Administrativen Office365/Azure Account anmelden
Für den nächsten Schritt benötigen wir die Verzeichnis ID der Azure AD. Bitte das PowerShell Fenster offen halten.
- An portal.azure.com anmelden und zu Azure Active Directory > Eigenschaften navigieren
- Kopiert die angezeigte ID unter Verzeichnis-ID
- Die Verzeichnis-ID kopiert ihr in das offene PowerShell Fenster und bestätigt dies mit Enter
Mit dem Script werden folgende Dinge erledigt:
- Erstellung eines Selbstsignierten Zertifikats
- Zuordnung des öffentlichen Schlüssel des Zertifikats an den Service Principal in Azure AD
- Speichern des Zertifikats im Zertifikatsspeicher der lokalen Maschine
- Zugriff auf den öffentlichen Schlüssel des Zertifikats für den Network User freigeben
- NPS Dienste neu starten
Nun kann der lokale Network Policy Server konfiguriert werden.
- Startet die Network Policy Server Console (z.B. über Server-Manager > Tools > Network Policy Server)
- Klickt mit der rechten Maustaste auf RADIUS Clients und wählt New aus
- Hier konfiguriert ihr die Kommunikation mit dem Citrix ADC wie folgt
- Enable this RADIUS client (Ausgewählt)
- Friendly name (z.B. CitrixADC-NSIP)
- Address (NSIP des Citrix ADC, z.B. 10.0.0.7)
- Shared secret (Frei wählbar, muss aber gespeichert werden, z.B. 191211)
- Confirm shared secret (Nochmals das vorher gewählte, z.B. 191211)
- Eingabe mit OK bestätigen
- Nun klickt mit der rechten Maustaste auf Remote RADIUS Server und auf New
- Im folgenden Fenster gebt ihr einen Namen für eure RADIUS Gruppe (Group name) ein und klickt auf Add
- Hier konfiguriert ihr die Kommunikation mit der lokalen AD wie folgt
- Server (FQDN oder IP eures lokalen DC)
- Klickt auf den Reiter Authentication/Accounting
- Authentication port (1812)
- Shared secret (Oben gewähltes Shared secret, z.B. 191211)
- Confirm shared secret (wie oben, z.B. 191211)
- Nun auf den Reiter Load Balancing klicken
- Number of seconds without response before request is considered dropped (Wichtig dies hochzusetzen damit der Benutzer genügend Zeit hat, den Zweiten Faktor (MFA-App, Anruf oder SMS) zu bestätigen, z.B. 60)
- Number of seconds between requests when server is identified as unavailable (Wichtig siehe oben, z.B. 60)
- Bestätigt die Eingabe mit OK
- Klickt nun mit der rechten Maustaste auf Policies > Connection Request Policies und wählt New aus
- Im folgenden Fenster definiert ihr die Kommunikation zum Citrix ADC
- Policy name (z.B. MFA Server Citrix ADC NSIP No Forward)
- Policy enabled (Ausgewählt)
- Klickt im Reiter Conditions auf Add
- Client IPv4 Address (NSIP, z.B. 10.0.0.7)
- Klickt nun auf den Reiter Settings und dort auf den Menüpunkt Authentication Methods
- Override network policy authentication settings (Ausgewählt)
- Microsoft Encrypted Authentication version 2 (Ausgewählt)
- Wählt als nächstes den Menüpunkt Authentication aus
- Authentication requests on this server (Ausgewählt)
- Bestätigt die Eingabe mit OK
- Klickt nun nochmals mit der rechten Maustaste auf Policies > Connection Request Policies und wählt New aus
- Im folgenden Fenster definiert ihr
- Policy name (z.B. MFA Server Citrix ADC Request Forward)
- Policy enabled (Ausgewählt)
- Klickt im Reiter Conditions auf Add
- NAS Identifier (Frei wählbar, muss aber gespeichert werden, z.B. MFA)
- Klickt nun auf den Reiter Settings und dort auf den Menüpunkt Authentication Methods
- Override network policy authentication settings (Ausgewählt)
- Microsoft Encrypted Authentication version 2 (Ausgewählt)
- Klickt nun mit der rechten Maustaste auf Policies > Network Policies und wählt New aus
- Policy name (z.B. NetScaler MFA)
- Policy enabled (Ausgewählt)
- Grant access (Ausgewählt)
- Klickt im Reiter Conditions auf Add
- NAS Identifier (Frei wählbar, muss aber gespeichert werden und muss der selbe sein wie oben, z.B. MFA)
- Klickt nun auf den Reiter Constraints und dort auf den Menüpunkt Authentication Methods
- Microsoft Encrypted Authentication version 2 (Ausgewählt)
- Bestätigt die Eingabe mit OK
Authentication App
Wir melden uns nun mit unserem Test Benutzer an Office365 (https://portal.office.com) an, um die Authentication App auf dem Mobilgerät zu konfigurieren.
Wenn der Test Benutzer noch keinen konfigurierten Zweiten Faktor hat, erscheint folgende Meldung. Die Konfiguration kann mit Weiter gestartet werden.
- Im folgenden Fenster wählt ihr die Art des Zweiten Faktors (z.B. Mobile App) aus
- Um die Konfiguration zu vereinfachen wählt ihr Benachrichtigungen zur Überprüfung empfangen aus und klickt auf Weiter
- Im folgenden Fenster wird ein QR Code angezeigt, womit die Authentication App konfiguriert werden kann
- Öffnet die Authenticator App auf eurem Endgerät
- Klickt auf das + Symbol um einen weiteren Account hinzuzufügen
- Wählt im Konten Fenster Geschäfts- oder Schulkonto aus
- Mit dem folgenden Menüpunkt QR-Code scannen könnt ihr den vorhandenen QR Code scannen
- Nun wird der Test Benutzer in der Account Liste angezeigt
- Im Browser könnt ihr die Konfiguration des MFA Services mit Weiter und Fertig bestätigen
Citrix ADC
Nun kann der Citrix ADC für die Multi-Faktor Authentifizierung eingerichtet werden. Hierfür wird ein RADIUS Server erstellt und an den vorhandenen Unified Gateway vServer gebunden.
- Im Citrix ADC Navigation Panel auf System > Authentication > RADIUS klicken
- Auf Registerkarte Servers klicken und über Add einen neuen Authentication Server erzeugen
- Name (z.B. Local-NPS)
- IP Address (IP des NPS)
- Port (1812)
- Secret Key (Shared Secret definiert im NPS, z.B. 191211)
- Confirm Secret Key (Shared Secret)
- Klickt auf Test Connection um die eingegebenen Daten und die Verbindung zum Network Policy Server zu prüfen
- Klickt auf More um die weiteren Optionen zu konfigurieren
- Time-out (Setzt diese bei Anrufen oder SMS auf 120 Sekunden)
- NAS ID (Konfigurierter Wert aus NPS, z.B. MFA)
- Password Encoding (mschapv2)
- Accounting (OFF)
- Authentication Server Retry (3)
- Authentication (Ausgewählt)
- Speichert die Konfiguration mit Create
- Klickt auf den Reiter Policy und klickt auf Add um eine neue RADIUS Policy zu erstellen
- Name (z.B. radius_mfa_cloud_pol)
- Server (vorher erstellten RADIUS Server, z.B. Local-NPS)
- Expression (ns_true)
- Mit Create speichern Sie die Konfiguration
- Wählt nun den vorher konfigurierten Unified Gateway vServer aus
- Klickt unter Basic Authentication auf das + Symbol
- Unter Choose Type konfiguriert folgendes
- Choose Policy (RADIUS)
- Choose Type (Primary)
- Bestätigt die Eingabe mit Continue
- Wählt im folgenden Fenster unter Select Policy die vorher erstellte RADIUS Policy (radius_mfa_cloud_pol) aus
- Bestätigt die Eingabe mit Bind
Nach dem speichern der Änderung, kann man sich am Gateway anmelden und erhält nach Eingabe der Anmeldedaten eine Meldung auf dem Mobilgerät (Mobile App, Anruf oder SMS).
Troubleshooting
Um nachträglich den Benutzern den Zugriff auf seine MFA Einstellungen zu gewähren, gebt folgende Adresse weiter:
https://aka.ms/mfasetup
Hier kann der Benutzer seine bestehenden Einstellungen editieren (Telefonnummer, Authenticator App usw.) oder die Verbindung zu Eingerichteten Authenticator Apps löschen.