[2] Pwquality – Zasady haseł
14 marca 2022Ustaw reguły haseł za pomocą modułu [pam_pwquality].
[pam_pwquality] jest domyślnie instalowany w RHEL 8/CentOS Stream 8 nawet przy minimalnej instalacji, ale jeśli nie został zainstalowany, uruchom [# dnf install libpwquality], aby go zainstalować.
[1] Ustaw liczbę dni ważności hasła.
Użytkownicy muszą zmienić swoje hasło w ciągu dni. To ustawienie ma wpływ tylko na tworzenie użytkownika, a nie na istniejących użytkowników. Jeśli ustawiono na istniejących użytkowników, uruchom polecenie [chage -M (days) (user)].
[root@vlsr01 ~]# mcedit /etc/login.defs # linia 39: ustaw liczbę dni ważności hasła (tutaj 60) PASS_MAX_DAYS 60
[2] Ustaw minimalną liczbę dni dostępu do hasła.
Użytkownicy muszą użyć swojego hasła co najmniej w te dni po jego zmianie. To ustawienie ma wpływ tylko na tworzonego użytkownika, a nie na już istniejących użytkowników. Jeśli ustawiono na istniejących użytkowników, uruchom polecenie [chage -m (days) (user)].
[root@vlsr01 ~]# mcedit /etc/login.defs # linia 40: ustaw minimalną liczbę dni ważności hasła (tutaj 1) PASS_MIM_DAYS 1
[3] Ustaw liczbę dni dla ostrzeżeń przed wygaśnięciem.
To ustawienie ma wpływ tylko na tworzonego użytkownika, a nie na już istniejących użytkowników. Jeśli ustawione na istniejących użytkowników, uruchom polecenie [chage -W (days) (user)].
[root@vlsr01 ~]# mcedit /etc/login.defs # linia 42: ustaw liczbę dni do ostrzeżenia (tutaj 7) PASS_WARN_AGE 7
[4] Ogranicz używanie hasła, które było używane w przeszłości. Użytkownicy nie mogą ustawić tego samego hasła w ramach kolejnego hasła.
[root@vlsr01 ~]# mcedit /etc/pam.d/system-auth # linia 21: dodaj [remember=X] (tutaj 5 następnych haseł) password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
[5] Ustaw minimalną długość hasła. Użytkownicy nie mogą posiadać hasła krótszego niż ustawione poniżej.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 11: odkomentuj i ustaw minimalną długość hasła (tutaj 8) minlen = 8
[6] Ustaw minimalną liczbę wymaganych klas znaków dla nowego hasła.
(rodzaje = UpperCase / LowerCase / Digits / Others) [root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 34: odkomentuj i ustaw minimalną liczbę klas (tutaj 2) minclass = 2
[7] Ustaw maksymalną liczbę dozwolonych kolejnych takich samych znaków w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 38: odkomentuj i ustaw liczbę znaków (tutaj 2) maxrepeat = 2
[8] Ustaw maksymalną liczbę dozwolonych kolejnych znaków tej samej klasy w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 43: odkomentuj i ustaw parametr (tutaj 4 rodzaje) maxclassrepeat = 4
[9] Wymagaj co najmniej jednej małej litery w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 25: odkomentuj i ustaw parametr (tutaj 1 litera) lcredit = -1
[10] Wymagaj co najmniej jednej wielkiej litery w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 20: odkomentuj i ustaw parametr (tutaj 1 litera) ucredit = -1
[11] Wymagaj co najmniej jednej cyfry w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 15: odkomentuj i ustaw parametr (tutaj 1 cyfra) dcredit = -1
[12] Wymagaj co najmniej jednego innego znaku w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 30: odkomentuj i ustaw parametr (tutaj 1 cyfra) ocredit = -1
[13] Ustaw maksymalną długość monotonicznych sekwencji znaków w nowym haśle. Przykładowo: [1234], [cdefgh].
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # dodaj na końcu (przykład poniżej oznacza, że dozwolone są 2 znaki, ale nie więcej niż 3 znaki) maxsequence = 2
[14] Ustaw liczbę znaków w nowym haśle, które nie mogą występować w starym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 6: odkomentuj i ustaw parametr (tutaj 5 znaków) difok = 5
[15] Sprawdź, czy słowa dłuższe niż 3 znaki z pola GECOS wpisu hasła użytkownika są zawarte w nowym haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # linia 47: odkomentuj i zmień na włączone becoscheck = 1
- [16] Ustaw rozdzieloną spacjami listę słów, które nie mogą być zawarte w haśle.
[root@vlsr01 ~]# mcedit /etc/security/pwquality.conf # dodaj na końcu badwords = złeslowo niedozwolonesłowo zabronionesłowo