Zwei-Faktor-Authentifizierung und Single-Sign-on 5 freie 2FA-Systeme zum Nachrüsten

Autor / Redakteur: Mirco Lang / Stephan Augsten

Zwei-Faktor-Authentifizierung und Single-Sign-On-Systeme sind Stand der Technik bei den Großen im Netz. Mit freier Software lassen sich aber auch eigene Apps und Infrastrukturen absichern, auf Wunsch ganz ohne Dritte.

Firma zum Thema

Die aus dem Web bekannte 2-Faktor-Authentifizierung lässt sich mit vorgefertigten Lösungen auch in eigene Projekte einbinden.
Die aus dem Web bekannte 2-Faktor-Authentifizierung lässt sich mit vorgefertigten Lösungen auch in eigene Projekte einbinden.
(© chinnarach - stock.adobe.com)

Die Entwicklung eigener Anwendungen ist schon aufwändig genug, wer will sich da schon übermäßig um das Thema Sicherheit kümmern? Insbesondere wenn es um firmeninterne Apps geht und keine eigene IT- geschweige denn IT-Security-Abteilung zur Verfügung steht, kommt dann doch wieder die eingebaute Passwortabfrage der distribuierten Access-Datenbank zum Einsatz.

Aber Spaß beiseite. Ob es sich nun um interne Prozesse, SaaS-Angebote oder stationäre Endnutzer-Apps handelt: Sobald vertrauliche oder Personendaten anfallen, ist eine ordentliche Authentifizierung unerlässlich. Und dazu gehört heute eben auch eine Lösung zur Zwei-Faktor-Authentifizierung (2FA), wie man sie von der Anmeldung am Google-Konto oder dem Bezahlen via Paypal nur allzu gut kennt.

Das Ganze hat übrigens auch aus Nutzersicht einen gewaltigen Vorteil: Durch die – für die meisten längst gewohnte – Anmeldung mit Nutzername/Passwort und einem zeitlich befristeten Einmalpasswort, einem Hardware Token oder ähnlichem, können lästig komplizierte Regularien für Passwörter entfallen.

Erfreulicherweise gibt es eine riesige Auswahl freier Projekte rund um das Thema 2FA, die damit häufig auch gleich Single Sign On (SSO) abdecken. Der Aufwand hängt dabei stark von den zu schützenden Anwendungen ab. Über die Client-Seite müssen Sie sich übrigens keine allzu großen Gedanken machen, hier gibt es etablierte Tokens wie YubiKey-USB-Sticks oder den omnipräsenten Google Authenticator für TOTPs, der fast allerorts unterstützt wird.

Auf der Wunschliste der Authentifizierungsmethoden stehen häufig die Standards SAML, OpenID Connect und OAuth2, die zumindest bei den größeren Lösungen in der Regel zu finden sind. Hier möchten wir nun kurz fünf Tools vorstellen, die einen näheren Blick wert sind: Zwei ausgewachsene, kommerziell untermauerte SSO-Komplettsysteme, zwei Web-basierte 2FA-Lösungen und eine reine PHP-Implementierung des 2FA-Prinzips.

Google2FA

Bei Google2FA handelt es sich um eine PHP-Implementierung von Googles Zwei-Faktor-Authentifizierungsmodul und ist trotz des Namens nicht mit Google verbunden. Es ist das mit Abstand kleinste Projekt in dieser Sammlung und widmet sich wirklich nur seiner Kernaufgabe.

Google2FA generiert das gemeinsame Geheimnis, stellt es über QR-Codes den Clients wie Google Authenticator zur Verfügung und verifiziert deren zurückgegebene Einmalpasswörter der Formen TOTP und HOTP. Genau genommen wird die QR-Code-Generierung sogar noch von externen Tools übernommen.

Google2FA zeigt beispielhaft für andere Bibliotheken, dass Zwei-Faktor-Authentifizierung in der Grundform nicht allzu kompliziert ist. Es zeigt aber auch, wie sich 2FA in eigene Apps einbauen lässt, während alle folgenden Systeme darauf abzielen, als Vermittlungsplattformen zwischen vorhandenen Anwendungen und Nutzern zu dienen.

Authelia

Authelia: Vermittlung via Reverse Proxy.
Authelia: Vermittlung via Reverse Proxy.
(Bild: Authelia)

Den Anfang der Komplettsysteme macht mit Authelia ein noch recht junger, kleiner Newcomer. Das Projekt wird seit 2017 regelmäßig von lediglich zwei, drei Kernentwicklern gepflegt wird. Authelia arbeitet im Grunde wie die Großen im Bunde, allerdings fehlen noch viele Funktionen, die in großen Infrastrukturen verlangt werden dürften, von jeglicher grafischer Verwaltung bis hin zum Datenaustausch via OpenID Connect oder SAML – OpenID Connect steht aber auf der Roadmap.

Authelia funktioniert allerdings Out-of-the-Box sehr gut zum Absichern von Webanwendungen und ist vor allem gut nachvollziehbar: Es schaltet sich zwischen Reverse Proxies wie Traefik oder Nginx und die zu schützenden Domains und bietet Nutzern dafür ein schlichtes Login-Interface für Nutzername/Passwort und zweiten Faktor, hier TOTP oder YubiKey-USB-Sticks.

Keycloak

Die Keycloak-Architektur.
Die Keycloak-Architektur.
(Bild: Keycloak)

Keycloak ist ein ausgewachsenes Identity-and-Access-Management-Werkzeug unter der Schirmherrschaft von Red Hat und existiert bereits seit 2014. Schwerpunkt von Keycloak ist die Single-Sign-On-Funktionalität.

Die Plattform arbeitet mit Kerberos zusammen, ermöglicht Authentifizierung über soziale Plattformen und beliebige OIDC- und SAML-Provider, lässt sich an LDAP und Active Directory anbinden und bietet rollenbasierte Rechtevergabe. Clients werden über sogenannte Adapter geschützt, im Grunde Bibliotheken. Derlei bietet das Java-basierte Keycloak unter anderem für Tomcat, WildFly, Node.js, oidc (Python), AppAuth (Android/iOS) und OWIN (C#).

Damit bietet sich Keycloak als Framework für nahezu beliebige Eigenentwicklungen an. Auch 2FA wird unterstützt, allerdings standardmäßig nur TOTP über den Google Authenticator oder alternativ FreeOTP. Andere zweite Faktoren wie U2F oder SMS-Push-Nachrichten lassen sich jedoch über Drittprojekte einbinden.

Gluu

Registierte Geräte im Gluu Server.
Registierte Geräte im Gluu Server.
(Bild: Gluu, Inc.)

Der Gluu Server ähnelt Keycloak in vielen Teilen: Ausgewachsenes Java-Produkt mit grafischer Management-Oberfläche, SSO für beliebige Web- und Mobile-Anwendungen, Social Login, SAML- und OpenID-Unterstützung, feingliedrige Rechtevergabe, Nutzerverwaltung über LDAP und AD, Installation mit Docker/Kubernetes, Zugriff via Webinterface und API und so weiter.

Gluu Server existiert bereits seit 2010, wird von der Gluu, Inc. in Texas betreut und kann wie Keycloak eine sehr gute Dokumentation vorweisen – die aufgrund der Komplexität durchaus nötig ist. Auf der 2FA-Seite unterscheiden sich die beiden Systeme allerdings deutlich: Gluu Server unterstützt von Haus aus FIDO 2, TOTP/HOTP und Duo Security, bringt mit Super Gluu aber auch gleich einen eigenen zweiten Faktor in Form einer App für Android und iOS mit sich.

PrivacyIDEA

Token-Verwaltung in PrivacyIDEA.
Token-Verwaltung in PrivacyIDEA.
(Bild: PrivacyIDEA)

Mit PrivacyIDEA geht ein aus Kassel stammendes Projekt an den Start, das seine Wurzeln klar im 2FA-Bereich hat und keine monolithische SSO-Lösung ist. Das lässt sich schon daran sehen, dass PrivacyIDEA Anbindungen für Keycloak, Gluu und weitere Systeme bietet.

Entwickelt wird PrivacyIDEA im Wesentlich vom IT-Security-Unternehmen NetKnights, das auch kostenpflichtige Versionen und Support anbietet. An dieser Stelle ist wichtig zu wissen, dass PrivacyIDEA unter der AGPL angeboten wird, die den Copyleft-Gedanken der GPL für SaaS adaptiert: Wenn Sie PrivacyIDEA in der Open-Source-Version einsetzen, hat jeder Nutzer schon mit der Nutzung das Recht auf Einsicht des Quellcodes.

PrivacyIDEA kann eingesetzt werden, um vorhandene Logins und Verbindungen mit einem zweiten Faktor zu erweitern, beispielsweise SSH-Verbindungen, VPNs oder auch Windows-Logins – mit den entsprechenden Erweiterungen. Auch Apps wie Owncloud lassen sich direkt per Plugin absichern, hier allerdings nur im Zusammenspiel mit Serviceverträgen.

Ursprünglich unterstützte PrivacyIDEA nur OTPs, mittlerweile können auch Challenge-Response-Verfahren, U2F, SSH-Schlüssel und sogar x509-Zertifikate als zweiter Faktor dienen. Als Quellen für Nutzerkonten kann PrivacyIDEA auf LDAP, Microsoft AD, SQL-Datenbanken, Textdateien und Systeme zugreifen, die die SCIM-Spezifikation (System for Cross-domain Identity Management) unterstützen, wie eben beispielsweise auch Gluu.

PrivacyIDEA kann bezüglich Dokumentation und Community nicht ganz mit den großen SSO-Lösungen mithalten, hat aber durchaus seinen Reiz, wenn eine solche bereits läuft und keinen hinreichenden 2FA-Schutz gewährt und naürlich, um herkömmliche Logins zu erweitern – PrivacyIDEA selbst betont hier vor allem VPN-Logins über RADIUS-Server.

PrivacyIDEA ist auf jeden Fall interessant, leider ist die Verquickung aus Open Source, Community, Service-Verträgen, Plugins und NetKnights nicht immer sonderlich klar. Zudem ist das Testen schwierg, da eine verlinkte Demo deaktiviert wurde und das alternativ angebotene Live-System veraltet und weitgehend undokumentiert ist.

Zusammenfassung

Die fünf vorgestellten Open-Source-2FA-Anwendungen gehören sicherlich zu den bekanntesten Projekten und decken sehr viele Szenarien ab – sei es für den Schutz vorhandener Infrastrukturen oder die Einbindung in frisch entwickelte Projekte. Wenn Sie noch weiter schauen wollen, lohnt sich vielleicht ein Blick auf LinOTP, eine ausgewachsene Authentifizierungslösung, ebenfalls aus deutscher Hand, betreut von arxes-tolina.

(ID:47323565)

Über den Autor

 Mirco Lang

Mirco Lang

Freier Journalist & BSIler