Zum Inhalt

2FA — Zwei-Faktor-Authentifizierung

Vesana nutzt E-Mail-basiertes 2FA: nach Login-Passwort kommt ein 8-stelliger Code per Mail an die hinterlegte Adresse.

Aktivieren

/profile → 2FA aktivieren:

  1. „2FA aktivieren" klicken
  2. Test-Code per Mail wird gesendet
  3. Code eingeben → 2FA aktiv

Bei aktivem 2FA: jeder Login fragt nach Passwort + Code. Code ist 10 Minuten gültig.

Codes

  • 8-stellig (statt früher 6)
  • SHA256-Hash in DB, Plaintext nie gespeichert
  • Single-Use — wer den Code einmal nutzt, kann ihn nicht zweite Mal verwenden

Lockout

Bei 5 Fehlversuchen → 30-Minuten-Lockout (HTTP 429 mit Retry-After-Header).

Felder in users: - two_fa_email_code_hash - two_fa_attempts - two_fa_lockout_until

(Migration 013)

Nach 30 Minuten ist der Lockout vorbei, Zähler bei 0.

Recovery

Recovery-Codes

Beim Aktivieren werden 10 Recovery-Codes generiert. Einmalig sichtbar, sofort herunterladen oder ausdrucken. Bei Verlust des E-Mail-Zugangs reichen 1 Recovery-Code zum Login.

Jeder Recovery-Code ist Single-Use. Wenn alle aufgebraucht: in /profile neue generieren (alte werden ungültig).

Admin-Override

Wenn ein User komplett ausgesperrt ist (kein E-Mail-Zugang, keine Recovery-Codes):

/admin/users → User → 2FA zurücksetzen

Nur Super-Admin oder Custom-Rolle mit user.reset_2fa. Audit-Eintrag wird geschrieben.

SSO-Alternative

Aktuell ist E-Mail-2FA der einzige Faktor neben Passwort. SSO-Features (OIDC, SAML, LDAP) wurden in v0.16.x entfernt — wenn du SSO brauchst, nutze einen Reverse-Proxy mit eigener Auth-Vorschaltung (siehe TLS / Reverse-Proxy).

Empfehlung

  • Super-Admin: 2FA Pflicht
  • Tenant-Admin: 2FA Pflicht
  • Operator: 2FA empfohlen
  • Viewer: 2FA optional

Pflicht-2FA pro Rolle aktivierbar in /admin/roles → Rolle → 2FA Pflicht = true.

Mobile-App + 2FA

Nach Eingabe von Passwort fordert die App den 2FA-Code an. Code kommt per Mail (gleicher Mechanismus wie Web).

Auf der App ist der 2FA-Schritt visuell aufgeräumt — größere Eingabefelder, Auto-Submit nach 8 Zeichen.

Anschluss