[2] Pwquality – Zasady haseł

14 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Ustaw 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
  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