Wie kann verhindert werden, dass Benutzer ihr Passwort in eines der letzten X-Passwörter ändern?

9

Ich habe ein Ubuntu GNOME 15.10 mit GNOME 3.18-System, das ich einrichten möchte, damit die Benutzer, die es verwenden, kein neues Kennwort als eines der vorherigen X-Kennwörter festlegen können. Wie kann dies erreicht werden?

Wenn ich mein Passwort ändere und es meinem letzten zu ähnlich ist, erlaubt mir mein System nicht, es in dieses Passwort zu ändern. Es wäre gut, wenn die Antwort auch zeigen könnte, wie dies erweitert werden kann, so dass das neue Passwort auch nicht sein kann zu ähnlich zu den vorherigen X aufgezeichneten Passwörtern.

Hinweis: Der Verlauf der letzten X-Kennwörter sollte nicht unsicher und unverschlüsselt gespeichert werden. Tatsächlich sollten sie wahrscheinlich genauso oder ähnlich wie das aktuelle Kennwort gespeichert werden (als gesalzener Hash).

Ich habe verwendet X, um die Anzahl der Passwörter darzustellen (dies kann ein beliebiger Wert sein), weil ich in der Lage sein möchte, die Anzahl der gespeicherten Passwörter, die nicht verwendet werden können, einfach zu ändern, und damit andere die Antwort leicht nehmen und so verwenden können, wie sie es sind wünschen, anstatt eine Antwort zu haben, die sich um einen sehr festgelegten Wert für dreht X.

Informationsupdate:

Wie hier angefordert, ist der Inhalt meiner /etc/pam.d/common-passwordDatei (mit Ausnahme der Kommentare oben) :

# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
password        optional        pam_gnome_keyring.so
# end of pam-auth-update config
guntbert
quelle
Beachten Sie, dass a) das Erzwingen der Änderung des Kennworts durch Benutzer und b) das Verhindern von X alten Kennwörtern mit X> 2 die Sicherheit verringern kann ... "Hmm, fügen Sie besser einfach 1 an mein altes Kennwort an ... und schreiben Sie es zur Erinnerung auf die Postit-Notiz ich ... "
Tim
@ Tim: In meinem System sind bereits Mechanismen eingebaut, die verhindern, dass das Passwort dem letzten zu ähnlich ist.
Das ist oft genauso schlimm - das stellt sicher, dass der Benutzer es aufschreibt. Ich bin auch nicht davon überzeugt, dass es Vorteile hat - und sicherlich auch negative.
Tim
@Tim: Außerdem hast du mich nur an etwas erinnert, das ich vergessen habe einzuschließen. Ich habe meine Frage damit aktualisiert (obwohl es nett wäre, wenn die Antwort nicht zeigen kann, wie man diese zusätzliche Sache macht, wäre ich damit einverstanden bekommen, wonach ich ursprünglich gefragt habe).
@Tim: Ich werde andere Richtlinien haben, die sie daran hindern, und werde sie genau beobachten.

Antworten:

17

Sie können PAM so konfigurieren, dass dies für Sie erledigt wird. Öffnen Sie einfach /etc/pam.d/common-passwordund Anfügen use_authtokan die erste passwordZeile (derjenige , der das pam_unix Modul nennt) , so dass es etwas wie folgt aussieht:

password    [success=1 default=ignore]  pam_unix.so obscure sha512 use_authtok

Fügen Sie nun diese Zeile über der zuvor geänderten Zeile hinzu:

password    required    pam_pwhistory.so  remember=X

Wo Xist die Anzahl der vorherigen Passwörter, anhand derer Sie nach einem sich wiederholenden Passwort suchen möchten?

Hier werden die vorherigen XPasswörter in Hash-Form am Ort gespeichert/etc/security/opasswd

Sie müssen die Datei also genau dann erstellen, wenn sie nicht vorhanden ist, und ihr die Berechtigung 600 ( -rw-------) zuweisen :

sudo touch /etc/security/opasswd
sudo chmod 600 /etc/security/opasswd
daltonfury42
quelle
Wenn Sie jedoch versuchen, ein Kennwort festzulegen, das ich zuvor als eines meiner letzten X-Kennwörter im Gnome-Control-Center verwendet habe, bedeutet dies nichts und zwingt mich, das Beenden der Anwendung zu erzwingen scheint nicht sehr gut zu funktionieren ... Was genau macht es am 14.04? Weil ich erwarten würde, dass es mir anzeigt, ob das Passwort nicht geeignet ist, anstatt nur zu hängen, wenn ich es auffordere, es zu ändern.
@ParanoidPanda Sehr interessant. Was bekommen Sie, wenn Sie versuchen, das Passwort mit zu ändern passwd? Das passiert mir. Wenn ich mit ändere, passwderhalte ich die Meldung "Das Passwort wurde bereits verwendet. Wählen Sie ein anderes." und wenn ich versuche, das Passwort über die GUI zu ändern, kann ich das Passwort nicht ändern (Schaltfläche "Ändern" ist ausgegraut) und "Passwort zu schwach" wird geschrieben.
Daltonfury42
Es sollte beachtet werden, dass ich von Ubuntu 14.04 berichte, auf dem Unity ausgeführt wird, nicht Gnome.
Daltonfury42
Ich habe es erneut getestet, diesmal in einer Installation von Ubuntu GNOME 16.04 Beta 2 mit GNOME 3.20, und ich habe festgestellt, dass es genauso funktioniert, wie Sie es mit dem passwdBefehl beschrieben haben, aber nicht in gnome-control-center, da es nur hängt, nachdem es mir erlaubt zu drücken Change. Obwohl dies vielleicht ein Fehler ist, muss ich einen Bericht über ...
2
@ParanoidPanda Das liegt an der miesen Programmierung im Gnome-Control-Center, nicht daran, dass dies nicht funktioniert. Die PAM-Konfiguration ist definitiv der beste Weg, dies zu tun.
Seth