Jak uniemożliwić użytkownikom zmianę hasła na jedno z ostatnich X haseł?

9

Mam system Ubuntu GNOME 15.10 z systemem GNOME 3.18, który chciałbym skonfigurować, aby użytkownicy korzystający z niego nie mogli ustawić nowego hasła jako jednego z poprzednich haseł X, w jaki sposób można to osiągnąć?

Gdy zmieniam hasło, jeśli jest zbyt podobne do mojego ostatniego, mój system nie pozwala mi go zmienić na to hasło, dobrze byłoby, gdyby odpowiedź mogła również pokazać, jak je rozszerzyć, aby nowe hasło również nie mogło być zbyt podobny do poprzednich X zarejestrowanych haseł.

Uwaga: Historia ostatnich X haseł nie powinna być przechowywana w niezabezpieczony, niezaszyfrowany sposób, w rzeczywistości powinny one być przechowywane w taki sam lub podobny sposób, w jaki przechowywane jest bieżące hasło (jako hash solony).

Kiedyś Xreprezentowałem liczbę haseł (może to być dowolna wartość), ponieważ chcę mieć możliwość łatwej zmiany ilości przechowywanych haseł, których nie można użyć, a także, aby inni mogli łatwo przyjąć odpowiedź i użyć jej, ponieważ życzyć, a nie mieć odpowiedź, która obraca się wokół bardzo ustalonej wartości dla X.

Aktualizacja informacji:

Zgodnie z żądaniem tutaj znajduje się zawartość mojego /etc/pam.d/common-passwordpliku (z wyłączeniem komentarzy u góry) :

# 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
źródło
Zauważ, że a) zmuszanie użytkowników do zmiany hasła oraz b) zapobieganie X starym hasłom, gdzie X jest> 2, może zmniejszyć bezpieczeństwo ... ”Hmm lepiej po prostu dodaj 1 do mojego starego hasła ... i napisz je na notatce pocztowej, aby przypomnieć ja ... ”
Tim
@Tim: W moim systemie są już wbudowane mechanizmy, które zapobiegają zbyt podobnemu hasłu do ostatniego.
Często jest to tak samo złe - to gwarantuje, że użytkownik to zapisze. Nie jestem również przekonany, że zmiana ma jakieś zalety - i na pewno ma wady.
Tim
@Tim: Przypomniałeś mi też o czymś, o czym zapomniałem dołączyć, zaktualizowałem to pytanie (choć pamiętaj, że chociaż byłoby to miłe, jeśli odpowiedź nie może pokazać, jak to zrobić, to nie mam nic przeciwko otrzymywanie tego, o co pierwotnie prosiłem).
@Tim: Będę miał inne zasady, które zapobiegną temu, i będę je ściśle monitorował.

Odpowiedzi:

17

Możesz skonfigurować PAM, aby robił to za Ciebie. Wystarczy otworzyć /etc/pam.d/common-passwordi dołączyć use_authtokdo pierwszego passwordwiersza (tego, który wywołuje moduł pam_unix), aby wyglądał mniej więcej tak:

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

Teraz dodaj tę linię powyżej poprzednio zmodyfikowanej linii:

password    required    pam_pwhistory.so  remember=X

gdzie Xjest liczba poprzednich haseł, dla których chcesz sprawdzić powtarzające się hasło.

W tym miejscu poprzednie Xhasła będą przechowywane w formie skrótowej w miejscu/etc/security/opasswd

Musisz więc utworzyć plik wtedy i tylko wtedy , gdy on nie istnieje i przypisać mu uprawnienia 600 ( -rw-------):

sudo touch /etc/security/opasswd
sudo chmod 600 /etc/security/opasswd
daltonfury42
źródło
Chociaż robienie tego, co mówisz, wydaje się oznaczać, że jeśli spróbuję ustawić hasło, którego użyłem wcześniej jako jedno z moich ostatnich haseł X w centrum kontroli gnome, to po prostu nic nie robi i zmusza mnie do wymuszenia wyjścia z aplikacji, ale nie wydaje się, że działa bardzo dobrze ... Co dokładnie robi w dniu 14.04? Ponieważ spodziewałbym się, że wskaże mi, czy hasło nie jest odpowiednie, zamiast po prostu się zawiesić, gdy poprosię o zmianę.
@ParanoidPanda Bardzo interesujące. Co otrzymujesz, gdy spróbujesz zmienić hasło za pomocą passwd? Tak mi się przydarza. Kiedy zmieniam za pomocą passwd, otrzymuję „Hasło zostało już użyte. Wybierz inne”. a kiedy próbuję zmienić hasło z GUI, nie pozwala mi to zmienić (przycisk Zmień jest wyszarzony) i napisane jest „Hasło za słabe”.
daltonfury42
Należy zauważyć, że raportuję z Ubuntu 14.04 z systemem Unity, a nie Gnome.
daltonfury42
Przetestowałem to jeszcze raz, tym razem w instalacji Ubuntu GNOME 16.04 Beta 2 z GNOME 3.20 i stwierdziłem, że działa tak samo, jak opisano za pomocą passwdpolecenia, ale nie w tym gnome-control-center, że po prostu zawiesza się po tym, jak pozwala mi naciskać Change. Chociaż być może jest to błąd, który muszę zgłosić w dniu ...
2
@ParanoidPanda Może to wynikać z kiepskiego programowania w centrum kontroli gnome, a nie dlatego, że to nie działa. Konfiguracja PAM jest zdecydowanie najlepszym sposobem na to.
Seth