Microsoft Azure MFA Server in Citrix ADC

Microsoft Azure MFA Server in Citrix ADC Version 12

Update:

As of July 1, 2019, Microsoft will no longer offer MFA Server for new deployments. New customers who would like to require multi-factor authentication from their users should use cloud-based Azure Multi-Factor Authentication. Existing customers who have activated MFA Server prior to July 1 will be able to download the latest version, future updates and generate activation credentials as usual.

https://www.microsoft.com/en-us/download/details.aspx?id=55849

Während eines meiner aktuellen Projekte, startete ich einen PoC bezüglich Zwei-Faktor-Authentifizierung basierend auf Microsoft Azure MFA. Bei der Azure Multi-Factor-Authentifizierung müssen Benutzer die Anmeldungen mithilfe einer mobilen App, eines Telefonanrufs oder einer SMS-Nachricht überprüfen und bestätigen. Sie können es zusammen mit Azure AD oder der lokalen AD verwenden.

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 Server in Citrix ADC Version 12

Multi-Faktor-Authentifizierung

Die Sicherheit der zweistufigen Überprüfung liegt im Ebenenansatz. Die Faktoren der mehrfachen Authentifizierung zu überwinden stellt eine große Herausforderung für Angreifer dar. Selbst wenn ein Angreifer das Kennwort des Benutzers herausfinden kann, ist dies nutzlos, wenn er nicht auch die zusätzliche Authentifizierungsmethode beherrscht. Dies funktioniert durch das Anfordern von mindestens zwei der folgenden Authentifizierungsmethoden:

  • Etwas, das Sie wissen (normalerweise ein Kennwort)
  • Etwas, das Sie haben (ein vertrautes Gerät, das nicht leicht dupliziert werden kann, wie ein Telefon)
  • Etwas, das Sie sind (biometrisch)

Microsoft Azure MFA

Es gibt drei Methoden die Microsoft Azure Multi-Factor Authentication zu nutzen:

Multi-Factor Authentication für Office 365 / Microsoft 365 Business

Diese Version arbeitet ausschließlich mit Office 365-Anwendungen und wird über das Office 365- oder Microsoft 365-Portal verwaltet. Administratoren können ihre Office 365-Ressourcen mit der zweistufigen Überprüfung sichern. Diese Version ist Teil eines Office 365- oder Microsoft 365 Business-Abonnements.

Multi-Factor Authentication für Azure AD-Administratoren

Benutzer, denen die Rolle Globaler Administrator für Azure AD-Mandanten zugewiesen ist, können die zweistufige Überprüfung ohne zusätzliche Kosten aktivieren.

Azure Multi-Factor Authentication

Azure Multi-Factor Authentication wird häufig auch als Vollversion bezeichnet und bietet von allen Versionen den größten Funktionsumfang. Über das Azure-Portal sind zusätzliche Konfigurationsoptionen verfügbar. Außerdem stehen erweiterte Funktionen für die Berichterstellung zur Verfügung, und es werden verschiedene lokale Anwendungen und Cloudanwendungen unterstützt. Azure Multi-Factor Authentication ist ein Feature von Azure Active Directory Premium und kann in der Cloud oder lokal bereitgestellt werden.

Microsoft Azure MFA Lokal oder Cloud?

Um die richtige MFA Version zu ermitteln, müssen Sie zunächst die Frage beantworten, wo sich die Benutzer Ihrer Organisation befinden, die mithilfe des zusätzlichen Authentifizierungsschritts gesichert werden soll.

Benutzer Standort

Azure Active Directory

Azure AD & lokales AD verbunden über AD FS

Cloud / Lokal MFA

Cloud

Cloud / Lokal

Azure AD & lokales AD verbunden über Azure AD Connect (Ohne Kennwort-hashsynchronisierung oder Passthrough-Authentifizierung)

Cloud / Lokal

Azure AD & lokales AD verbunden über Azure AD Connect (Mit Kennwort-hashsynchronisierung oder Passthrough-Authentifizierung)

Cloud

Lokales Active Directory

Lokal

Und welche Features des MFA Servers Sie benötigen.

Feature

Benachrichtigung in der mobilen App als zweite Stufe

Cloud / Lokal MFA

Cloud / Lokal

Bestätigungscode in der mobilen App als zweite Stufe

Cloud / Lokal

Telefonanruf als zweite Stufe

Cloud / Lokal

Unidirektionale SMS als zweite Stufe

Cloud / Lokal

Hardwaretoken als zweite Stufe

Cloud (Öffentliche Vorschau) / Lokal

App-Kennwörter für Office 365-Clients, die MFA nicht unterstützen

Cloud

Administrative Kontrolle über Authentifizierungs-methoden

Cloud / Lokal

PIN-Modus

Lokal

Betrugswarnung

Cloud / Lokal

MFA-Berichte

Cloud / Lokal

Einmalumgehung

Lokal

Benutzerdefinierte Begrüßungen für Telefonanrufe

Cloud / Lokal

Benutzerdefinierte Anrufer-ID für Telefonanrufe

Cloud / Lokal

Vertrauenswürdige IP-Adressen

Cloud / Lokal

Speichern der MFA für vertrauenswürdige Geräte

Cloud

Bedingter Zugriff

Cloud / Lokal

Cache

Lokal

Ablauf einer Microsoft Azure MFA 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 MFA-Server weitergegeben (RADIUS Request)
  3. Der MFA-Server übergibt die Credentials an den Active Directory Controller weiter (AD Proxy)
  4. Nach erfolgreicher Überprüfung wird eine Bestätigung an den MFA-Server übermittelt
  5. Der MFA-Server fordert den zweiten Faktor über den Multi-Factor-Authentifizierungsdienst (Azure MFA Service) aus der Cloud an
  6. Push-Notification mit der bevorzugten Methode (MFA-App, Anruf oder SMS) an das Mobiltelefon
  7. Bestätigung des zweiten Faktors am Mobilgerät
  8. Der Azure MFA Service übergibt die Bestätigung des zweiten Faktors an den lokalen MFA-Server
  9. Der lokale MFA-Server übergibt die Bestätigung an den Citrix ADC (RADIUS Response)
  10. Der User ist authentifiziert und erhält Zugriff auf die Ressourcen
MFA Auth Ablauf

Einrichtung MFA-Server 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 lokale MFA-Server 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
  • Firewall Freigabe nach außen für phonefactor.com auf Port 443
  • Installierte Authenticator App auf Test Benutzer Endgerät

Azure Portal

Als erstes melden wir uns im Azure Portal (https://portal.azure.com) an um die benötigten Installer für den MFA-Server herunterzuladen und die Aktivierungs Anmeldeinformationen zu generieren.

Azure Portal MFA Servereinstellungen
  • Im Azure Portal Navigation Panel auf Azure Active Directory > MFA > Servereinstellungen klicken
  • Unter dem Punkt MFA Server herunterladen auf Herunterladen klicken, um den Installer zu erhalten
  • Bei Punkt 2. auf Generieren drücken um die später benötigten Aktivierungs Anmeldeinformationen zu erhalten
  • Notepad öffnen und die E-Mail Adresse, sowie das Kennwort dort zwischen speichern
Multi-Faktor Authentication Server Settings

MFA-Server

Nun schalten Sie sich auf den internen Server auf, der später als MFA-Server dienen soll, um die erforderlichen Programme zu installieren und zu konfigurieren.

Multi-Factor Authentication Server
  • Hierfür startet ihr den Installer und klickt diesen einfach mit Next und Finish durch
Multi-Factor Authentication Server Installation

Es ist möglich das er noch verschiedene Programme (Microsoft Visual C++ 2017 Redistributable usw.) installieren möchte.

  • Wenn Aufforderungen kommen, noch weitere Programme zu installieren, diese auch Bestätigen
Multi-Factor Authentication Server Installation Process

Wenn alle benötigten Programme installiert sind, können wir die Software mit dem vorher aus dem Azure Portal notierten Credentials aktivieren.

Local MFA Server Activation Process
  • Multi-Factor Authentication-Server Software starten
  • E-Mail Adresse und Kennwort aus Notepad einfügen und Aktivieren drücken
Multi-Factor Authentication Server Activation
  • Im folgenden Fenster unter Neue Gruppe einen Namen eintragen und über OK bestätigen
MFA Server Group
  • Klickt im Hauptfenster auf Tools > Authentication Configuration Wizard
Authentication Configuration Wizard
  • Unter Select Applications wählt ihr RADIUS aus
Authentication Configuration Wizard RADIUS
  • Im Fenster RADIUS Authentication konfiguriert ihr folgendes
    • RADIUS client IP (NSIP des Citrix ADC eintragen)
    • Shared secret (selbst gewählten Code eingeben & notieren, z.B. 19122011)
    • Confirm shared secret (Code nochmals eingeben)
    • Authentication port(s) (1645, 1812)
Authentication Configuration Wizard RADIUS Authentication
  • Unter RADIUS Target wählt Windows domain und bestätigt die restlichen Fenster mit Next und Finish
Authentication Configuration Wizard RADIUS Target

Nun seht ihr die Konfiguration unter dem Menüpunkt RADIUS Authentication.

RADIUS Authentication
  • Klickt in RADIUS Authentication auf den vorhin erstellten Client und danach auf Edit
  • Im Edit RADIUS Client Fenster folgendes eintragen
    • Application name (Name für Client, z.B. NSIP)
    • Require Multi-Factor Authentication user match (auswählen)
Edit RADIUS Client

Nun konfiguriert ihr unter Directory Integration die Verbindung zu eurer Active Directory Umgebung.

Directory Integration
  • Klickt auf den Menüpunkt Directory Integration
  • Im Reiter Settings wählt Use specific LDAP configuration & Use attribute scope queries aus
  • Nun klickt auf Edit um die LDAP Konfiguration zu editieren
  • Im folgenden Fenster Edit LDAP Configuration tragt folgendes ein
    • Server (IP des AD Servers)
    • Base DN (OU eurer Benutzer Accounts)
    • Bind type (beides Windows)
    • Bind username (FQDN eines Administrativen Accounts)
    • Bind password (Passwort des Administrativen Accounts)
Edit LDAP Configuration
  • Über den Knopf Test könnt ihr eure Konfiguration prüfen und dann über OK diese abspeichern
LDAP connection successful
  • Klickt auf den Reiter Synchronization
  • Um die automatische Synchronisierung der User zu aktivieren wählt die Option Enable synchronization with LDAP aus
Directory Integration Synchronization

Über Company Settings könnt ihr die Globalen Einstellungen (z.B. Art der MFA) für die Benutzer konfigurieren.

  • Klickt auf den Menüpunkt Company Settings
  • Im Reiter General wählt ihr unter User defaults die MFA Art (Anruf, SMS, Mobile App oder OATH token) und die Sprache aus
Company Settings
  • Klickt auf den Reiter User Resolution
  • Wählt die Option Use LDAP unique identifier attribute for matching usernames aus
Company Settings User Resolution

Nun können Sie das Zusammenspiel des MFA-Servers mit der Active Directory Umgebung und dem Benutzer Endgerät prüfen. Hierfür prüfen Sie über den Menüpunkt Users die Einstellungen (Mobilrufnummer) und aktivieren die Mobile Apps der einzelnen Benutzer.

Wichtig ist in diesem Zusammenhang die MFA nicht für den Sync User (z.B. manuel@deyda.local) zu aktivieren.

  • Klickt auf den Reiter Users
  • Wenn keine Benutzer ersichtlich sind, klickt Import from LDAP
Import from LDAP
  • Wählt den zu editieren Benutzer aus und klickt auf Edit
    • Aktiviert den User über den Punkt Enabled
    • Für Anruf oder SMS konfiguriert
      • Country code (Eure Landesvorwahl, z.B. +49)
      • Phone (Eure Rufnummer)
      • Phone call oder Text message (Auswählen)
    • Für die Nutzung der Mobile App konfiguriert
      • Mobile app (Auswählen)
Users Edit
  • Klickt auf den Reiter Mobile App Devices um die App zu registrieren
  • Über Generate Activation Code erzeugt ihr einen Aktivierungscode für die Authenticator App
Mobile app devices

Konfiguration & Aktivierung am Test Benutzer Mobilgerät.

  • Ö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
  • Im folgenden Menüpunkt QR-Code scannen klickt auf Oder Code manuell eingeben
QR-Code scannen
  • Im Fenster Konto hinzufügen gebt ihr die Aktivierungsdaten aus dem MFA-Server ein
Konto hinzufügen

Nun können Sie eine Test Anmeldung mit der Authenticator App durchführen.

  • Wählt im Menüpunkt Users euren Test Benutzer aus und klickt auf Test
Users Test
  • Gibt im Folgenden Fenster das Kennwort des Test Benutzers ein und startet den Prozess mit Test
Test User
  • Bestätigt nun die Abfrage auf dem Test Benutzer Endgerät mit Genehmigen
Authenticator Pop Up
Authenticator Request
  • Im MFA-Server erhalten Sie darauf eine Successful Meldung
Authentication successful

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. radius_mfa_server)
    • IP Address (IP des MFA-Servers)
    • Port (1812)
    • Secret Key (Shared Secret aus MFA-Server, z.B. 191211)
    • Confirm Secret Key (Shared Secret)
Create Authentication RADIUS Server
  • Klickt auf Test Connection um die eingegebenen Daten und die Verbindung zum MFA-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)
    • Password Encoding (pap)
    • 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_pol)
    • Server (vorher erstellten RADIUS Server, z.B. radius_mfa_server)
    • 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_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