Gastbeitrag der sepago GmbH: Ablösung der klassischen Token-Authentifizierung durch die Multi-Faktor-Authentifizierung von Azure

In diesem Gastbeitrag der sepago GmbH zeigt Thomas von Fragstein, wie einfach die Multi-Faktor-Authentifizierung (MFA) durch Microsoft Azure on Premise zu installieren ist. Sie löst die vorhandene, tokenbasierte Authentifizierung ab. Diese verwendet die sepago GmbH für den externen VPN-Zugriff und für die Anmeldung an weitere Systeme, wie Citrix XenDesktop. Die Multi-Faktor-Authentifizierung von Microsoft Azure bietet sich für die sepago GmbH besonders an, da für die Nutzung von Office365 bereits eine Active Directory Foundation (ADFS) mit Microsoft und eine Azure Subscription besteht.

Motivation: Welche Ziele sollen mit Multi-Faktor-Authentifizierung von Azure erreicht werden

Mit der Einführung der Multi-Faktor-Authentifizierung von Microsoft Azure sollen primär zwei Ziele erreicht werden:

1. Reduktion der Kosten gegenüber der klassischen Token-Lösung

Token-Lösung:

  • Softwarewartung (ca. 17 Euro * Benutzer/Jahr)
  • Hardwaretoken (ca. 25 Euro * Benutzer/Jahr)
  • Softwaretoken für Smartphones (ca. 15 Euro * Benutzer/Jahr)
  • ergibt bei 65 Benutzern (Best Case: nur Softwaretoken): 2080 Euro/Jahr

Multi-Faktor-Authentifizierung von Azure:

  • Lizenzierung pro Benutzer / Zeitraum (aktuell 1,0426 Euro * Benutzer/Monat)
  • ergibt bei 65 Benutzern: 813 Euro/Jahr

2. Einfachere Einrichtung und Nutzung bei besserer Benutzerfreundlichkeit

Token-Lösung:

  • Hardwaretoken müssen durch die IT beschafft und konfiguriert werden. Das führte in der Vergangenheit zu Wartezeiten für die Mitarbeiter.
  • Die Benutzer lassen sich nicht ad-hoc mit Tokens ausstatten.

Multi-Faktor-Authentifizierung von Azure:

  • Benutzer können ad-hoc mit der Multi-Faktor-Authentifizierung ausgestattet werden.
  • Benutzer können ohne Einrichtung direkt die Multi-Faktor-Authentifizierung von Azure nutzen (Telefon/SMS) oder die MFA-Software selbst konfigurieren.
  • Bestätigung des zweiten Faktors ist einfach aus der App heraus, ohne Eintippen von Zahlen, möglich.

Zusätzlich zur Einsparung von ca. 60 Prozent der Kosten pro Jahr kommt, bei dieser geringen Nutzerzahl, die deutliche Entlastung der internen IT sowie die bessere Benutzerfreundlichkeit hinzu. Neue Benutzer werden alle zwölf Stunden erkannt und per E-Mail über die Nutzung und die simple Konfiguration der Multi-Faktor-Authentifizierung von Microsoft Azure informiert.

Konfiguration der Subscription

Um die Multi-Faktor-Authentifizierung durch Microsoft Azure on Premise zu installieren, muss diese im Azure-Portal aktiviert werden. Aus dem Portal wird auch der Multi-Factor Authentication Server heruntergeladen. Zum Aktivieren der Multi-Faktor-Authentifizierung logge ich mich im Azure-Portal ein und navigiere unten über den Punkt „Neu“ auf den Button App-Dienste. Im nächsten Menü wähle ich „Active Directory“ aus und anschließend „Anbieter für Mehrstufige Authentifizierung“. Mit einem Klick auf „Schnellerfassung“ kann ich die Multi-Faktor-Authentifizierung nach meinen Anforderungen hin anpassen.

Habe ich die Multi-Faktor-Authentifizierung erstellt, klicke ich im linken Menü von Azure auf „Active Directory“. Hier sehe ich meine eben erstellte MFA-Authentifizierung und kann mit einem Klick auf „Verwalten“ detaillierte Einstellungen sehen.

In der Verwaltung der Multi-Faktor-Authentifizierung kann ich den Multi-Factor Authentication Server herunterladen. Mit einem Klick auf „Anmeldeinformation für die Aktivierung generieren“ kann ich mir Aktivierungsinformationen erstellen. Mit diesen kann ich in einem Zeitfenster von zehn Minuten im späteren Verlauf des Setups meinen MFA Server aktivieren.

Installation und Konfiguration des Multi-Factor Authentication Servers

Bevor die MultiFactorAuthenticationServerSetup.exe auf den Server heruntergeladen und ausgeführt wird, sollten die folgenden Voraussetzungen beachtet werden:

  • Betriebssystem: Windows Server 2003 oder höher
  • Server-Feature: .NET 2.0 Framework

Sollte .NET Framework 2.0 nicht installiert sein, kann die Installation erst ausgeführt werden, nachdem dieses erfolgreich installiert wurde.

Sind alle Voraussetzungen erfüllt, kann es auch schon losgehen. Mit der Erstinstallation des Multi-Factor Authentication Servers wird der Masterserver installiert. Von diesem Masterserver werden alle weiteren Einstellungen auf alle weiteren Server, die ich installiere, repliziert. Nach der Standardinstallation startet der Konfigurationsassistent. Im Willkommensfenster kann der Konfigurationsassistent übersprungen werden. Für den Masterserver lasse ich die Checkbox frei und drücke „Weiter“, um die Konfiguration zu starten.

Um den MFA-Server im nächsten Schritt zu aktivieren, werden Aktivierungsinformationen benötigt. Diese können nur im Microsoft Azure-Portal generiert werden. Innerhalb der nächsten zehn Minuten kann dann der MFA-Server über den Authentifizierungskonfigurations-Assistenten aktiviert werden.

Nachdem der MFA-Server aktiviert wurde, wird die Gruppenzugehörigkeit des MFA-Servers festgelegt. Hier kann die Standardgruppe ausgewählt oder eine neue anlegt werden. In meinem Fall habe ich eine neue Gruppe angelegt mit dem Namen „MFAonPremise“. Es ist zu beachten, dass nur MFA-Server innerhalb derselben Gruppe Konfigurationsdaten untereinander replizieren. Daher ist es wichtig, dass der zweite Server später auch der Gruppe „MFAonPremise“ zugewiesen wird.

Im nächsten Schritt wird die Replikation aktiviert, damit der zweite Server später dieselbe Konfiguration von seinem Masterserver erhält. Im Folgenden kann die Replikationsmethode gewählt werden, hier nutze ich die zuvor angelegte Gruppe „MFAonPremise“ und aktiviere die Replikation über das „Active Directory“.

Anschließend müssen die Anwendungen gewählt werden, denen ich die Multi-Faktor-Authentifizierung hinzufügen will. In meinem Fall wähle ich RADIUS aus und klicke auf weiter.

Bei der RADIUS-Konfiguration muss ich die Client IP-Adresse meines RADIUS Clients angeben. In meinem Fall ist das die IP-Adresse des Citrix NetScaler Server. Danach muss ich das Shared Secret eingeben und verwende die vorgegebenen Standard RADIUS Ports.

Mit einem Klick auf „Weiter“ kann ich auswählen, gegen welches Ziel der RADIUS Client authentifiziert werden soll. Hier wähle ich die Windows-Domäne aus, da wir keinen weiteren RADIUS-Server einsetzen. Mit einem erneuten Klick auf „Weiter“ wird die Konfiguration des Servers abgeschlossen und die MFA Server UI gestartet.

Im User Interface kann ich die gewünschte Konfiguration des MFA-Servers vornehmen.

Installation und Konfiguration des Benutzerportals

Im User Interface des MFA Servers lässt unter dem Menüpunkt des Benutzerportals dessen Installation starten. Um das Benutzerportal und die Mobile App vollständig nutzen zu können, muss man zuerst das Webdienst-SDK installieren, dann das Benutzerportal und zuletzt die Mobile Anwendung für die Mobile App.

Für die Installation des Benutzerportals, sowie der Webdienste, muss der Server die folgenden Voraussetzungen erfüllen:

  • IIS 6.X oder höher muss installiert sein.
  • IIS 6.0 Meta-Basiskompatibilität muss installiert sein.
  • ASP.NET v2.0.50727 muss installiert sein.
  • Standardauthentifizierung muss für das Webdienst-SDK installiert sein.

Sollte eine dieser Voraussetzungen nicht erfüllt sein, meldet das die jeweilige Installationsroutine. Bei der Installation des Webdienst-SDKs ist es bei mir jedoch vorgekommen, dass dieses trotz der fehlenden „Standartauthentifizierung“ erfolgreich installiert wurde und später zu Problemen führte.

Da noch weitere Webdienste mit dem IIS des Servers gehostet werden, habe ich im IIS eine neue Site erstellt. Da diese Site nur über https erreichbar sein soll und auf dem IIS schon eine Website mit Bindung auf dem Standard https-Port 443 läuft, binde ich die neue Website auf den Port 442 ein. Wahlweise könnte ich statt eines anderen Ports auch eine andere IP-Adresse für die Website angeben oder den Hostheader ändern.

Für die Installation des Webdienst-SDKs klicke ich in der UI des MFA-Servers auf den entsprechenden Menüeintrag und anschließend auf den Button „Webdienst-SDK installieren“.

In der Installationsroutine muss die soeben im IIS neu angelegte Site auswählt und gegebenenfalls der Name des Virtual Directory angepasst werden. Da mir letzterer zu lang war, kürze ich diesen auf „MFAWebServiceSdk“. Mit einem anschließenden Klick auf „Weiter“ wird das Webdienst-SDK installiert.

Nun kann ich mich der Installation des Benutzerportals widmen. Dieses benötigt unbedingt IIS 6.0 Meta-Basiskompatibilität und ASP.NET v2.0.50727. Ist beides installiert, startet auch die Installationsroutine, welche ich über den Menüpunkt „Benutzerportal“ in der Benutzeroberfläche des MFA-Servers installieren kann.

Bei der Installation werden die folgenden Accounts und Gruppen im Active Directory angelegt.

  • Gruppe: PhoneFactor Admins
  • Benutzer: PFUP_Computername

Es kann sein, dass der angelegte Account nicht aktiviert werden kann, wenn eine entsprechende Passwortkonfiguration in einer Gruppenrichtlinie aktiv ist. Das Setup sollte trotzdem erfolgreich durchlaufen werden. Allerdings muss ich bei diesem Fehler das Benutzerkonto im AD manuell aktivieren und diesem ein Passwort vergeben.

Ähnlich wie beim Webdienst-SDK, installiere ich das Benutzerportal in die neu angelegte Site. Auch beim Benutzerportal wähle ich einen passenderen Namen für das Virtual Directory. Das Virtual Directory ist übrigens Teil der URL, die später ein Mitarbeiter eingeben muss. Deshalb ist es hilfreich einen kurzen und prägnanten Namen zu wählen. Mit einem Klick auf „Weiter“ startet die Installation des Benutzerportals.

Im Anschluss an die erfolgreiche Installation des Benutzerportals muss im Anwendungspool des IIS Manager noch der Benutzer-Account und das Passwort für das „MultiFactorAuthUserPortal“ unter den „Erweiterte Einstellungen“ hinterlegt werden. Der Grund hierfür ist der im Setup aufgetretene Fehler, dass der „PFUP_Computername“ Account nicht aktiviert werden konnte.

Im Installationsordner des Benutzerportals muss die Web.config angepasst werden, um die Installation des Portals abzuschließen.

In der Web.config wird die Benutzung des Webdienst-SDKs von „False“ auf „True“ geschaltet und der, in der Installation angelegte, Benutzer mit Passwort hinterlegt.

Des Weiteren wird unter <pfup.Properties.Settings> die URL zum Webdienst_SDK hinterlegt, unter dem die PfWsSdk.asmx ist. Um SSL-Zertifikatfehlern vorzubeugen, hinterlege ich die URL mit dem vollständigen Domänennamen.

Damit ist die Installation des Benutzerportals abgeschlossen. Es fehlt die Installation des Webdienstes für die Mobile-Anwendung. Im Gegensatz zum Benutzerportal und dem Webdienst-SDK kann die Installation des Webdiensts für die Mobile-App nicht aus der Benutzeroberfläche des MFA-Servers gestartet werden. Die Installationsroutine befindet sich jedoch, wie alle anderen Installationsdateien, im Installationsverzeichnis des MFA-Servers. Am einfachsten ist es, das Setup über eine Kommandozeile mit Administrationsrechten zu starten.

Ist die Setup-Routine gestartet, bietet sich einem das gewohnte Bild. Wieder muss die Site ausgewählt und der Name des Virtual Directorys angegeben werden. Besonders hier empfiehlt es sich, den Namen des Virtual Directorys zu ändern. Sollte der Scanvorgang des QR-Codes zum Aktivieren der mobilen Anwendung nicht möglich sein oder fehlschlagen, muss der Benutzer die gesamte URL manuell eintippen. Aus Gründen der Benutzerfreundlichkeit ist meine Empfehlung, den Namen des Virtual Directorys zu kürzen.

Ist die Installation des Webdienstes abgeschlossen, muss auch bei diesem die Web.config angepasst werden.

Wie beim Benutzerportal wird der Benutzer „PFUP_Computername“ und sein Passwort in die Datei eingetragen. Die Option zur Nutzung des Webdienst-SDKs fehlt in dieser Web.config und muss daher auch nicht von „False“ auf „True“ gesetzt werden.

Abschließend muss der Pfad zum Webdienst-SDK, welchen ich schon in der Web.config des Benutzerportals eingetragen haben, auch in der Web.config des Webdienstes der mobilen Anwendung eintragen werden.

Jetzt ist der erste MFA-Server installiert und besitzt ein vollfunktionsfähiges Benutzerportal. Bevor ich näher auf das Benutzerportal eingehe, werde ich erst die Installation des zweiten MFA-Servers erklären.

Ausfallsicherheit: Hinzufügen eines weiteren Servers

Die Installation des zweiten Servers unterscheidet sich geringfügig von der Installation des ersten Servers. Wie gehabt, muss ich den zweiten MFA-Server erst installieren und im Anschluss mit den Aktivierungsinformationen aus dem Azure-Portal aktivieren.

Nachdem dies geschehen ist, weise ich dem zweiten Server dieselbe Gruppe zu, in der sich auch der Masterserver befindet.

Anschließend kann ich auswählen, welche Methode für die Replikation unter den Servern verwendet wird. Wie schon bei dem Masterserver, wähle ich die Replikation über das Active Directory. Danach erstellt der Konfigurationsassistent einen Benutzer im Active Directory für den Server. Ist dieses geschehen, versucht der Assistent eine Kommunikation mit dem Masterserver aufzubauen, um die Konfiguration zu replizieren. In meinem Fall schlug das Anfangs fehl.

Auf dem Masterserver werden die Multi-Factor Authentication-Dienste erfolgreich ausgeführt, trotzdem konnte keine Verbindung hergestellt werden. Zwischen beiden Servern steht auch keine Firewall im Wege. Erst nachdem ich die Benutzeroberfläche des MFA-Masterservers zur Kontrolle des Status geöffnet hatte, ist der Multi-Factor Authentication-Masterdienst erreichbar. Im Anschluss werden die Einstellungen des Masterservers repliziert und übernommen.

Jetzt muss die Installation des Benutzerportals samt Webdienst und Webdienst-SDK (gleich dem Masterserver) durchgeführt werden. Wie schon bei dem Masterserver, muss auch bei dem zweiten Server die Web.config des Benutzerportals und des Webdienstes angepasst werden.

Wieder wird der Schlüssel „USE_WEB_SERVICE_SDK“ auf „true“ gesetzt und der, in der Konfiguration des zweiten Servers erstellte, AD-User samt Passwort in die Config eingetragen. Auch den Pfad zum Webdienst-SDK trage ich wieder ein, aber diesmal mit dem Name des zweiten Servers.

In der Web.config des Webdienstes trage ich denselben Benutzer und sein Passwort, wie bei der Web.config des Benutzerportals, ein. Analog dazu muss ich auch hier den Pfad zum Webdienst-SDK eintragen.

Im Anschluss daran trage ich in der Benutzeroberfläche des MFA-Servers unter dem Menüpunkt Benutzerportal die URL dessen ein. Des Weiteren trage ich unter dem Menüpunkt Mobile Anwendung dir URL des Webdienstes ein.

Ist dieser Schritt abgeschlossen, sind zwei Multi-Factor Authentication Server, samt vollfunktionsfähigem Benutzerportal und Mobilen Anwendungssupport, installiert.

Das Benutzerportal ist direkt bereit zum Testen. Vorher sollten noch die Konfigurationseinstellungen in der Benutzerfläche des MFA-Servers festgelegt werden.

Konfiguration der Multi-Faktor-Authentifizierung

Bevorzugte Authentifizierungsmethode bei der sepago ist die Smartphone-Lösung. Aus diesem Grund stelle ich die Standardauthentifizierungsmethode von Telefonanruf auf „Mobile Anwendung“ ein. Des Weiteren lässt sich in den Unternehmenseinstellungen die Sprache festlegen.

Unter dem Menüpunkt Benutzerportal kann ich dieses nicht nur installieren, sondern auch die Einstellungen dessen festlegen. Hier habe ich die „Benutzerregistrierung zulassen“ aktiviert, welche einem Benutzer erlaubt den Einrichtungsvorgang der mobilen Anwendung durch zu führen. Weiterhin lasse ich dem Benutzer die Möglichkeit selbst zu entscheiden, welche Authentifizierungsmethode für ihn am geeignetsten ist. Zusätzlich habe ich „OATH-Token für Alternative verwenden“ aktiviert. Mit diesem Punkt ist es für den Benutzer möglich, sich am Benutzerportal anzumelden, wenn die Authentifizierung per Telefonanruf, SMS oder mit der mobilen Anwendung fehlschlägt. Die Anmeldung geschieht dann über die Eingabe eines Tokens, der in der mobilen Anwendung fortlaufen neu generiert wird.

Damit der OATH-Token auch in der mobilen Anwendung angezeigt und generiert wird, muss ich diesen unter dem Menüpunkt „Mobile Anwendung“ aktivieren.

Einrichten der „Mobilen Anwendung“ mithilfe des Portals

Jetzt kann das Benutzerportal getestet werden. Hierfür importiere ich meinen Benutzer aus dem Active Directory und aktiviere diesen.

Als Methodenstandart habe ich die "Mobile Anwendung" gewählt. Nachdem ich die E-Mail erhalten habe, dass mein Account für die Multi-Faktor-Authentifizierung freigeschaltet wurde, installiere ich die "Mobile Anwendung". Im Anschluss rufe ich das von mir installierte Portal auf, hierfür habe ich im DNS einen Eintrag hinterlegt und mittels Loadbalancer aus dem Internet verfügbar gemacht.

Auf dem Portal melde ich mich mit meinen Domänendaten an, da die erste Authentifizierung gegen meine Windows-Domäne läuft.

Im nächsten Schritt kann ich die Authentifizierungsmethode wählen. Für den Telefonanruf oder die Authentifizierung per SMS muss ich noch meine Telefonnummer hinterlegen. Ich belasse die Einstellung erstmal bei der "Mobilen Anwendung", da ich später im Benutzerportal die Möglichkeit habe, diese zu ändern.

Als nächstes klicke ich auf "Aktivierungscode generieren", um mir einen Aktivierungscode erstellen zu lassen, mit welchem ich innerhalb der nächsten zehn Minuten Zeit habe, die "Mobile Anwendung" zu registrieren.

Im Anschluss daran starte ich die App auf meinem Smartphone. Hier bestätige ich zunächst die Benachrichtigung, dass die App Push-Notifikationen empfangen darf. Für die Einrichtung der App kann ich die Aktivierungscodes manuell eingeben. Da ich aber einen Barcodescanner auf meinem Smartphone installiert habe, wähle ich die Möglichkeit den QR-Code zu Scannen. (siehe roter Kreis).

Ist der Code erfolgreich eingescannt, versucht die App den MFA-Server zu erreichen und die App zu registrieren. Wenn die Registrierung erfolgreich verlaufen ist, sehe ich mein Konto in der "Mobilen Anwendung".

Zum Abschluss muss ich mich noch im Benutzerportal einmal über die App authentifizieren. Hierfür klicke ich im Benutzerportal auf den Button „Jetzt authentifizieren“. Im Anschluss daran bekomme ich auf mein Smartphone eine Push-Notifikation, mit der ich mich authentifizieren kann.

  

Um die Authentifizierung abzuschließen, klicke ich in der Mobilen Anwendung auf "Überprüfen" und werde im Benutzerportal direkt weitergeleitet.

Automatischer Import von Benutzern

Die sepago GmbH hat rund 65 Mitarbeiter. Alle von Hand aus dem Active Directory zu importieren, wäre etwas mühselig. Hierfür kann ich die automatische Synchronisation mit dem Active Directory einrichten. Als erstes habe ich eine eigene Sicherheitsgruppe im Active Directory erstellt. Im Anschluss daran kann ich unter dem Menüpunkt „Verzeichnisintegration“ auf dem Reiter „Synchronisierung“ die Synchronisierung aktivieren. Für unsere Anforderung haben wir das Synchronisierungsintervall auf zwölf Stunden gestellt.

Über den Button „Hinzufügen“ kann ich die Sicherheitsgruppe der Synchronisierung hinzufügen. Alternativ kann ich eine Organisationseinheit angeben, in der sich meine Benutzer befinden, die automatisch für die Multi-Faktor-Authentifizierung importiert werden sollen.

Unter dem Reiter Multi-Factor Authentication Server kann ich sehen, welcher Server für die Synchronisierung zuständig ist. Auch wenn ich hier eine Checkbox habe, kann immer nur ein Server die Synchronisierung mit dem Active Directory durchführen.

Ausfallsicherheit: Radius-Server

Beide Multi-Factor Authentication Server stellen die Radius-Authentifizierung für VPN & Co der sepago bereit. Um diese ausfallsicher den Systemen zur Verfügung zu stellen, habe ich einen entsprechenden Loadbalancer auf unseren NetScalern konfiguriert. Dessen virtuelle IP-Adresse wird von der VPN- als auch von der XenDesktop Bereitstellungs-Lösung genutzt.

Fazit:

Mithilfe der Multi-Faktor-Authentifizierungslösung von Microsoft Azure ist es gelungen, die Kosten zu reduzieren und gleichzeitig die Benutzerfreundlichkeit zu erhöhen. Neue Benutzer innerhalb der sepago-Domäne werden in Zukunft automatisch konfiguriert und erhalten per Mail eine Einladung zur Konfiguration der „Mobilen Anwendung“ – und das unabhängig von der internen IT.

Da sich die Abrechnung dynamisch an den freigeschalteten Benutzern orientiert, ist zudem eine leistungsbasierte Abrechnung gegeben.

Thomas von Fragstein

Der ganze Artikel: Gastbeitrag der sepago GmbH: Ablösung der klassischen Token-Authentifizierung durch die Multi-Faktor-Authentifizierung von Azure