Microsoft Azure MFA Cloud Service in Citrix ADC

MFA Service Auth

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.

Microsoft Azure MFA Cloud in Citrix ADC Version 12

Ablauf einer Microsoft Azure MFA Cloud Authentifizierung

  1. Der User ruft per URL die Unified Gateway Seite auf (z.B. https://citrix.deyda.net) & gibt seine Credentials (Username & Passwort) ein
  2. Die Credentials werden über den Citrix ADC an den lokalen NPS weitergegeben (RADIUS Request)
  3. Der Network Policy Server übergibt die Credentials an den Active Directory Controller (AD Proxy)
  4. Nach erfolgreicher Überprüfung wird eine Bestätigung an den NPS übermittelt
  5. Der NPS fordert den zweiten Faktor über die NPS Extension for Azure MFA beim Multi-Factor-Authentifizierungsdienst (Azure MFA Service) an
  6. Per Push-Notification wird über die bevorzugten Methode (MFA-App, Anruf oder SMS) der zweite Faktor an das Mobiltelefon übertragen
  7. Bestätigung des zweiten Faktors am Mobilgerät durch den Benutzer
  8. Der Azure MFA Service übergibt die Bestätigung des zweiten Faktors über die NPS Extension an den lokalen NPS weiter
  9. Der lokale Network Policy Server übergibt die Bestätigung an den Citrix ADC (RADIUS Response)
  10. Der User ist authentifiziert und erhält Zugriff auf die Ressourcen
MFA Service Auth

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 Authenticator App

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.

Microsoft 365 admin center
  • Im Admin Center Navigation Panel auf Benutzer> Aktive Benutzer klicken
  • In der folgenden Ansicht den zu konfigurierenden Benutzer anklicken
Aktive Benutzer
  • Im aufgeklappten Menü des Benutzers auf Mehrstufige Authentifizierung verwalten klicken
Mehrstufige Authentifizierung verwalten
  • In dem neuen Fenster den zu konfigurierenden Benutzer wieder auswählen und öffnen
  • Daraufhin über Quick Steps den Benutzer für MFA Aktivieren
quick steps
  • Im folgenden Fenster auf multi-factor auth aktivieren
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
Server-Manager Dashboard
  • 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
Server Rollen Network Policy and Access Services
  • Im folgenden Fenster auf Add Features klicken und die Installation per Install starten
Add features that are required for Network Policy and Access Services
Installation Progress

Nun ladet ihr die NPS Extension für Azure MFA herunter und installiert / konfiguriert die lokale Umgebung.

NPS Extension for Azure MFA
  • 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
NPS Extension for Azure MFA Installer
NPS Extension for Azure MFA
  • Nun öffnet ihr eine PowerShell Session als Administrator
  • Navigiert zum Pfad C:\Program Files\Microsoft\AzureMfa\Config und startet den folgenden Befehl
  • Daraufhin müsst ihr euch mit eurem Administrativen Office365/Azure Account anmelden
PowerShell Administrator Office365 Connect

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
Azure Active Directory Verzeichnis-ID
  • Die Verzeichnis-ID kopiert ihr in das offene PowerShell Fenster und bestätigt dies mit Enter
Starting AzureMFA NPS Extension Configuration Script Certificate

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.

Network Policy Server
  • 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
New RADIUS Client
  • 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)
Add RADIUS Server
  • 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)
Add RADIUS Server Authentication/Accounting
  • 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
Add RADIUS Server Load Balancing
  • 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)
Connection Request Policies Overview
  • Klickt im Reiter Conditions auf Add
    • Client IPv4 Address (NSIP, z.B. 10.0.0.7)
Connection Request Policies Conditions
  • 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)
Connection Request Policies Settings Authentication Methods
  • Wählt als nächstes den Menüpunkt Authentication aus
    • Authentication requests on this server (Ausgewählt)
  • Bestätigt die Eingabe mit OK
Connection Request Policies Settings Authentication
  • 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)
Connection Request Policies Overview
  • Klickt im Reiter Conditions auf Add
    • NAS Identifier (Frei wählbar, muss aber gespeichert werden, z.B. MFA)
Connection Request Policies Conditions
  • 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)
Connection Request Policies Settings
  • 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)
Connection Request Policies Overview
  • 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)
Connection Request Policies Conditions
  • 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
Connection Request Policies Constraints

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.

Office365 Anmeldung

Wenn der Test Benutzer noch keinen konfigurierten Zweiten Faktor hat, erscheint folgende Meldung. Die Konfiguration kann mit Weiter gestartet werden.

Office365 Anmeldung Weitere Informationen
  • 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
Office365 Zusätzliche Sicherheitsüberprüfung
  • 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
Authenticator App
  • Mit dem folgenden Menüpunkt QR-Code scannen könnt ihr den vorhandenen QR Code scannen
QR-Code scannen
  • Nun wird der Test Benutzer in der Account Liste angezeigt
Authenticator App
  • Im Browser könnt ihr die Konfiguration des MFA Services mit Weiter und Fertig bestätigen
Office 365 MFA

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.

System Authentication RADIUS
  • 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)
Create RADIUS Authentication Server
  • Klickt auf Test Connection um die eingegebenen Daten und die Verbindung zum Network Policy Server zu prüfen
Test RADIUS Connection
  • 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
Authentication RADIUS Server
  • 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
Authentication RADIUS Policy
  • Wählt nun den vorher konfigurierten Unified Gateway vServer aus
  • Klickt unter Basic Authentication auf das + Symbol
Bind RADIUS Policy an vServer
  • Unter Choose Type konfiguriert folgendes
    • Choose Policy (RADIUS)
    • Choose Type (Primary)
  • Bestätigt die Eingabe mit Continue
Basic Authentication Choose Type
  • Wählt im folgenden Fenster unter Select Policy die vorher erstellte RADIUS Policy (radius_mfa_cloud_pol) aus
  • Bestätigt die Eingabe mit Bind
Basic Authentication bind RADIUS Policy

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).

Citrix Gateway RADIUS Auth

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.