ADFS mit kostenlosem MFA Plugin absichern

Gerade größere Unternehmen setzen im Zuge einer einheitlichen Authentifizierung des Öfteren auf Microsofts ADFS (Active Directory Federation Services) Rolle, welche auf jedem Windows Server kostenlos installiert werden kann. Zwar ist eine klare Bewegung zu Office365 und Azure AD zu erkennen, jedoch gibt es trotzdem gute Gründe, weiterhin auf ADFS als On-Premises Lösung zu setzen. Dabei bringt ADFS in erster Linie allerdings nur eine ein-Faktor Authentifizierung mit. In der heutigen Welt ist das weder sicher noch gehört es zum Best-Practice. Wer einen zweiten Faktor integrieren möchte, stößt sehr schnell auf eine Anbindung zur Azure MFA Lösung. Da diese die Abhängigkeit zu Azure verstärkt und außerdem mit zusätzlichen Lizenzkosten verbunden ist, möchte ich euch heute eine kostenlos, Open Source Alternative vorstellen.

Standard ADFS Anmeldeseite

 

Allgemein

Wie bereits erwähnt handelt es sich hierbei um ein vollständig kostenloses Open Source Add-On für ADFS. Dabei integriert es sich nahtlos in eine bestehende Umgebung und bringt im Grunde alle notwendigen Features bereits mit. Wer die nötigen Programmierkenntnisse besitzt, wäre sogar dazu in der Lage, den Code an seine Bedürfnisse anzupassen und neue Funktionen zu implementieren.

Das Add-On kann von Github heruntergeladen und mittels MSI Paket installiert werden: neos-sdi/adfsmfa: MFA for ADFS 2022/2019/2016/2012r2 (github.com)

Doch bevor wir uns den Installationsverlauf genauer anschauen, sollten wir zuerst die Rahmenbedingungen klären.

 

Eindrücke

Als Unternehmen sollte man auch in gewisser Weise auf seinen Auftritt achten und hierzu zählt natürlich auch eine Authentifizierungsumgebung wie ADFS. Glücklicherweise integriert sich das MFA Add-On nahtlos in eine bestehende ADFS Umgebung und lässt sich in Sachen Branding auch größtenteils sehr einfach an die eigenen Bedürfnisse anpassen, wie man aus folgenden Screenshots entnehmen kann.

 

MFA Provider

Schauen wir uns einmal den Funktionsumfang des Add-Ons an. Folgende MFA Provider bringt es dabei bereits nach der Installation out-of-the-box mit:

Provider Sicherheit Funktion
TOTP (Time Based One Time Password) Hoch Ich denke das dürfte die bekannteste Implementierung eines zweiten Faktors sein. Mithilfe einer Authenticator-App am Smartphone wird für den jeweiligen Provider ein 6-stelliger Code zur Verifizierung angezeigt. Dieser Code ist wiederum nur für einen begrenzten Zeitraum valide (meistens 30 Sekunden).
Biometrisch (WebAuthN / FIDO2) Hoch Der zweiten Faktor basiert hierbei meist auf einem biometrischen Detail (Fingerabdruck, Gesichtserkennung, …) kann aber auch mittels Hardware USB Stick erfolgen.

Wie die biometrische Authentifizierung ausschaut, ist stark vom jeweiligen Hardware-Hersteller abhängig. Microsoft Surfaces bieten beispielsweise eine Integration der Webcam Sensorik, Apple hingegen setzt auf den Fingerprint.

E-Mail Mittel Dem Benutzer wird eine E-Mail mit einem 6-stelligen Code zugeschickt. Die Funktionsweise ist dabei ähnlich zu jener des TOTP, wird allerdings als weniger sicher angesehen. Ein E-Mail Konto wird nun mal leichter gehackt als ein Smartphone.
External n.A. Das Add-On bietet auch eine Schnittstelle, um selbst etwaige Provider zu programmieren.
Azure Hoch Wer bereits auf Azure setzt und die notwendigen Lizenzen besitzt, kann auch Azure problemlos integrieren. Aus meiner Sicht erübrigt sich hierbei allerdings die Installation dieses Plugins, da Microsoft eine eigene Implementierung für ADFS bereitstellt.

Welcher MFA Provider vom Nutzer verwendet werden darf, kann der Administrator im Vorfeld konfigurieren.

 

Datenspeicherung

Natürlich müssen die Informationen des zweiten Faktors auch irgendwo gespeichert werden. Das Add-On lässt dem Administrator die Wahl: entweder speichert man die nötigen Daten in zuvor definierten Attributen direkt im Active Directory oder lässt sie in einer MSSQL Datenbank ablegen. Je nachdem wie die ADFS Umgebung aufgebaut ist, kann hierbei also die optimale Wahl getroffen werden.

Setzt das Unternehmen auf eine hoch-verfügbare ADFS Umgebung, so ist die Chance sehr hoch, dass auch bereits auf eine MSSQL Datenbank zurückgegriffen wird. Somit könnte man die zusätzlichen Informationen aus der MFA Bereitstellung direkt in diese Datenbank mit aufnehmen. Verwendet man hingegen nur eine kleine ADFS Instanz mit einer WID (Windows Internal Database), können die Daten auch direkt beim jeweiligen AD-Nutzer abgelegt werden.

 

Management & Userverwaltung

Wurde das Add-On erst einmal vollständig konfiguriert, sollten kaum noch Anpassungen notwendig sein. Da es sich bei Nutzern allerdings auch nur um Menschen handelt, kann es durchaus einmal vorkommen, dass beispielsweise der zweite Faktor für den jeweiligen Nutzer zurückgesetzt werden muss. Dazu kann sowohl die PowerShell oder die grafische Nutzeroberfläche (MMC) herangezogen werden. Somit sollten auch Administratoren oder Helpdesk Mitarbeiter, welche im Umgang mit der PowerShell nicht sehr geübt sind, alle notwendigen Konfigurationen vornehmen können.

Anhand der folgenden Screenshots kann man exemplarisch sehen, wie die Nutzeroberfläche aufgebaut ist.

Eine vollständige Dokumentation aller PowerShell Befehle findet ihr direkt beim Github Respository: Home · neos-sdi/adfsmfa Wiki (github.com)

 

Customization

Auch im Sinne der Individualisierbarkeit haben die Entwickler sehr gute Arbeit geleistet. Neben dem Fakt, dass das Add-On Open Source ist und daher mit den nötigen Kenntnissen ohnehin selbstständig angepasst werden kann, bringt es bereits eine Vielzahl von Anpassungsmöglichkeiten mit. Somit kann sowohl ADFS, als auch MFA an das Company Branding angepasst werden und schafft eine nahtlose Integration in bestehende Websites.

 

Installation & Konfiguration

Da die Installation und die damit einhergehende Konfiguration den Scope dieses Beitrags sprengen würde, gehe ich auf diese Punkte in einem gesonderten Beitrag näher ein. Wer nicht so lange warten möchte, kann im Wiki des Entwicklers vorbeischauen.

 

You may also like...

Abonnieren
Benachrichtige mich bei
guest
0 Comments
Inline Feedbacks
View all comments
0
Hinterlass' doch deine Meinung zu diesem Artikelx