Nextcloud mit PrivacyIDEA zentral absichern

Passwörter verlieren ihren Wert, sobald sie irgendwo im Netz auftauchen. Ein geleaktes Passwort lässt sich nicht zurückrufen, und wer sein Nextcloud-Konto nicht zusätzlich gegen fremde Zugriffe sichert, spielt mit offenen Türen. Zwei-Faktor-Authentifizierung klingt nach der naheliegenden Lösung, aber in der Praxis hakt es oft an der Verwaltung. Genau hier setzt PrivacyIDEA an – eine Open-Source-Software, die sich als zentraler zweiter Faktor hinter Nextcloud schalten lässt. Dieser Artikel zeigt, wie die Kombination funktioniert, wo die Tücken liegen und ob sich der Aufwand wirklich lohnt.

Ein schwaches Schloss und ein zweiter Riegel

Nextcloud ist in vielen Unternehmen zur zentralen Datenablage geworden. Termine, Kontakte, Dateien, manchmal sogar firmeninterne Kommunikation laufen über die Cloud auf dem eigenen Server. Umso gravierender ist, was passiert, wenn ein Benutzerkonto kompromittiert wird. Ein einzelnes Passwort kann auf viele Arten in falsche Hände geraten: durch Phishing, durch Passwort-Wiederverwendung bei einem anderen Dienst, durch einen infizierten Rechner oder schlicht durch unachtsame Speicherung im Browser. Mit dem Konto hat ein Angreifer nicht nur Zugriff auf Dateien, sondern im Zweifel auch auf freigegebene Ordner, Kontakte und verbundene Dienste.

Die naheliegende Gegenmaßnahme ist eine Zwei-Faktor-Authentifizierung. Der Nutzer muss neben dem Passwort einen zweiten Nachweis erbringen, typischerweise einen zeitlich begrenzten Einmalcode aus einer Authenticator-App. Das Prinzip ist bekannt aus dem Online-Banking: Nur wer die TAN besitzt, kann die Überweisung auslösen. In Nextcloud ist eine einfache TOTP-Unterstützung bereits enthalten. Wer sein Smartphone nicht wechselt oder keinen Wert auf zentrale Verwaltung legt, kann damit durchaus leben. Wer aber ein Team von zehn, fünfzig oder mehreren hundert Benutzern betreut, merkt schnell, dass eine individuelle 2FA-Konfiguration für jede Nextcloud-Instanz nicht zu Ende gedacht ist.

Dabei zeigt sich eine typische Problematik: Die eingebauten 2FA-Verfahren sind lokal in der Nextcloud-Datenbank gespeichert. Ein Admin hat keine übergreifende Sicht, kein zentrales Audit, keine Möglichkeit, einem Nutzer aus der Ferne ein neues Token auszustellen – außer er schreibt eine eigene Verwaltung. genau hier kommt PrivacyIDEA ins Bild.

Was ist PrivacyIDEA?

PrivacyIDEA ist ein System zur zentralen Verwaltung von Zwei-Faktor-Token. Es ist Open Source, unter AGPLv3 lizenziert und kann als Server auf dem eigenen Rechenzentrum betrieben werden. Das Besondere daran ist die Offenheit für verschiedenste Token-Arten: zeitbasierte oder ereignisbasierte Einmalpasswörter, WebAuthn/FIDO2, Smartcard und im Prinzip alles, was eine Schnittstelle bereitstellt. Ein Administrator kann also die eine Software dafür nutzen, um per YubiKey den VPN-Zugang abzusichern, per TOTP den Login in eine Webanwendung und per SMS als Fallback für einen anderen Dienst. Es gibt nicht viele Systeme, die das aus einem einzelnen Werkzeug heraus leisten.

Die zentrale Natur dieser Lösung ist der eigentliche Vorteil: Token werden nicht länger an einzelnen Anwendungen verwaltet, sondern in einem Verzeichnis, das sich über Standardverfahren von anderen Systemen abfragen lässt. PrivacyIDEA spricht neben einer REST-API auch RADIUS und PAM. Für Nextcloud ist eine offizielle App erhältlich, die sich als zweiter Faktor einklinkt. Man muss also nicht zwischen verschiedenen Lösungen jonglieren, sondern kann die Token-Verwaltung einmal zentral aufsetzen.

Nicht zuletzt verfügt PrivacyIDEA über ein Rechtemanagement für Benutzer und Administratoren, mit dem sich Policies definieren lassen. So lässt sich zum Beispiel festlegen, ob ein Benutzer sich selbst einen Token ausstellen darf, welche Token-Arten zugelassen sind und ab wann ein zweiter Faktor erzwungen wird. Diese Policies gelten dann nicht nur für Nextcloud, sondern grundsätzlich für alle angebundenen Dienste. Das ist deutlich mehr, als die übliche „Erzwinge 2FA in Nextcloud“-Option.

Im ökosystem der freien Software gibt es mit LinOTP und anderen Projekten zwar Alternativen, aber PrivacyIDEA hat sich in den letzten Jahren einen Namen gemacht, nicht zuletzt durch gut gepflegte Module für viele Anwendungen. Dass Nextcloud als eines der wichtigsten Open-Source-Collaboration-Tools dabei ist, überrascht kaum. Die App ist im Nextcloud App Store verfügbar und wird von den PrivacyIDEA-Machern selbst gepflegt – ein gutes Zeichen für die Kompatibilität.

Nextcloud und Zwei-Faktor: Was die Grundfunktion leistet

Bevor man PrivacyIDEA einführt, sollte man sich ansehen, was die eingebaute 2FA von Nextcloud hergibt. Der Login schützt sich über einen zweiten Faktor, den der Benutzer einmalig in den Einstellungen hinterlegt. Dabei kann es sich um TOTP handeln, also den klassischen 6-stelligen Code aus einer Authenticator-App, oder um WebAuthn, wenn der Browser bzw. das Gerät das unterstützt. Das Arbeitsprinzip ist solide, die Bedienung für den einzelnen Benutzer angenehm. Das Problem liegt in der Verwaltung.

Für eine sehr kleine Installation, etwa ein Team von fünf Leuten, mag das genügen. Wenn aber Mitarbeiter das Gerät wechseln, ihren Token löschen oder das Telefon verlieren, beginnt die Frickelei. Der Administrator muss in der Nextcloud-Datenbank nachsehen, den Token löschen und den betroffenen Benutzer auf einen anderen Weg wiederherstellen. Bei größeren Benutzerzahlen ist das eine Mühle. Und dann ist da noch die Frage der Buchhaltung: Wer hat wann ein Token registriert? Wurde ein Token gesperrt, als ein Mitarbeiter das Unternehmen verlassen hat? In Nextcloud gibt es dafür kein Audit-Log im engeren Sinne, zumindest keines für diese Art der Verwaltung.

Man könnte auf die Idee kommen, die 2FA-Verwaltung über die Benutzer laufen zu lassen: Wer seinen Token verliert, meldet sich eben über den E-Mail-Fallback an. Auch das löst das Problem nur halb. E-Mail-Zwei-Faktor gilt unter Sicherheitsleuten als weniger stark, weil das E-Mail-Konto oft auf demselben Gerät liegt wie die Authenticator-App. Eine zentrale, tenantübergreifende Lösung umgeht diese Probleme, indem sie die Kontrolle beim Administrator bündelt und gleichzeitig dem Benutzer eine Selbstbedienung anbietet, die den Helpdesk entlastet.

Architektur der Integration: So hängen die Systeme zusammen

Die Integration von PrivacyIDEA in Nextcloud ist anders gebaut als ein Single-Sign-On-Login über SAML oder OpenID Connect. Man wird nicht zu einer externen Seite weitergeleitet, sondern bleibt innerhalb der Nextcloud-Oberfläche. Der Ablauf ist ein zusätzlicher Login-Schritt, der technisch im Hintergrund stattfindet.

Der erste Faktor ist weiterhin das Passwort des Benutzers. Nextcloud prüft es wie gewohnt gegen die lokale Datenbank, gegen LDAP oder eine andere Benutzerquelle. Dann erst wird der zweite Faktor verlangt. Die Nextcloud-App spricht mit dem PrivacyIDEA-Server über eine HTTPS-Schnittstelle. Dafür muss die App die Server-Adresse des PrivacyIDEA-Systems kennen und über ein technisches Benutzerkonto verfügen, das die API aufrufen darf. Dieses Konto sollte nur die Berechtigung besitzen, Token zu validieren und neue Token anzulegen, nicht aber, alle Benutzerkonten zu verwalten. Es handelt sich sozusagen um eine Serviceanbindung, nicht um ein wirkliches Benutzerkonto.

Wenn sich ein Benutzer das erste Mal anmeldet, kann er in den Sicherheitseinstellungen von Nextcloud einen neuen Token anlegen. Die App fragt den PrivacyIDEA-Server, ob für diesen Benutzer ein Token erstellt werden darf und bekommt einen QR-Code zurück. Diesen Code scannt der Benutzer mit seiner Authenticator-App, und ab der nächsten Anmeldung wird ein Einmalpasswort aus dieser App verlangt. Entscheidend ist: Der Seed für dieses Einmalpasswort liegt ausschließlich auf dem PrivacyIDEA-Server und in der Authenticator-App des Benutzers. Die Nextcloud-Instanz erhält ihn nicht zu Gesicht und speichert ihn auch nicht in der Datenbank. Das ist ein sicherheitstechnischer Vorteil, weil Seeds nicht in der zu schützenden Anwendung selbst liegen.

Die Kommunikation zwischen Nextcloud und PrivacyIDEA ist also ein reiner HTTP-Aufruf. Das bedeutet, es ist ein weiterer Service in der Infrastruktur, der erreichbar sein muss. Ist der PrivacyIDEA-Server nicht verfügbar, kann auch der zweite Faktor in Nextcloud nicht geprüft werden – die Anmeldung schlägt fehl. Ob die Anwendung dabei im Fehlerfall die Anmeldung verweigert (fail closed) oder eine Logineinschränkung umgeht (fail open), hängt von der Konfiguration ab. In einer Umgebung, die Wert auf Sicherheit legt, sollte fail closed gesetzt sein, damit bei einem Ausfall niemand ohne zweiten Faktor hereinkommt. Diesen Gedanken sollte man sich frühzeitig machen und nicht erst im Störungsfall.

Installation und Konfiguration: Vorgehen in der Praxis

Die Einrichtung der Nextcloud-App ist keine Hexerei, erfordert aber Sorgfalt. Zuerst installiert man die offizielle PrivacyIDEA-App aus dem Nextcloud App Store. Danach muss sie konfiguriert werden. Das passiert entweder über die Verwaltungsoberfläche von Nextcloud oder über die Kommandozeile, zum Beispiel mit dem occ-Kommando. Grundsätzlich werden drei Angaben benötigt: die URL des PrivacyIDEA-Servers, der Benutzername für das technische Konto und das zugehörige Passwort bzw. ein als Passwort hinterlegter API-Key.

Ein häufiger Fehler ist die Zertifikatsprüfung. Wenn der PrivacyIDEA-Server mit einem selbst signierten Zertifikat arbeitet, wird die Nextcloud-App die HTTPS-Verbindung nicht akzeptieren. Manche Administratoren schalten die Zertifikatsprüfung dann einfach ab, was in einem internen Netz verlockend aussieht, aber eine schlechte Praxis darstellt. Besser ist es, das hauseigene Root-Zertifikat auf dem Nextcloud-Server in den Zertifikatsspeicher zu legen. Dann kann die App den PrivacyIDEA-Server über eine verschlüsselte und vertrauenswürdige Verbindung erreichen. Wenn die Verbindung zur API nicht klappt, bemerkt man das nicht sofort, sondern erst im Test. Dann heißt es: Zertifikat prüfen, Namensauflösung prüfen, Firewall-Regeln durchgehen. Die Zeit dafür ist gut investiert.

Nach der Konfiguration ist es ratsam, kein echtes Benutzerkonto, sondern ein separates technisches Konto anzulegen. Dafür gibt es in PrivacyIDEA extra die Möglichkeit, einen Service-Account zu erstellen. Dieser besitzt genau die Rechte, die für die Funktion mit Nextcloud nötig sind. So bleibt die Sicherheitslogik gewahrt: Selbst wenn der API-Zugang von einem Angreifer erbeutet würde, kann dieser damit keine neuen Token für den Helpdesk anlegen oder Policies außer Kraft setzen. Er könnte allenfalls versuchen, Token zu validieren, das nützt ihm aber ohne die zugehörigen Einmalpasswörter nicht weiter.

Ein interessanter Aspekt ist die Benutzerzuordnung. Nextcloud kann Benutzer aus einer eigenen Datenbank, aus LDAP/Active Directory oder über andere Quellen beziehen. PrivacyIDEA muss diese Benutzer ebenfalls kennen, denn ein Token wird schließlich einem Namen zugeordnet. In Unternehmen mit LDAP als zentraler Benutzerverwaltung ist das einfach: Sowohl Nextcloud als auch PrivacyIDEA greifen auf dasselbe Verzeichnis zu. Wenn Nextcloud aber mit lokalen Datenbankbenutzern arbeitet, müssen diese auch in PrivacyIDEA angelegt werden. Ohne LDAP ist das ein zusätzlicher Schritt, der in die Integration eingeplant werden sollte.

Wer will, kann Token auch zentral im Voraus ausrollen. Beispielsweise kann der Administrator Hardware-Token wie YubiKeys oder Smartcards beschaffen, sie in PrivacyIDEA einem bestimmten Benutzer zuordnen und sie dann an die Mitarbeiter aushändigen. Diese benutzen in Nextcloud dann nicht den QR-Code, sondern einmalige OTP-Werte ihres Hardwaretoken-Moduls. In Umgebungen, die kein BYOD zulassen, ist das oft die gewünschte Variante. Die Nextcloud-App unterstützt den Weg, weil sie den zweiten Faktor als generischen OTP-Code entgegennimmt und zur Verifikation an den Server schickt.

Self-Service und Recovery: Der Vorteil für den Helpdesk

Nicht zu unterschätzen ist der Komfortgewinn, den ein Self-Service-Portal mit sich bringt. PrivacyIDEA stellt den Endbenutzern eine eigene Weboberfläche zur Verfügung, in der sie ihre Tokens selbst verwalten können. Ist das Smartphone verloren gegangen, meldet sich der Nutzer über diese Oberfläche an – im Zweifel mit einem anderen, noch validen Gerät – und sperrt oder ersetzt seinen Token. Ohne ein solches Portal bleibt nur der Hilferuf an den Administrator. In modernen Unternehmen kann man sich den Verwaltungsaufwand ersparen, der aus einem Sommerfest und hundert verlorenen Smartphones entsteht.

Die Recovery-Strategie sollte man vor dem Rollout festzurren. Was passiert, wenn jemand seinen Token nicht mehr findet, bevor er ein neues Gerät eingerichtet hat? Ein Ansatz besteht darin, jedem Benutzer einmalig eine Notfall-Codes auszugeben, die auf Papier oder in einem anderen Gerät aufbewahrt werden. Diese Codes können bei PrivacyIDEA als Einmal-Verwendbar als Fallback-Token registriert werden. Nextcloud merkt davon nichts, es bekommt lediglich den OTP-Code und verifiziert ihn über den Server. Wichtig ist, dass solche Recovery-Codes nicht aus der Nextcloud-App selbst erzeugt werden, sondern in der PrivacyIDEA-Verwaltung.

Daneben kennt PrivacyIDEA das Konzept der zusätzlichen Faktoren. Ein Benutzer kann mehr als ein Token besitzen, etwa ein primäres TOTP-Token für das Smartphone und einen Backup-Token, der gesperrt aufbewahrt wird. Das ist wesentlich flexibler als die eingebaute Nextcloud-2FA, die in der Standardkonfiguration nur einen aktiven Register-Eintrag pflegt. Manche Sicherheitsrichtlinien legen ausdrücklich fest, dass ein Ausweg bei Verlust existieren muss. PrivacyIDEA bietet mit der Policy-Konfiguration die Möglichkeit, solche Konzepte zu erzwingen – etwa in dem mehrere Token vom Typ TOTP zugelassen werden. Der Nutzer scannen einfach zwei QR-Codes, einen auf dem primären Gerät, einen auf einem zweiten Gerät oder einem nur im Büro zugänglichen Medium.

Stolperfallen im Alltag

Wenn die Integration läuft, kommt der Ernstfall. Ein oft übersehener Punkt ist die Zeitbildung bei TOTP-Tokens. Authenticator-Apps berechnen den Code aus der aktuellen Zeit, und der Server erwartet einen Wert, der in einem kleinen Zeitfenster liegt. Stimmt die Systemzeit des PrivacyIDEA-Servers oder des Nextcloud-Servers nicht, erscheinen die Codes ständig als falsch. Um das zu vermeiden, muss auf beiden Servern NTP sauber eingerichtet sein. Das ist keine Besonderheit von Nextcloud, sondern ein grundlegendes Problem aller zeitbasierten Einmalpasswörter. Dennoch tauchen Support-Fragen auf, die sich am Ende als Zeitversatz entpuppen.

Ein weiterer Stolperstein ist die Nutzung von WebDAV, CalDAV oder CardDAV. Wer seine Termine und Kontakte über einen mobilen Client synchronisiert, da darf man die Zwei-Faktor-Abfrage nicht unterschätzen. Es gibt kaum Clients auf dem Markt, die eine interaktive 2FA-Abfrage für WebDAV-Verbindungen unterstützen. Deshalb bietet Nextcloud eine App namens „App-Passwörter“ an. Benutzer können sich in der Oberfläche nach erfolgreicher 2FA-Anmeldung ein Anwendungspasswort erzeugen, das sie in den Mobilgeräten eintragen. Dieser Passwort entspricht dann einem normalen Passwort, aber es ist an die Sitzung des Benutzers gebunden und kann einzeln widerrufen werden. Die PrivacyIDEA-Integration stört das nicht, weil die App zur Laufzeit lediglich der angelegten Anwendungspasswörter nicht nach einem zweiten Faktor fragt. Trotzdem sollte man im Rollout unbedingt erklären, wie diese App-Passwörter verwendet werden. Sonst kann sich der Benutzer nach der Einführung von 2FA plötzlich nicht mehr in seiner Mail-App am Kalender anmelden – und das hat nichts mit PrivacyIDEA zu tun.

Auch die Performance spielt eine Rolle. Jede Anmeldung mit zweitem Faktor erzeugt einen Round-Trip zum PrivacyIDEA-Server. Lokal abgebildet mag das wenige Millisekunden dauern, in einer Umgebung mit hoher Latenz oder bei vielen parallelen Anmeldungen könnte es zu Engpässen kommen. Ein Monitoring auf den Authentifizierungsserver ist daher sinnvoll, genauso wie die grundsätzliche Redundanz des Dienstes. Wenn man schon eine zentrale 2FA-Plattform betreibt, sollte sie nicht zur Single Point of Failure werden. PrivacyIDEA selbst kann mehrere Knoten in einen Cluster zusammenfassen. Die Nextcloud-App spricht dann einfach mit der Load-Balancer-Adresse des Clusters.

Politik und Kontrolle: Was Cloud-Admins wirklich brauchen

Wer die eingesetzte Nextcloud-Umgebung nicht nur für die eigene Familie betreibt, sondern für eine ganze Organisation, braucht Werkzeuge, um Sicherheitsvorgaben durchzusetzen. Ein simples „Der Benutzer muss einen Token registrieren, sonst kommt er nicht rein“ reicht da oft nicht aus. In PrivacyIDEA lassen sich Policies unter anderem daran festmachen, welcher Tokentyp verwendet werden darf, wie viele Token ein Benutzer besitzen darf und ob der Token-Angemeldet-Benutzer ihn selbst über das Portal verwalten darf. Diese Policies gelten zwar serverseitig, sie wirken sich aber auch auf Nextcloud aus, da die App dieselbe Plattform benutzt.

Man darf es sich allerdings nicht so vorstellen, dass jede Policy direkt in der Nextcloud-Oberfläche sichtbar würde oder dass die App den Benutzer zu einer bestimmten Aktion zwingt. Wenn ein Benutzer keinen gültigen Token besitzt und der PrivacyIDEA-Server keine Token für ihn hat, wird die Anmeldung in Nextcloud nach Eingabe des Passworts scheitern. Das ist manchmal genau das falsche Verhalten, wenn der Benutzer seinen Token noch nie eingerichtet hat. Einige Versionen der Nextcloud-App zeigen dann kein freundliches Hinweisfenster mit der Aufforderung zur Token-Registrierung, sondern nur eine kryptische Fehlermeldung. Diese Hürde muss man vor dem Rollout testen und die Anwender entsprechend informieren. In einer gut durchdachten Integration wird man ohnehin zuerst Token ausrollen und dann die 2FA-Pflicht aktivieren.

Ein weiterer, oft übersehener Punkt ist die Auditierung. PrivacyIDEA protokolliert jeden Versuch, jede Token-Registrierung und jede Policy-Änderung. Das ist Gold wert, wenn man nachvollziehen muss, warum ein bestimmter Zugriff nicht funktioniert hat. Nextcloud bietet zwar ebenfalls Logs, aber es ist schwer, daraus eine lückenlose Historie der Zwei-Faktor-Vorgänge abzuleiten. Mit PrivacyIDEA hat man eine zweite, unabhängige Datenquelle, die im Streitfall oder bei der Prüfung durch interne Revisionen vorzeigbar ist. Das kann ein Entscheidungskriterium sein.

Wie verhält sich die Lösung im Vergleich zu Alternativen?

Nextcloud bringt die eigenen 2FA-Methoden mit und unterstützt zusätzlich externe TOTP-Anbieter über den App-Store. Es gibt also nicht nur PrivacyIDEA als Option. Eine Alternative wäre die Verwendung von Keycloak oder einem anderen Identitätsanbieter mit SAML/OIDC und aktiviertem OTP. Wenn eine Organisation ohnehin auf einen zentralen Login mit Single-Sign-On setzt, wäre ein Identity Provider womöglich das elegante Konstrukt: Der Benutzer meldet sich an der zentralen Anmeldung an, bekommt dort ein OTP abgefragt und wird danach an Nextcloud übergeben. Diese Möglichkeit ist robust und weit verbreitet. Allerdings ist sie mit einer großeren Umstellung verbunden, weil man den gesamten Authentifizierungsstrom ändert. PrivacyIDEA lässt sich deutlich unaufdringlicher in die bestehende Nextcloud-Anmeldung einhängen. Man ändert weder die Login-URL noch das Session-Management. Das macht die Installation niederschwellig.

Gegenüber den eingebauten Nextcloud-TOTP hat PrivacyIDEA aber vor allem eines voraus: Sie zentralisiert die Token-Speicherung. Wenn man bereits andere Dienste über PrivacyIDEA absichert, ist die Nextcloud-Anbindung ein weiteres Feld auf derselben Leinwand. Insofern ist die Software vor allem für solche Umgebungen attraktiv, die nicht nur Nextcloud, sondern auch das VPN, ein paar Server-Logins oder das Ticketsystem mit Einmalpasswörtern schützen wollen. Wer ausschließlich für eine kleine Nextcloud-Instanz einen zweiten Faktor sucht, wird mit der eingebauten Lösung wahrscheinlich glücklicher, weil er keinen zusätzlichen Server pflegen muss. Diese Abwagung sollte man ehrlich treffen und nicht aus reinem Technikinteresse eine komplexe Lösung aufsetzen.

Die anfängliche Skepsis, ob eine weitere Authentifizierungsinfrastruktur wirklich nötig ist, hat durchaus ihre Berechtigung. Aber spätestens wenn ein Unternehmen an den Punkt komt, an dem es die Einhaltung von Sicherheitsrichtlinien nachweisen muss, führt an einer zentralen Verwaltung kein Weg vorbei. PrivacyIDEA kann dabei helfen, die Balance zwischen Benutzerkomfort und Kontrolle zu halten. Gerade der Self-Service nimmt dem IT-Team Arbeit ab, ohne die Kontrolle zu verwässern.

Sicherheit der Gesamtkette

Ein zusätzlicher Faktor schützt nicht alles. Wer 2FA einführt, sollte sich darüber im Klaren sein, dass damit nur die Anmeldung besser gesichert ist. Die übrige Angriffsfläche bleibt bestehen. Wenn ein Angreifer eine gültige Session eines bereits angemeldeten Benutzers stiehlt, nützt der zweite Faktor bei der ursprünglichen Anmeldung nichts mehr. Deshalb gehört zur Grundhärtung einer Nextcloud-Instanz immer auch eine sorgfältige Session-Verwaltung: kurze Gültigkeitszeiten, aktive Sitzungsverwaltung über den Benutzer und – wenn möglich – die Möglichkeit, alle Sitzungen eines Benutzers aus der Ferne zu beenden. Nextcloud kann das, aber es verhindert nicht, dass ein erbeutetes Session-Cookie vor dem Ablaufen verwendet wird.

Zusätzlich sollte man den Login-Endpunkt gegen Brute-Force-Angriffe absichern. Nextcloud hat dafür eine eingebaute Funktion, die nach mehreren Fehlversuchen eine IP-Adresse temporär sperrt. Reicht das nicht, kann man vorgelagert eine Firewall oder einen Reverse-Proxy mit ModSecurity verwenden. PrivacyIDEA protokolliert solche Fehlversuche ebenfalls und kann sie per Policy unterbinden. Es ist ein gutes Gefühl, wenn beide Systeme unabhängig voneinander auf ein verdächtiges Anmeldeverhalten reagieren.

Ein weiterer Punkt ist die Sicherheit des PrivacyIDEA-Servers selbst. Wenn dieser Server kompromittiert ist, kennt der Angreifer alle Seeds aller Benutzer. Er könnte sich damit in jeder angebundenen Anwendung anmelden, wenn ihm auch das Passwort bekannt ist. Der Server sollte daher gut isoliert betrieben werden, nicht mit allgemeinen Entwicklungs-Tools überladen und nur über Dienstkonten ansprechbar sein. Ein regelmäßiges Backup der privacyidea-Datenbank gehört ebenso dazu wie die Wiederherstellungsprozedur. Ein Verlust des Servers bedeutet schließlich, dass alle Zwei-Faktor-Token verloren sind – im Klartext: Jeder Benutzer müsste ein neues Token registrieren.

Spannend ist die Frage, ob die Seeds nicht besser in einer Hardware-Verschlüsselung liegen sollten. Bei YubiKeys und Smartcards ist das der Fall, weil der Seed des Tokens nicht exportiert werden kann. Das ist ein Grund, warum manche Sicherheitsabteilungen lieber Hardware-Token als Smartphone-Apps einsetzen. PrivacyIDEA unterstützt solche Hardware-Token, und die Nextcloud-App kann sie im selben Workflow verwenden: Der Benutzer gibt den von der YubiKey-Taste erzeugten Einmalcode in das Feld für den zweiten Faktor ein. Für Nextcloud ist das nur eine Zeichenkette; der Server kennt die zugehörige Tokenart. Die App bietet sogar Komfortfunktionen wie das automatische Drücken der Return-Taste, falls der OTP-Wert mit einem festen Präfix übertragen wird.

Einrichtung eines Testsystems: Ein Beispielablauf

Wie so oft in der IT lohnt sich der Blick in die Praxis. Nehmen wir an, ein Unternehmen betreibt einen Nextcloud-Server mit LDAP-Anbindung und möchte nun PrivacyIDEA als zentrale 2FA-Lösung für alle Mitarbeiter einführen. Der Plan ist realistisch: PrivacyIDEA wird auf einem separaten Server installiert, per Docker-Images oder über die Paketquellen der Distribution. Danach wird der LDAP-Verzeichnisdienst als Benutzerspeicher eingebunden. Anschließend wird in der Nextcloud-Administration die PrivacyIDEA-App aktiviert und um die Verbindungseinstellungen ergänzt. In der config.php oder besser über die occ-Konfiguration sind die PrivacyIDEA-Server-URL, der Service-Benutzer und das Passwort einzutragen. Manche verwenden auch eine ganze JSON-Konfiguration für mehrere Server, aber das ist optional und hier nicht entscheidend.

Beim ersten Test mit einem normalen Benutzerkonto zeigt sich, was Sache ist. Nach der Eingabe des LDAP-Passworts erscheint das klassische zweite Formularfeld. Der Benutzer klickt auf „Token registrieren“ (oder auf einen ähnlichen Eintrag in den Sicherheitseinstellungen seiner persönlichen Seite), und die App erzeugt den QR-Code. Dieser Code muss vom Smartphone gescannt werden; danach ist das Token einsatzbereit. Wer als Admin den Test weiter treiben will, ruft die PrivacyIDEA-Verwaltung auf und sieht den entsprechenden Token-Eintrag samt letztem Gebrauch. Man kann nun in den PrivacyIDEA-Einstellungen eine Policy setzen, die die 2FA-Pflicht für einen Zeitraum nach der Registrierung nicht erzwingt. Das gibt den Benutzern Gelegenheit, ohne Druck zu üben. Alternativ kann man die Pflicht sofort aktivieren, falls das Unternehmen wenig Geduld hat.

Der Aufwand für den Administrator ist am Anfang überschaubar. Für die Benutzer ändert sich der Login-Ablauf nur geringfügig: Sie geben Passwort und sechsstelligen Code ein. Das ist eine vertraute Abfrage. Die eigentliche Lernkurve findet auf Seiten des Betriebsteams statt, denn die PrivacyIDEA-Konfiguration bietet so viele Optionen, dass man sich anfangs leicht verheddert. Genau darin liegt die Stärke, aber auch die Gefahr: Ein System, das jede Kleinigkeit regeln kann, verleitet dazu, zu viel zu regeln. In kleineren Installationen sollte man sich daher auf ein Mindestmaß an Policies beschränken und erst in Stufen erweitern.

Migrationsszenarien: Bestehende Token übernehmen?

Wer bereits Nextcloud mit eingebautem TOTP betreibt und zu PrivacyIDEA wechseln möchte, steht vor der Frage, ob die bestehenden Token übernommen werden können. Grundsätzlich sind die Seeds bei TOTP exportierbar, das heißt in einem Hex-Wert darstellbar. Allerdings ist es nicht ohne weiteres möglich, diese Seeds aus der Nextcloud-Datenbank auszulesen. Zudem müsste man einen Importmechanismus bereitstellen, den PrivacyIDEA von Haus aus nicht für einen solchen Nextcloud-Export mitbringt. Der pragmatische Weg ist, alle Benutzer ein neues Token registrieren zu lassen. Das klingt nach mehr Arbeit, als es in der Praxis ist. Die QR-Codes werden schließlich über die Nextcloud-Oberfläche erzeugt, die Benutzer können das selbst machen. Und im Gegensatz zu hektischen Notfall-Umstellungen hat man in einem geplanten Rollout genug Zeit, um die Leitfäden zu kommunizieren.

Anders sieht es aus, wenn bereits ein PrivacyIDEA-Server läuft und ein Team von Nextcloud hinzukommt. Dann sind die Benutzerkonten und Token schon vorhanden. Es genügt, die Nextcloud-App einzurichten und den Benutzern mitzuteilen, welchen OTP-Wert sie den zukünftig bei der Anmeldung eintragen sollen. Die größte Herausforderung ist nicht technisch, sondern organisatorisch: Der Benutzer muss verstehen, dass der QR-Code nicht mehr in der Nextcloud-Oberfläche erscheint, sondern nur noch bei der Ersteinrichtung in PrivacyIDEA – falls er den Vorgang wiederholen muss. Solche Prozessfragen entscheiden darüber, ob die Einführung als Erfolg oder als Ärgernis wahrgenommen wird.

Hintergrundwissen: Faktor-Wahl und Security-Design

Bei der Frage „Zwei-Faktor oder nicht?“ geht es häufig auch um die Wahl des zweiten Faktors. OTP-Codes auf dem Smartphone haben den Vorteil, dass sie ohne zusätzliche Hardware auskommen. Jeder Mitarbeiter besitzt in der Regel ein Smartphone, das er ohnehin nutzt. Der Nachteil ist, dass es sich bei dem Smartphone um ein Gerät handelt, das auch für E-Mail, Browser und viele andere Dinge verwendet wird. Ein Trojaner auf dem Smartphone könnte theoretisch nicht nur den OTP-Code abfangen, sondern auch die Session übernehmen. Daher sind hardware-gebundene WebAuthn/Tokens aus Sicherheitssicht eine stärkere Lösung. PrivacyIDEA unterstützt WebAuthn und FIDO2 in der Oberfläche, die Nextcloud-App aber nicht durchgängig für diese Token-Arten als zweiten Faktor? Hier lohnt sich ein genauer Blick auf die Kompatibilitätsliste des App-Herausgebers. Nicht jede neueste Funktion ist in jeder Version der Nextcloud-App sofort verfügbar. Wer zwingend WebAuthn nutzen möchte, sollte vorab testen, ob die App das in der installierten Nextcloud-Version korrekt abbildet.

Für kleinere Betriebe ist ein TOTP-Token auf dem Smartphone allemal besser als gar kein zweiter Faktor. Und gegenüber einer SMS-basierten Lösung ist TOTP ohne Mobilfunknetz und ohne Zustellung über den Telekommunikationsnetzbetreiber robust. SMS-Zwei-Faktor gilt zu Recht als unsichere Variante, weil SMS-Nachrichten abgefangen oder über SIM-Swapping übernommen werden können. PrivacyIDEA kann zwar über zusätzliche Gateways auch SMS-Versand als Token-Typ abbilden, aber für die Absicherung von Nextcloud sollte man das nicht als primären Faktor einsetzen. Zur Not kann der Admin in den Policies festlegen, dass SMS nur als Backup-Registrierung erlaubt ist, nicht als Standard-Token. Das lässt sich in PrivacyIDEA gut abbilden und hilft dabei, Sicherheitsmindeststandards durchzusetzen.

Betriebsaspekte und Verantwortlichkeit

Die Einführung eines zweiten Authentifizierungsdienstes ist auch ein betriebliches Thema. Es entsteht ein neues System, das patchen, backupen, überwacht und dokumentiert werden will. Das darf man nicht stiefmütterlich behandeln. Ein Ausfall des Authentifizierungsservers kann praktisch alle Anwendungen betreffen, die auf zentrale Token-Prüfung angewiesen sind. Wenn Nextcloud und andere Dienste über PrivacyIDEA laufen, ist dieser Server die kritische Infrastruktur des Unternehmens. Entsprechend sollten Kapazität, Failover und Update-Prozesse geplant sein. Ein einfacher Docker-Container auf einem einzelnen Server ist für eine Handvoll Benutzer völlig ausreichend, aber nicht für ein Unternehmen, das auf die Verfügbarkeit angewiesen ist.

Ein weiterer Aspekt ist die Lizenz. Nextcloud und PrivacyIDEA sind beide als Open-Source-Software verfügbar, aber die Bedingungen unterscheiden sich. Während Nextcloud in der Community-Edition eine für viele Zwecke ausreichende Lizenz bietet, sind einige Zusatzfunktionen in der Enterprise-Version enthalten. PrivacyIDEA bietet ebenfalls Community- und Enterprise-Varianten an. Der Funktionsumfang der Grundlage ist allerdings auch ohne Enterprise-Abo nutzbar. Die Nextcloud-App von PrivacyIDEA ist quelloffen und steht zur freien Verwendung bereit. Kommerzielle Rechte wie Support und Garantieleistungen sollte man bei der Wahl der Ansprechpartner einkalkulieren. Das ist keine Werbung, sondern eine pragmatische Überlegung, die in großen Umgebungen eine Rolle spielt.

Nicht zuletzt stellt sich die Frage nach der Kompetenz im Team. PrivacyIDEA versteht sich als Expertenwerkzeug. Die Bedienung ist nicht extrem kompliziert, aber der Teufel steckt wie so oft im Detail. Wer sich sicher fühlt, kann die Software selbst aufsetzen. Andere ziehen einen Dienstleister heran, der das System konfiguriert und eine Übergabe-Schulung macht. In jedem Fall sollte genug Zeit eingeplant werden, um Fehlkonfigurationen zu vermeiden. Eine falsch gesetzte Policy kann dazu führen, dass sich niemand mehr anmelden kann – und Hilfe gibt es dann nur über Umwege wie das Unterbrechen des 2FA-Workflows in der Nextcloud-Config. Das alles sind keine unlösbaren Probleme, aber sie sind es wert, ernst genommen zu werden.

Einordnung und Fazit

Die Kombination aus Nextcloud und PrivacyIDEA ist nicht das einfachste Setup, aber sie ist eines der durchdachtesten. Wer bereits eine zentrale Token-Verwaltung betreibt oder plant, erweitert die Nextcloud-Instanz um einen zweiten Faktor, der weit mehr bietet als das in Nextcloud integrierte TOTP. Die zentrale Kontrolle über Policies, die unabhängige Speicherung der Tokens und die lückenlose Auditierung sind gewichtige Argumente für den Einsatz. Gleichzeitig sollte man sich bewusst sein, dass PrivacyIDEA ein weiteres System im RZ bedeutet. Das ist kein Selbstläufer, sondern ein Baustein, der gepflegt werden will.

Für eine kleine Nextcloud-Instanz mit zehn oder zwanzig Benutzern ist die eingebaute 2FA-Funktion oft die vernünftigere Wahl. Sie ist schnell aktiviert, erfordert keinen zusätzlichen Server und reicht für den typischen Bedarf aus. Wer aber in einer Organisation arbeitet, die mehrere Dienste über ein gemeinsames Token-Verfahren absichern möchte, findet in PrivacyIDEA eine robuste und flexible Basis. Die Nextcloud-Anbindung ist ausgereift, die App wird aktiv gepflegt, und die Dokumentation zeigt gerade die Stolpersteine der Integration offen an. Das ist mehr, als man von vielen kommerziellen Produkten behaupten kann.

Man darf sich nur nicht täuschen: Eine Zwei-Faktor-Authentifizierung ist kein Allheilsmittel. Wenn der Benutzer sein Passwort und seinen OTP-Code auf dasselbe infizierte Gerät eintippt, kann ein Angreifer beides abgreifen. Trotzdem ist die Hürde deutlich höher als bei einem nur passwortgeschützten Konto. Die Kombination aus Open-Source-Cloud und Open-Source-Authentifizierung ist ein Statement: Wer die Kontrolle über die eigene Infrastruktur behalten möchte, sollte auch bei der Identitätssicherheit nicht auf proprietäre Sonderwege setzen. PrivacyIDEA erfüllt dabei den Anspruch, flexibel, transparent und an bestehende Benutzerstrukturen andockbar zu sein. Und Nextcloud bietet mit der komfortablen Integration die Chance, 2FA nicht als Zwangslage, sondern als echten Schutz zu etablieren.