Mehr-Faktor-Authentifizierung (MFA) ist ein guter Weg, um System- und Applikationsanmeldungen sicherer zu machen. privacyIDEA ist ein etabliertes Mehr-Faktor-System auf Open-Source-Basis, mit dem Unternehmen und Organisationen die zweiten Faktoren der Benutzer zentral und on Premises verwalten können. Wie das geht zeigen wir in dieser Workshop-Reihe.
Mit der Open-Source-MFA-Lösung privacyIDEA können Unternehmen die zweiten Faktoren ihrer Benutzer zentral und on Premises verwalten.
(Bild: THAWEERAT - stock.adobe.com)
Viele Applikationen kommen heutzutage mit der Möglichkeit, einen zweiten Faktor wie bspw. eine TOTP-Smartphone-App oder einen FIDO2-Token auszurollen. Das Problem entsteht für Unternehmen aber dann, wenn unterschiedliche Applikationen eingesetzt werden und die Benutzer sich bspw. für jede dieser Applikation einen neuen zweiten Faktor ausrollen müssen.
Vielleicht kennen Sie das aus Ihrem privaten Umfeld, dass sich in Ihrem Google oder Microsoft Authenticator ganz viele TOTP-Profile ansammeln. Als Unternehmen möchte man das für seine Benutzern vermeiden, um somit eine einfache Verwaltbarkeit zu ermöglichen.
Administratoren oder Benutzer können in der Lösung zentral die zweiten Faktoren verwalten, Applikationen werden über definierte Schnittstellen für die Anmeldung angebunden. D.h. nicht mehr die Applikation kennt den zweiten Faktor, sondern ausschließlich das privacyIDEA System. Dies stellt auch eine große Zukunftssicherheit dar. Wenn in Zukunft weitere Applikationen hinzukommen, die mit einem zweiten Faktor abgesichert werden sollen, so muss die IT Abteilung nur noch diese Applikation an privacyIDEA anbinden und es sind keine weiteren Benutzerinteraktionen erforderlich. privacyIDEA ist übrigens Open Source unter der AGPLv3 und bei Github verfügbar.
In dieser Workshop-Reihe werden wir verschiedene Anmeldeszenarien aufzeigen, bspw. VPN über RADIUS, Keycloak als Single Sign-On Identity Provider oder gar die Anmeldung am Windows Desktop oder Terminalserver.
Darüber hinaus bietet privacyIDEA eine breite Unterstützung von verschiedenen Authentifizierungsmethoden: „Tokentypen“. Dazu gehören bereits erwähnte Methoden wie HOTP und TOTP, FIDO2 Token und Passkeys. Aber auch vermeintlich alte Dinge wie SMS Codes oder Papier-TAN-Listen werden unterstützt; ebenso wie exotischere Varianten wie „Tagespasswörter“ oder 4-Augen-Token. Insgesamt unterstützt das System knapp 30 verschiedene Tokentypen.
Der Vorteil ist, dass ein Benutzer beliebig viele verschiedene Tokentypen besitzen und dann für unterschiedliche Login-Szenarien verwenden kann. Die Administratoren können somit zentral steuern, wie, wo und womit sich ein Benutzer authentisieren kann.
Installation
privacyIDEA ist eine Python-Applikation, die in einem Webserver-Kontext läuft. Dadurch hat der Administrator viel Freiheit für unterschiedliche Installationsvarianten.
Das System speichert alle Daten in einer SQL-Datenbank. Darüber lassen sich auch redundante Setups realisieren. In unserem Beispiel nutzen wir die vom Projekt bereitgestellten Community Ubuntu Repositories, die derzeit für Ubuntu LTS Versionen 20 und 22 verfügbar sind.
Da privacyIDEA ein Management-System ist, das zentral für viele Benutzer die zweiten Faktoren verwalten soll, empfiehlt sich dringend, für die Installation eine eigene (virtuelle) Maschine vorzusehen. Wir nutzen hier eine Basis-Server-Installation von Ubuntu 22.04LTS.
Das privacyIDEA Projekt wird federführend von der NetKnights GmbH entwickelt. Als Benutzer root laden wir uns als erstes den Signatur-Key für die Pakete herunter:
die Paketquellen aktualisieren und die Software installieren:
apt updateapt install privacyidea-apache2
privacyidea-apache2 ist ein Meta-Paket, das alle Abhängigkeiten, den MySQL-Server und den Apache-Server installiert. Damit haben wir schon den Ubuntu-Server schon zu einem vollwertigen Mehr-Faktor-Management-System gemacht!
Erstes Login des Administrators
Nun müssen wir unser neues MFA-System konfigurieren. Das System kommt standardmäßig ohne administrativen Benutzer und ohne Standardpasswort. Als erstes legen wir also einen administrativen Nutzer an --- wir nennen ihn mal "superuser":
pi-manage admin add superuser
pi-manage ist ein Kommandozeilentool, mit dem die Grundkonfiguration des privacyIDEA Systems durchgeführt wird. Das ist bspw. das Anlegen des ersten Administrators oder ein Backup der Datenbank.
Wie genau der erste Login aussieht sehen Sie in der folgenden Bilderstrecke.
Mit dem neuen Administrator "superuser" können wir uns als nächstes ins WebUI einloggen und dort alle nötigen logischen Konfigurationen durchführen.
Anmerkung: Für alle die sich wundern, dass sich der Administrator eines Mehr-Faktor-Systems mit einem statischen Passwort anmeldet sei gesagt: privacyIDEA ermöglicht die Nutzung verschiedener Administratoren und Rollen. So können später bspw. IT-Mitarbeiter aus dem Active Directory gelesen werden und diesen wiederum tatsächlich auch für die Anmeldung an privacyIDEA zweite Faktoren zugewiesen werden.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Anbindung von Benutzern
privacyIDEA verfolgt den Ansatz, der IT-Abteilung die größtmögliche Flexibilität und Wahlfreiheit zu lassen. So liest es bspw. Benutzer aus existierenden Benutzerquellen. Dies können OpenLDAP, eDirectory, Active Directory, SQL-Datenbanken, HTTP-Interfaces oder die /etc/passwd sein. Dazu lassen sich durch ein Konzept aus "Resolvern" (Benutzerquellen) und Realms auch viele verschiedene Benutzerquellen neu logisch gruppieren.
In unserem Beispiel binden wir Benutzer aus einem Active Directory ein.
Dazu melden wir uns mit dem vorher angelegten Benutzer "superuser" am WebUI an. Hierzu gehen wir mit dem Browser über HTTPS auf unseren neuen privacyIDEA Server, entweder über die IP-Adresse oder den Hostnamen, wenn wir die Namensauflösung richtig konfiguriert haben.
Nun legen wir den Resolver an. Dazu gehen wir zu Konfiguration→Benutzer.
Zur Konfiguration des LDAP-Resolvers benötigen wir:
Die URL des Domaincontrollers: ldaps://.…
TLS1.2 auswählen
Lediglich für Testzwecke „TLS verifizieren“ ausschalten
Den BINDDN eines ServiceAccounts
Das BIND Passwort.
Bei dem Benutzer-Attribut-Mapping machen wir uns das Leben leicht und klicken auf „Active Directory vorbelegen“.
Weitere Einstellungen zur Konfiguration des LDAP-Resolvers sehen Sie in der folgenden Bilderstrecke.
Wenn wir alle Daten eingegeben haben drücken wir auf „LDAP Resolver testen“ und „Resolver speichern“.
Damit privacyIDEA Token für diese Benutzer verwalten kann, müssen wir diesen Resolver nun noch in einen Default-Realm bringen.
Wie man einen Realm anlegt, sehen Sie in der folgenden Bilderstrecke.
Realm anlegen in privacyIDEA
Der Administrator kann nun unter dem Menupunkt ‚Benutzer‘ alle User sehen ...
(Bild: NetKnights)
Nun kann der Administrator bereits die Benutzer aus dem Active Directory sehen. Hierzu gehen wir auf das Hauptmenü „Benutzer“.
... und über das Trichtersymbol nach bestimmten Benutzern suchen.
(Bild: NetKnights)
Durch Klick auf das Trichtersymbol können wir nach Benutzern filtern bzw. suchen.
Erste Schritte im Selfservice
Prinzipiell können Administratoren für Benutzer Token ausstellen oder Benutzer können dies selber tun. Standardmäßig können sich Benutzer in unserem Fall mit Ihrem AD-Passwort am WebUI als Selfservice Portal anmelden. Sie erhalten ein auf sie zugeschnittene Ansicht und können sich selber nun bspw. einen TOTP-Token mit einer Authenticator App wie dem Google Authenticator oder eben auch dem privacyIDEA Authenticator ausrollen.
Wie ein Benutzer sich in privacyIDEA anmeldet und im Selfservice seinen Token ausrollt, sehen Sie in der folgenden Bilderstrecke.
Benutzeranmeldung und Token-Rollout in privacyIDEA
Weitere Schritte
In den weiteren Artikeln diese Serie werden wir uns anschauen, wie ein Benutzer diesen Token nun zur Anmeldung an einem VPN wie Netscaler verwenden kann.
Wir werden genauer auf Rollen und Rechte eingehen und zeigen, wie bspw. Helpdesk-Rollen definiert werden können oder der Administrator die Rechte und Möglichkeiten der Benutzer im Selfservice-Portal definieren kann.
Im vierten Artikel werden wir das Thema Single Sign-On mit Keycloak gegen privacyIDEA betrachten und uns bei der Gelegenheit sowohl FIDO2/Passkeys als auch PUSH-Token als moderne Art der Authentifizierung anschauen.
Im vorerst letzten Artikel der Reihe werden wir mit Hilfe des privacyIDEA Credential Providers die Anmeldung an Windows-Systemen absichern.
Über den Autor: Cornelius Kölbel ist CEO von NetKnights.