Sicherheit

Daten von Kindern und Jugendlichen verdienen besonderen Schutz.

JF-Manager verwaltet Kontaktdaten, Geburtstage und Nachweise, oft von Minderjährigen. Deshalb ist Sicherheit kein Zusatz, sondern steckt in jeder Ebene, von der Anmeldung über die Rechteprüfung bis zum Backup.

Anmeldung

Wer sich anmeldet, wird zuverlässig erkannt, und Passwörter raten lohnt sich nicht.

Serverseitige Sitzungen
Die Oberfläche meldet sich ausschließlich über ein Sitzungscookie an (HttpOnly, Secure, mit CSRF-Schutz). Es gibt keine Tokens im Browser-Speicher, die abgegriffen werden könnten. Im Handbuch
Gedrosselte Anmeldung
Pro Absender sind höchstens zehn Anmeldeversuche in der Minute möglich, pro Konto zwanzig in der Stunde, egal von welcher IP-Adresse. Passwortaktionen sind auf fünf pro Minute begrenzt.
Keine Hinweise für Angreifer
Falsche Anmeldedaten führen immer zur selben Meldung, egal ob das Konto existiert. Für die Eingabe des zweiten Faktors bleiben fünf Minuten und fünf Versuche.
Passwortrichtlinie
Mindestlänge, Abgleich mit häufigen Passwörtern, keine rein numerischen Passwörter und keine Ähnlichkeit zu Name oder E-Mail.
LDAP und OIDC-SSO
Anbindung an bestehende Verzeichnisse. OIDC nutzt PKCE; ein im Verzeichnis deaktiviertes Konto sperrt auch den Zugang zu JF-Manager. Im Handbuch

Zwei-Faktor & Passkeys

Für Konten mit weitreichenden Rechten ist ein zweiter Faktor Pflicht.

Passkeys
Anmeldung per Fingerabdruck, Gesichtserkennung, Geräte-PIN oder Sicherheitsschlüssel (WebAuthn). Die Person bestätigt sich dabei am eigenen Gerät. JF-Manager speichert nur den öffentlichen Schlüssel und einen Signaturzähler. Steigt der Zähler nicht, deutet das auf einen kopierten Schlüssel hin, und die Anmeldung wird abgelehnt. Im Handbuch
Authenticator-App
Jeder Code gilt nur einmal. Das TOTP-Geheimnis liegt verschlüsselt in der Datenbank.
Wiederherstellungscodes
Zehn Einmal-Codes, nur gehasht gespeichert.
Pflicht für Verantwortliche
Wer Benutzer, Rollen, Abteilungen oder Sicherheitseinstellungen verwalten darf, etwa Jugendwart oder Systemadministration, kommt nach dem Login nur zur Einrichtung des zweiten Faktors, bis dieser aktiv ist. Der letzte Faktor lässt sich nicht entfernen.
Zurücksetzen nur auf dem Server
Bei Administrationskonten lässt sich der zweite Faktor nicht über die Weboberfläche zurücksetzen, sondern nur direkt auf dem Server. So kann eine übernommene Sitzung anderen Admins nicht den Schutz entziehen. Im Handbuch

Sitzungen & Bestätigung

Komfortabel im Alltag, streng bei kritischen Aktionen.

Abgestufte Sitzungsdauer
Normale Konten bleiben bis zu 30 Tage ohne Aktivität angemeldet (höchstens 90 Tage). Konten mit Administrationsrechten nur 8 Stunden. Erhält ein Konto während der Sitzung mehr Rechte, gilt spätestens nach fünf Minuten das strenge Profil. Im Handbuch
Erneute Bestätigung (Step-up)
Rechte und Rollen ändern, E-Mail-, LDAP- oder OIDC-Einstellungen anpassen, MFA verwalten oder Mitglieder als Tabelle exportieren: Dafür ist eine höchstens fünf Minuten alte Bestätigung mit Passwort und zweitem Faktor nötig.
Angemeldete Geräte
Im Profil sieht jede Person ihre aktiven Sitzungen und meldet einzelne oder alle anderen Geräte ab. IP-Adressen werden dafür nicht gespeichert.

Rechte & Abteilungen

Jede Person sieht und ändert nur, was ihre Aufgabe erfordert.

Rolle zuweisen mit Wirkungsvorschau der hinzukommenden Rechte
Rechte je Abteilung
Rollen gelten innerhalb einer Abteilung. Das Backend prüft bei jeder Anfrage, ob die Aktion in dieser Abteilung erlaubt ist. Darauf, dass die Oberfläche etwas ausblendet, verlässt es sich nicht.
Sehen ist nicht Ändern
Gemeinsame Stammdaten können abteilungsübergreifend sichtbar sein; Ändern bleibt der zuständigen Abteilung vorbehalten.
16 Rollenvorlagen mit Wirkungsvorschau
Vor dem Speichern zeigt JF-Manager, welche Rechte hinzukommen oder entfallen. Im Handbuch
Vier-Augen-Prinzip
Eigene Qualifikationen, Sonderaufgaben und Änderungsanträge pflegt bzw. prüft immer jemand anderes.
Getrenntes Elternportal
Portalkonten sind eine eigene Kontoart, immer lokal angemeldet und von allen Verwaltungsschnittstellen ausgeschlossen. Ein Test prüft dafür jeden Endpunkt.

Daten & Dateien

Vertrauliches bleibt vertraulich, auch in der Datenbank und bei hochgeladenen Dateien.

Verschlüsselte Geheimnisse
Zugangsdaten für LDAP, OIDC und externe Synchronisation sowie TOTP-Geheimnisse sind mit einem eigenen Schlüssel verschlüsselt. Schlüssel lassen sich rotieren, ohne Daten zu verlieren. Im Handbuch
Private Dateien
Bilder und Anhänge gibt es nur nach Anmeldung und Rechteprüfung. Öffentliche Links auf Uploads oder ein öffentliches Zwischenspeichern gibt es nicht.
Geprüfte Uploads
Höchstens 10 MB je Datei. Bilder werden auf Format und Größe geprüft, Profilbilder ohne Metadaten neu gespeichert. SVG und HTML sind als Upload nicht erlaubt.
Protokollierte Exporte
Jeder Tabellenexport wird protokolliert, auch abgewiesene Versuche, aber ohne die exportierten Inhalte. Formeln aus Eingaben werden in Excel nicht ausgeführt.
Änderungsprotokoll
Übernommene Änderungsanträge und Eigenänderungen werden mit Zeitpunkt, Feld, altem und neuem Wert festgehalten.

Browser & Netzwerk

Moderne Schutzmechanismen gegen Angriffe aus dem Browser.

Nur HTTPS
Ohne Ausnahme: Weiterleitung auf HTTPS und HSTS für ein Jahr. Passkeys funktionieren ohnehin nur über HTTPS. Im Handbuch
Strikte Content-Security-Policy
Der Browser führt nur Skripte vom eigenen Server aus, also keine eingebetteten Skripte, kein eval und nichts von fremden CDNs. Verstöße meldet der Browser an das Backend.
Sicherheitsheader
Schutz vor Einbettung in fremde Seiten (Clickjacking), vor falsch erkannten Dateitypen und vor Weitergabe der Adresse an Dritte.
Geteilter Zähler für Limits
Anmeldelimits liegen in einem gemeinsamen Redis-Cache. Ohne ihn startet der Server nicht, damit sich die Limits nicht über mehrere Prozesse hinweg vervielfachen.

Betrieb & Updates

Sicherheit endet nicht beim Code.

Geprüfte Releases
Installation und Updates laufen über jfctl. Releasepakete bringen Prüfsummen und ein Manifest mit, die vor der Installation geprüft werden. Im Handbuch
Verschlüsselte Backups
Datenbank, Konfiguration und Uploads landen verschlüsselt in einem Restic-Repository. Ein Aufbewahrungsplan regelt, wie lange Sicherungen bleiben, und vor jedem Update wird automatisch gesichert. Im Handbuch
Prüfung vor jedem Start
Vor jedem Start prüft das Backend die Produktionsvorgaben (Djangos Deploy-Check). Bei Fehlern wie einem fehlenden gemeinsamen Cache startet es nicht. Im Handbuch
Kein SaaS: eure Daten bei euch
JF-Manager ist kein Online-Dienst, sondern läuft auf eurem eigenen Server. Alle Daten werden nur dort verarbeitet und fließen nicht an das Projekt zurück. Es gibt keine Telemetrie und kein Tracking.

Offen und ehrlich

Prüfbar statt versprochen.

Der Quellcode ist offen, jede Schutzmaßnahme lässt sich nachlesen und testen. Wir versprechen keine Zertifikate, die wir nicht haben. Sicherheit hängt aber auch vom Betrieb ab. Updates einspielen, Backups prüfen und den Server pflegen gehören dazu.

Eine Sicherheitslücke gefunden?

Bitte meldet sie vertraulich per E-Mail an die im Impressum genannte Adresse und nicht als öffentliches Issue. Wir melden uns und beheben das Problem so schnell wie möglich.