Jak wymuszać bezpieczne hasło w linuksie ?
pam_cracklib ma za zadanie wymusić według wcześniej zdefiniowanych reguł mocniejsze hasła dla użytkowników.
Instalacja cracklib w ubuntu:
sudo aptitude install libpam-cracklib
nano /etc/pam.d/common-password
zastąp poniższe linie:
password requisite pam_cracklib.so retry=3 minlen=8 difok=3 password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
na:
password required pam_cracklib.so retry=3 minlen=8 difok=3 lcredit=0 ucredit=1 dcredit=1 ocredit=2 password [success=2 default=ignore] pam_unix.so obscure use_authtok try_first_pass sha512
Objaśnienie zastosowanych polityk:
minlen=8 minimalna długość hasła
difok=3 ile znakow moze byc takich samych jak w poprzednim haśle
lcredit=0 ilośc małych znaków (lower character)
ucredit=1 ilośc dużych znaków (upper character)
dcredit=1 ilośc cyfr (digital)
ocredit=2 ilośc innych znaków (other)
Nastepnie w pliku /etc/login.defs ustawiamy liczbę dni kiedy uzytkownik zostanie poproszony o zmiane hasła.
# # Password aging controls: # # PASS_MAX_DAYS Maximum number of days a password may be used. # PASS_MIN_DAYS Minimum number of days allowed between password changes. # PASS_WARN_AGE Number of days warning given before a password expires. # PASS_MAX_DAYS 1 PASS_MIN_DAYS 0 PASS_WARN_AGE 1
Wszyscy uzytkownicy dodani przed tą zmianą będą mieli stare ustawiania co można podejżec w pliku /etc/shadow
test2:$1$njs1zxEO$ts5ebXwu6.wFspExcyWjs.:14400:0:99999:7::: test:$6$4DrzXCnZ$LK8qw7GpggHj3jbSRcU7ypFEyUutxIoxyasV.:15216:0:1
Objaśnienie /etc/shadow
1 2 3 4 5 6 7 8 test:$6$4DrzXCnZ$LK8qw7GpggHj3jbSRcU7ypFEyUutxIoxyasV.:15216:0:1:1:5:6:
- Nazwa użytkownika
- Hasło
- Ilośc dni po 1970-01-01 gdy hasło zostało zmienione
- Minimalna liczba dni, wymagana między zmianami hasła tj. kiedy uzytkownik może zmienic hasło.
- Maxymalna liczba dni po których hasło wygasa.
- Ilosc dni przed uplywem waznosci hasla kiedy uzytkownik zostanie powiadomiony ze haslo wygasnie.
- Liczba dni po wygasnieciu hasła kiedy konto zostanie zablokowane.
- Ilośc dni po 1970-01-01 gdy konto zostanie zabloko
Info:
cracklib nie za bardzo działa na koncie root.
żródło: http://www.deer-run.com/~hal/sysadmin/pam_cracklib.html