Систему Red Hat Enterprise Linux можно настроить для проверки того, что пароли не могут быть легко угаданы.
В Red Hat Enterprise Linux эта проверка выполняется с помощью сменного модуля аутентификации (PAM) /lib/security/pam_cracklib.so.
Он проверяет политику паролей, а именно что пароли имеют минимальную длину, и проверяет, что пароль не встречается в словаре.
Словарь, используемый этим модулем, находится в /usr/lib/ и находится в формате cracklib.
По умолчанию каждый из файлов словаря имеет префикс с именем cracklib_dict.
Давайте посмотрим, как создать словарь для pam_cracklib:
1. Создайте файл со словами, которые необходимо добавить в словарь, используя cracklib-format и cracklib-packer.
Например, создайте файл words.txt с именами пользователей.
# getent passwd | cut -d: -f1 > /root/words.txt
2. Создайте каталог для файла пользовательского словаря.
# mkdir /usr/local/my_dictionary
3. Создайте словарь с именем my_words в каталоге /usr/local/my_dictionary.
# cd /usr/local/my_dictionary # cracklib-format /root/words.txt | cracklib-packer my_words
4. Убедитесь, что файлы были созданы.
# file my_words.\* my_words.hwm: data my_words.pwd: data my_words.pwi: Cracklib password index, little endian (39 words)
Укажите имя каталога /usr/local/my_dictionary для модуля pam_cracklib с помощью dictpath = /usr/local/my_dictionary/my_words при настройке pam.
¯\_(ツ)_/¯
Примечание: Информация для исследования, обучения или проведения аудита. Применение в корыстных целях карается законодательством РФ.