Hallo zusammen,
ich nutze OPNsense schon seit einigen Jahren und schätze die integrierte 2FA sehr. Allerdings empfinde ich das Anfügen des OTP-Tokens an das Passwortfeld in der Praxis als etwas umständlich.
Ich habe mir daher Gedanken über ein zusätzliches, eigenes Eingabefeld für den 2FA-Code auf der Login-Seite gemacht.
Damit das Ganze Hand und Fuß hat, habe ich dafür eine Sicherheits- und Risikoanalyse (TARA) durchgeführt. Der Vorteil einer solchen systematischen Überprüfung ist, dass dabei nicht nur das neue UI-Feld betrachtet wird, sondern auch direkte Sicherheitsgewinne für die gesamte Log-in-Logik abfallen:
* Schutz vor Timing-Angriffen: Die Antwortzeiten verraten nicht mehr, ob ein Benutzer existiert oder ob 2FA aktiv ist.
* DDoS-Schutz fürs WebUI: Blockaden (Rate Limiting) greifen, bevor rechenintensive Passwort-Prüfungen das System belasten.
* Keine Token-Wiederverwendung: Bereits genutzte OTP-Codes werden sofort für die weitere Verwendung gesperrt.
* Saubere Log-Einträge & Absicherung: Besserer Schutz gegen Log-Fälschungen und fehlerhafte Fehleingaben.
Im Anhang findet ihr die TARA-Analyse sowie einen beispielhaften PHP-Code-Prototypen.
Wie seht ihr das? Wäre ein separates Feld inkl. dieser Backend-Anpassungen aus eurer Sicht ein Mehrwert oder eher unnötiger Aufwand für die Entwicklung?
Ich freue mich auf euer Feedback!
Viele Grüße
jd
https://github.com/opnsense/core/issues/8239
https://github.com/opnsense/plugins/issues/5592