Zum Hauptinhalt springen

🔐 Benutzerkonto & Sicherheit

Passwort, Zwei-Faktor-Authentifizierung, Benachrichtigungen und Schutz vor unbefugtem Zugriff auf einen Blick.

🔑 Ersteinrichtung statt Standardpasswort​

Screenshot Ersteinrichtung

Eine neue Installation hat keinen Benutzer und kein allgemein bekanntes Standardpasswort. Beim ersten Aufruf zeigt Uni-Verein die Seite "Ersteinrichtung", auf der der erste Administrator angelegt wird.
1: Der Einrichtungs-Token steht am Ende der Ausgabe von docker-compose-ini.yml und in der .env (SETUP_TOKEN). Er schützt die Ersteinrichtung: Wer einen frisch gestarteten Server vor dir erreicht, kann ihn ohne den Token nicht übernehmen. Ohne Token ist die Einrichtung gesperrt.
2: Benutzername (höchstens 50 Zeichen) und E-Mail-Adresse des Administrators. Die Adresse wird für Benachrichtigungen wie den Hinweis bei einem neuen Gerät gebraucht.
3: Das Passwort muss 10 bis 50 Zeichen lang sein und zweimal identisch eingegeben werden. Danach bist du direkt angemeldet.
Sobald ein Benutzer existiert, auch ein gelöschter, ist die Seite weg und der Token nutzlos. Wie es danach weitergeht, steht im Quick Start.
ℹ️ Bestehende Installationen behalten ihre Benutzer. Seit Version 1.10.1 werden sie nicht mehr zu einem Passwortwechsel gezwungen, wer noch ein Standardpasswort nutzt, ändert es im Abschnitt "Eigenes Passwort ändern" selbst.


✏️ Eigenes Passwort ändern​

Screenshot Passwort ändern

Klick auf den eigenen Namen links unten ("Profileinstellungen") → Stift-Symbol in der Zeile des eigenen Benutzers. Admins finden das Bearbeiten-Formular auch in der Nutzerverwaltung.
1: Wird hier ein neues Passwort eingetragen, ist zusätzlich das aktuelle Passwort nötig. Leer lassen, um das Passwort zu behalten.
2: Das aktuelle Passwort wird nur abgefragt, wenn man sein eigenes Passwort ändert. Falsche Eingaben zählen zur Login-Sperre. Admins können das Passwort anderer Benutzer weiterhin zurücksetzen, ohne es zu kennen.
Name, E-Mail-Adresse und Passwort des eigenen Kontos können alle Rollen ändern. Admins können sich nicht selbst löschen und ihre eigene Rolle nicht ändern.


📲 Zwei-Faktor-Authentifizierung (2FA)​

Zusätzlich zum Passwort kann jeder Benutzer sein Konto mit einem Code aus einer Authenticator-App (z. B. Google Authenticator, Aegis oder Bitwarden) absichern. Das ist für alle Rollen möglich und besonders für Admins und Finanzverwalter empfohlen.
In der Demo-Version steht die Zwei-Faktor-Authentifizierung nicht zur Verfügung.

Einrichten:

Screenshot 2FA nicht aktiv

Profileinstellungen → Reiter "Sicherheit"
1: Mit "Aktivieren" startet die Einrichtung.
2: Der Status zeigt, ob die Zwei-Faktor-Authentifizierung aktiv ist.
Zur Sicherheit fragt Uni-Verein zuerst noch einmal nach dem aktuellen Passwort ("Passwort bestätigen"), damit niemand mit einer fremden, noch offenen Sitzung die 2FA eines Kontos einrichten kann.

Screenshot 2FA einrichten

1: Den QR-Code mit der Authenticator-App scannen.
2: Alternativ lässt sich der Schlüssel in der App manuell eintragen.
3: Den 6-stelligen Code aus der App eingeben und mit "Bestätigen und aktivieren" abschließen. Ein falscher Code wird abgelehnt.

Screenshot Wiederherstellungscodes

1: Nach dem Aktivieren erscheinen 10 Wiederherstellungscodes. Sie ersetzen die App, falls das Gerät verloren geht oder defekt ist, und funktionieren jeweils nur einmal. Mit "Kopieren" lassen sie sich in die Zwischenablage übernehmen. Sie werden nur dieses eine Mal angezeigt, bewahre sie sicher auf (z. B. im Passwort-Manager).
2: Erst "Ich habe sie gespeichert" schließt den Dialog.

Anmelden mit 2FA:

Screenshot Code beim Login

Nach Benutzername und Passwort folgt die Abfrage des Codes. Vorher gibt es keine Sitzung.
1: Den 6-stelligen Code aus der App eingeben, Leerzeichen dazwischen stören nicht. Ein Code kann nur einmal verwendet werden, ein bereits genutzter Code wird auch auf einem anderen Gerät abgelehnt. "Zurück" führt zum Passwortformular.
2: Statt des Codes lässt sich ein Wiederherstellungscode eingeben, auch in Kleinbuchstaben und ohne Bindestriche. Jeder Wiederherstellungscode funktioniert nur einmal.
Falsche Codes werden wie falsche Passwörter gezählt: Nach mehreren Fehlversuchen sind Codes aus der App pro Adresse und pro Konto gesperrt. Ein Wiederherstellungscode funktioniert auch während einer solchen Sperre, darauf weist die Anmeldung hin. Mehr zur Sperre unter Schutz vor Passwort-Raten.

Deaktivieren:
Im selben Reiter ersetzt "Deaktivieren" den Aktivieren-Button. Zur Bestätigung werden das Passwort und ein aktueller Code oder ein Wiederherstellungscode benötigt. Wer die 2FA später erneut aktiviert, erhält neue Wiederherstellungscodes.

2FA eines Benutzers zurücksetzen (nur Admins):

Screenshot 2FA zurücksetzen

Einstellungen → Nutzerverwaltung
1: Bei jedem Benutzer mit aktiver 2FA gibt es ein Symbol "Zwei-Faktor-Authentifizierung zurücksetzen". Nach einer Bestätigung kann sich der Benutzer wieder nur mit dem Passwort anmelden und die 2FA bei Bedarf neu einrichten. Das ist für Benutzer gedacht, die Gerät und Wiederherstellungscodes verloren haben. Bei dem eigenen Konto gibt es das Symbol nicht.
❗️Für den einzigen Admin gibt es keinen Weg zurück, wenn er Gerät und Wiederherstellungscodes verliert. Bewahre die Wiederherstellungscodes deshalb sorgfältig auf oder lege einen zweiten Admin an.

Technik:
Das Geheimnis der 2FA wird verschlüsselt gespeichert. Der Name, der in der Authenticator-App angezeigt wird, lässt sich über die optionale Einstellung TwoFactor__Issuer der Installation festlegen.


🔒 Sitzungen und Anmeldung​

Das Anmelde-Token wird nicht mehr im localStorage des Browsers, sondern in einem httpOnly-Cookie (uv_auth) gehalten. Dadurch können eingeschleuste Skripte es nicht mehr auslesen. Anfragen, die Daten ändern, tragen zusätzlich einen CSRF-Schutz-Header.
Beim Abmelden, beim Ändern des Passworts und beim Ändern der 2FA werden die Sitzungen auf allen anderen Geräten beendet, dort ist eine neue Anmeldung nötig.
❗️Nach dem Update auf Version 1.10.0 müssen sich alle Benutzer einmal neu anmelden.


📧 Hinweis bei Anmeldung auf neuem Gerät​

Screenshot Mail bei Anmeldung auf neuem Gerät

Meldet sich jemand auf einem Gerät an, mit dem das Konto noch nie benutzt wurde, schickt Uni-Verein eine E-Mail an die Adresse des Benutzers. So fällt auf, wenn ein Fremder das Passwort kennt.
1: Die Mail nennt Browser und Betriebssystem, die IP-Adresse und den Zeitpunkt der Anmeldung. Sie ist auf Deutsch und Englisch verfasst.
2: Wer das nicht war, ändert sofort sein Passwort (Profileinstellungen → Sicherheit). Dabei werden alle laufenden Anmeldungen beendet, siehe Sitzungen und Anmeldung.
Mit aktiver 2FA geht die Mail schon nach dem richtigen Passwort raus, noch bevor der Code eingegeben wurde. Sie weist dann darauf hin, dass der Login noch nicht abgeschlossen ist, denn gerade dann ist ein Hinweis wertvoll: Das Passwort ist offenbar bekannt, nur der zweite Faktor hat jemanden aufgehalten.

Wann wird eine Mail verschickt?
  • Ein Gerät wird am Cookie uv_device erkannt, das der Browser lange behält. Gespeichert wird nur ein Hash davon. Löscht jemand die Cookies oder nutzt einen anderen Browser, gilt das als neues Gerät.
  • Für das allererste Gerät eines Benutzers wird nichts verschickt, sonst gäbe es bei jedem neuen Konto eine Mail.
  • Benutzer ohne E-Mail-Adresse bekommen keine Mail, ebenso gibt es nichts, solange unter E-Mail konfigurieren keine Mail-Einstellungen hinterlegt sind. Trage deshalb bei jedem Konto eine Adresse ein.
  • Pro Benutzer wird höchstens alle 15 Minuten eine solche Mail verschickt.

Datenschutz:
IP-Adresse und Browserkennung stehen nur in der Mail. Sie werden weder gespeichert noch protokolliert, und es findet keine Standortabfrage statt.


🔔 Benachrichtigungen einstellen​

Screenshot Benachrichtigungseinstellungen

Profileinstellungen → Benachrichtigungen
Jede eingeloggte Person entscheidet hier selbst, über welche Ereignisse sie per E-Mail informiert wird. Die Schalter wirken sofort und werden automatisch gespeichert. Voraussetzung für den Versand ist, dass unter E-Mail konfigurieren die Mail-Einstellungen eingerichtet sind.
1: Neuer Beleg: nur für Finanzverwalter sichtbar, standardmäßig aktiv. Siehe Belegverwaltung.
2: Neue Selbstregistrierung: für alle Rollen sichtbar, standardmäßig aus. Siehe Selbstregistrierung.
3: Kalender-Mails (Einladungen, Änderungen an abonnierten Terminen, Erinnerungen): für alle Rollen sichtbar, standardmäßig aktiv. Siehe Kalender.


🚫 Schutz vor Passwort-Raten​

Um automatisiertes Raten von Passwörtern zu verhindern, sperrt Uni-Verein die Anmeldung nach mehreren Fehlversuchen vorübergehend.

  • Nach drei falschen Passwörtern muss man 30 Sekunden warten, jeder weitere Fehlversuch verdoppelt die Wartezeit bis maximal 15 Minuten. Nach 15 Minuten ohne Fehlversuch wird der Zähler zurückgesetzt. Im Login erscheint die verbleibende Wartezeit.
  • Die Sperre gilt pro Benutzername und Adresse des Besuchers. Ein Angreifer kann dadurch bekannte Konten wie Admin nicht mehr dauerhaft für alle sperren. Von einem anderen Gerät oder Netz aus bleibt die Anmeldung möglich. Auch unbekannte Benutzernamen werden gesperrt, damit sich nicht erkennen lässt, welche Konten existieren. Bei IPv6 zählt das ganze /64-Netz als eine Adresse.
  • Die Sperren liegen im Arbeitsspeicher und verschwinden bei einem Neustart des Backends.
  • Wer Uni-Verein hinter einem eigenen Reverse Proxy betreibt, muss diesen bekannt machen, sonst teilen sich alle Besucher eine Sperre, siehe Get Started.

Auch Benutzer, die gelöscht oder deren Rolle geändert wurde, verlieren sofort ihren Zugriff: Die Anmeldung wird bei jeder Anfrage gegen den aktuellen Benutzer geprüft, statt bis zum Ablauf von 8 Stunden gültig zu bleiben.


📜 Nachvollziehbarkeit​

Änderungen an Benutzern werden im Audit Log protokolliert, ohne Passwörter zu speichern.