Erzeugung von Dice-Passwörtern

Hallo zusammen,

da manche Schüler Probleme beim Eintippen der initialen Zufallspasswörtern haben (manche Schüler sitzen das erste Mal im Leben vor einer echten Tastatur und wissen nicht, wie man Sonderzeichen und Großbuchstaben eintippt - und jetzt gleich in einem Passwortdialog, bei dem man gar nicht sieht, was man tippt) würde ich gerne Diceware Passwörter verwenden. Bei Diceware werden Wörterbucheinträge aneinander gehängt (siehe: https://diceware.dmuth.org/). Da kommen dann zusammengesetzte Passwörter wie werbegag.vier.stunde oder raupe.grau.kadenz heraus.

Ich habe mal sophomorix dahingehend erweitert und einen Pull-Request erstellt: Ability to generate passwords using diceware by raphael247 · Pull Request #176 · linuxmuster/sophomorix4 · GitHub

Kurz zusammengefasst:

  • In der school.conf die Variable RANDOM_PWD = dice setzen. Das geht in den Abschnitten [userfile.students.csv], [userfile.teachers.csv] sowie [userfile.extrastudents.csv].
  • Die Anzahl der verwendeten Wörter kann dabei mittels der Variable PWD_LENGTH eingestellt werden.
  • Intern wird das Programm diceware verwendet, welches mittels
    pip3 install diceware
    installiert werden muss.
  • Da die Passwörter nicht mehr komplex sind, muss man in Samba die Passwort-Komplexität heruntersetzen. Dies geht auf der Kommandozeile mittels:
    samba-tool domain passwordsettings set --complexity=off

Ich fände es wäre schön, wenn wir das Feature offiziell in Sophomorix einbauen könnten.
Für Kritik und Verbesserungsvorschläge bin ich auch immer offen.

Viele Grüße

Raphael

6 „Gefällt mir“

Hallo zusammen,

Raphaels Vorschlag finde ich super!!! Das will ich haben. Direkt mit PR im Git-Repo so dass eigentlich keine Arbeit entsteht. Wie sorgen wir dafür dass das der Pull request vom Maintainer akzeptiert wird (Freundlicher Stuppser in Richtung @jeffbeck ) :innocent:

Hallo zusammen,

wir haben bei uns ein Python-Skript, das „einfache“ Passwörter aus Anfangsbuchstaben eines Satzes erstellt.

Bisher haben wir uns mit folgendem Konstrukt geholfen:

  • erstellen eines Python-Skripts /usr/local/bin/passwd.py, dass ein Passwort, das aus Anfangsbuchsten eines Satzes sowie diesen Merksatz durch ein Semikolon getrennt ausgibt.
  • erstellen des sophomorix-add-Hook-Verzeichnisses - das scheint nicht automatisch angelegt zu werden (mkdir -p /etc/linuxmuster/sophomorix/default-school/hooks/sophomorix-add.d)
  • erstellen eines Skripts, dass für neue Nutzer (aus dem letzten Sophomorix-Durchlauf) Passwörter erstellt sowie Passwort und Merksatz mit Sophomorix-Befehlen speichert:
#make passwords great again

# read freshly added users by selecting all users with same second column from added user log
users=($(grep $(tail -n1 /var/log/sophomorix/userlog/user-add.log | awk -F '::' '{print $2}') /var/log/sophomorix/userlog/user-add.log | awk -F '::' '{print $5}'))

for user in "${users[@]}"; do
  echo "* create a really, really phantastic password for $user"
  pwdstring=$(/usr/local/bin/passwd.py)
  pwd=$(echo $pwdstring | cut -d ";" -f1)
  hnt=$(echo $pwdstring | cut -d ";" -f2)

  echo "  - set the great password using sophomorix-password"
  sophomorix-passwd --user $user --pass "$pwd" --hide

  echo "  - set the really great password hint to custom2"
  sophomorix-user --user $user --custom2 "$hnt"

Die Benutzer bekommen dadurch hinreichend komplizierte aber gut merkbare Passwörter der Form:
Hh55PidB! („Horst hütet 55 Pferde in der Badewanne!“). Zudem akzeptiert plesk diese Passwörter für unseren E-Mail-Server (da gab es einige Probleme mit Sonderzeichen).

Todsicher ist das allerdings nicht, da die Anzahl der Kombinationen mit ca. 150 Millionen deutlich geringer ist als völlig zufällig gewählte Passwörter. Wir haben aber entschieden, dass das für Erstpasswörter ausreicht. Zudem sind gut zu merkende Passwörter eben auch Passwörter, deren Karten man seltener unter Tastaturen findet :slight_smile:

Das Ganze direkt in sophomorix einzubauen ist natürlich wesentlich netter…

Viele Grüße
Thomas

1 „Gefällt mir“