Table of Contents
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.
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
- 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 MFA-Server weitergegeben (RADIUS Request)
- Der MFA-Server übergibt die Credentials an den Active Directory Controller weiter (AD Proxy)
- Nach erfolgreicher Überprüfung wird eine Bestätigung an den MFA-Server übermittelt
- Der MFA-Server fordert den zweiten Faktor über den Multi-Factor-Authentifizierungsdienst (Azure MFA Service) aus der Cloud an
- Push-Notification mit der bevorzugten Methode (MFA-App, Anruf oder SMS) an das Mobiltelefon
- Bestätigung des zweiten Faktors am Mobilgerät
- Der Azure MFA Service übergibt die Bestätigung des zweiten Faktors an den lokalen MFA-Server
- Der lokale MFA-Server übergibt die Bestätigung an den Citrix ADC (RADIUS Response)
- Der User ist authentifiziert und erhält Zugriff auf die Ressourcen
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.
- 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
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.
- Hierfür startet ihr den Installer und klickt diesen einfach mit Next und Finish durch
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
Wenn alle benötigten Programme installiert sind, können wir die Software mit dem vorher aus dem Azure Portal notierten Credentials aktivieren.
- Multi-Factor Authentication-Server Software starten
- E-Mail Adresse und Kennwort aus Notepad einfügen und Aktivieren drücken
- Im folgenden Fenster unter Neue Gruppe einen Namen eintragen und über OK bestätigen
- Klickt im Hauptfenster auf Tools > Authentication Configuration Wizard
- Unter Select Applications wählt ihr RADIUS aus
- 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)
- Unter RADIUS Target wählt Windows domain und bestätigt die restlichen Fenster mit Next und Finish
Nun seht ihr die Konfiguration unter dem Menüpunkt 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)
Nun konfiguriert ihr unter Directory Integration die Verbindung zu eurer Active Directory Umgebung.
- 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)
- Über den Knopf Test könnt ihr eure Konfiguration prüfen und dann über OK diese abspeichern
- Klickt auf den Reiter Synchronization
- Um die automatische Synchronisierung der User zu aktivieren wählt die Option Enable synchronization with LDAP aus
Ü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
- Klickt auf den Reiter User Resolution
- Wählt die Option Use LDAP unique identifier attribute for matching usernames aus
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
- 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)
- 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
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
- Im folgenden Menüpunkt QR-Code scannen klickt auf Oder Code manuell eingeben
- Im Fenster Konto hinzufügen gebt ihr die Aktivierungsdaten aus dem MFA-Server ein
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
- Gibt im Folgenden Fenster das Kennwort des Test Benutzers ein und startet den Prozess mit Test
- Bestätigt nun die Abfrage auf dem Test Benutzer Endgerät mit Genehmigen
- Im MFA-Server erhalten Sie darauf eine Successful Meldung
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. 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)
- Klickt auf Test Connection um die eingegebenen Daten und die Verbindung zum MFA-Server zu prüfen
- 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
- 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
- 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_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).