Политика паролей - это набор правил и требований, которые определяют условия для создания и использования паролей в системе. Эти правила могут включать минимальную длину пароля, требования к наличию различных типов символов (цифры, буквы верхнего и нижнего регистра, специальные символы), частоту изменения паролей и другие параметры, способствующие повышению безопасности паролей.
Конфигурационный файл pwquality.conf предоставляет механизм для настройки и изменения этих правил. В нем определены параметры, которые влияют на сложность паролей, которые могут быть установлены или использованы в системе. Настройки pwquality.conf могут задавать значения, которые соответствуют политике паролей организации или безопасности.
Внимание! Если система загружена в режиме полного сохранения, то внесенные изменения в систему будут сохранены. Если режим загрузки другой, то рекомендуется воспользоваться "Сохранением изменений".
Расположение:
/etc/security/pwquality.conf
Значения по умолчанию в pwquality.conf:
Параметр | Описание |
---|---|
difok = 1 | Количество символов в новом пароле, которые не должны присутствовать в старом пароле |
minlen = 8 | Минимально допустимый размер нового пароля (плюс один, если кредиты не отключены, что является значением по умолчанию). Не может быть установлено на значение меньше 6 |
dcredit = 0 | Максимальный кредит за наличие цифр в новом пароле. Если меньше 0, это минимальное количество цифр в новом пароле |
ucredit = 0 | Максимальный кредит за наличие прописных букв в новом пароле. Если меньше 0, это минимальное количество прописных букв в новом пароле |
lcredit = 0 | Максимальный кредит за наличие строчных букв в новом пароле. Если меньше 0, это минимальное количество строчных букв в новом пароле |
ocredit = 0 | Максимальный кредит за наличие других символов в новом пароле. Если меньше 0, это минимальное количество других символов в новом пароле |
minclass = 0 | Минимальное количество требуемых классов символов для нового пароля (цифры, прописные буквы, строчные буквы, другие символы) |
maxrepeat = 0 | Максимальное количество разрешенных повторяющихся символов в новом пароле. Проверка отключается, если значение равно 0 |
maxclassrepeat = 0 | Максимальное количество разрешенных повторяющихся символов из одного класса в новом пароле. Проверка отключается, если значение равно 0 |
gecoscheck = 0 | Проверять ли слова из записи GECOS пользователя в пароле. Проверка включена, если значение не равно 0 |
dictcheck = 1 | Проверять ли слова из словаря cracklib в пароле. Проверка включена, если значение не равно 0 |
usercheck = 1 | Проверять ли наличие имени пользователя в пароле. Проверка включена, если значение не равно 0 |
usersubstr = 0 | Длина подстрок из имени пользователя, которую нужно проверить в пароле. Проверка включена, если значение больше 0 и usercheck включен |
enforcing = 1 | Принудительная проверка параметров качества паролей PAM-модулем и возможно другими приложениями. Новый пароль отклоняется, если проверка не проходит, и значение не равно 0 |
dictpath = | Путь к словарям cracklib. По умолчанию используется стандартный словарь cracklib |
retry = 3 | Максимальное количество раз, которое будет предложено пользователю ввести пароль, прежде чем будет возвращена ошибка |
enforce_for_root | Заставлять ли проверки pwquality применяться к паролю root пользователя |
local_users_only | Если опция присутствует и включена (enabled), то проверка качества паролей будет пропущена для пользователей, которых нет в файле /etc/passwd |
Общее количество "кредитов" в пароле определяет его сложность и его соответствие требованиям в файле pwquality.conf.
Кредиты в контексте параметров ucredit, lcredit, dcredit и ocredit определяют, сколько "бонусных баллов" можно получить за каждый определенный тип символа, используемый в пароле.
Если значение параметра положительное, то за каждый символ соответствующего типа добавляется к общей длине пароля определенное количество "кредитов на символы". Например, если все параметры ucredit, lcredit, dcredit и ocredit установлены в 1, и требуемая длина пароля составляет 6 символов, то вам понадобится всего 6 символов, чтобы удовлетворить требование по длине. Каждый символ в верхнем регистре, нижнем регистре, цифры или иной символ будет приносить один "кредит".
Это позволяет смягчить требования к длине пароля, если он содержит разнообразные типы символов. Например, пароль из шести разных символов в верхнем регистре, нижнем регистре, цифрах и специальных символах удовлетворит требованиям к длине и будет иметь "6 кредитов на символы".
Требования предъявляемые к паролю:
Изменения в файле конфигурации:
# Configuration for systemwide password quality limits
# Number of characters in the new password that must not be present in the
# old password.
difok = 5
# Minimum acceptable size for the new password.
minlen = 12
# The minimum number of required classes of characters for the new password.
minclass = 3
# The maximum number of allowed consecutive same characters in the new password.
maxrepeat = 0
# The maximum number of allowed consecutive characters of the same class in the new password.
maxclassrepeat = 0
# Whether to check for the words from the cracklib dictionary.
dictcheck = 1
# Whether to check if it contains the user name in some form.
usercheck = 1
# Whether the check is enforced by the PAM module and possibly other applications.
enforcing = 1
# Prompt user at most N times before returning with error.
retry = 3
# Enforces pwquality checks on the root user password.
enforce_for_root
После введенных изменений следует сохранить конфигурационный файл. Последующие изменения пароля будут включать проверку введеного пароля на соответствие вышеприведенным требованиям. Таким образом изменить пароль "ublinux" на "ublinux123" не получится:
passwd
Ввод пароля:
Текущий пароль: ublinux
Новый пароль: ublinux123
Внимание! При вводе пароля в терминале - пароль не виден. Это сделано из соображений безопасности.