close Warning: Can't synchronize with repository "keplertools" (/srv/svn/keplertools does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 5 years ago

Closed 5 years ago

#4484 closed Defekt (erledigt)

OTP 2FA-Notfallcodes

Reported by: bau Owned by: Rüdiger Kupper
Priority: bald erledigen Milestone: Schuljahr 2021/22
Component: Software: Ubuntu Severity: beeinträchtigt den Unterricht einiger Lehrer
Keywords: Cc: zief, rue

Description

Test heute ergab:

  • Notfallcodes müssen einer nach dem anderen verwendet werden von oben nach unten
  • Notfallcodes, die mit einer 0 (Null)O beginnen, gehen nicht, das ist offensichtlich ein Bug

Das Script /etc/cron.daily/kepler--OTP ruft nächtlich das Script /usr/local/sbin/kepler--OTP.php auf, in diesem könnte ich nach führenden Nullen suchen und diese random durch andere Zahlen ersetzen.

Im Script wird aufgerufen:

OTP-patch-backup-codes --user=$username --number=10

vielleicht lassen sich dort die führenden Nullen vermeiden?

Change History (4)

in reply to:  description comment:1 by Rüdiger Kupper, 5 years ago

Status: new → accepted

Replying to bau:

Test heute ergab:

  • Notfallcodes müssen einer nach dem anderen verwendet werden von oben nach unten

Ah, das wusste ich auch noch nicht. Ich hab einfach immer von oben nach unten gearbeitet, ohne drüber nachzudenken ;-).

  • Notfallcodes, die mit einer 0 (Null)O beginnen, gehen nicht, das ist offensichtlich ein Bug

Ja, das sieht so aus, als wird die Eingabe irgendwo in eine Integer-Variable geschrieben und damit ist die führende Null weg. Könnte ein typischer Programmierfehler sein.
Im Bugtracker zum PAM-Modul gibt es dazu noch nichts:
​https://github.com/google/google-authenticator-libpam/issues
Könnte aber auch ein Bug in GDM sein.

Das Script /etc/cron.daily/kepler--OTP ruft nächtlich das Script /usr/local/sbin/kepler--OTP.php auf, in diesem könnte ich nach führenden Nullen suchen und diese random durch andere Zahlen ersetzen.

Im Script wird aufgerufen:

OTP-patch-backup-codes --user=$username --number=10

vielleicht lassen sich dort die führenden Nullen vermeiden?

Ja, ich könnte prüfen, ob die erste Zahl eine 0 ist und in dem Fall einfach einen neuen Code generieren.

comment:2 by Rüdiger Kupper, 5 years ago

Cc: rue added

Füge rue hinzu, der hatte auch Probleme mit seinen Notfall-Codes. Sicher das gleiche Problem.

comment:3 by Rüdiger Kupper, 5 years ago

Bugreport:
​https://github.com/google/google-authenticator-libpam/issues/213

Brachte die Antwort, dass das Verhalten im Quelltext erwähnt ist. Sehr praktisch, da schaut sicher jeder Nutzer nach ;-).

comment:4 by Rüdiger Kupper, 5 years ago

Resolution: → erledigt
Status: accepted → closed

Lösung:

  • Skript angepasst:

https://paedml.kg-fds.de/trac/changeset?reponame=keplertools&new=1445%40scripts%2Ftrunk%2FOTP-patch-backup-codes&old=1393%40scripts%2Ftrunk%2FOTP-patch-backup-codes

  • alle Backup-Codes aller Lehrer, die mit 0 anfingen, gelöscht.
  • mit Skript auf 10 Codes aufgefüllt.

In Zukunft sollten alle Backup-Codes funktionieren.

Note: See TracTickets for help on using tickets.