Настройка политики паролей на сервере CentOS 6

Что такое политика паролей?

Политика паролей – это набор правил, которых нужно придерживаться при установке пароля. Политика паролей является важным фактором в области компьютерной безопасности. Поскольку именно пароли пользователей системы чаще всего становятся причиной взломов и других проблем и нарушений, большинство компаний и организаций включают политику паролей в официальный регламент. Все пользователи и пароли должны соответствовать официальной политике паролей компании.

Политика паролей, как правило, определяется следующими факторами:

  • срок действия пароля
  • его длина
  • сложность
  • количество неправильных попыток ввода пароля
  • количество раз повторного использования пароля

1: Настройка срока действия и длины пароля

Контроль срока действия пароля и его длины осуществляется при помощи файла /etc/login.defs. Срок действия пароля (англ. password aging) определяет максимальное количество дней действия, минимальное количество дней между изменениями пароля, а также количество дней, в течение которых предупреждается о необходимости смены пароля. Длина пароля (англ. password length) определяет минимальное количество символов, которое должен содержать пароль. Итак, чтобы настроить срок действия и длину пароля, отредактируйте файл /etc/login.defs и установите значения директив PASS согласно политике паролей.

Примечание: данные параметры не повлияют на уже существующих пользователей, они будут действительны только для новых учетных записей!

  • PASS_MAX_DAYS – максимальное количество дней действия пароля.
  • PASS_MIN_DAYS – минимальное количество дней между изменениями пароля.
  • PASS_MIN_LEN – минимальное количество символов пароля.
  • PASS_WARN_AGE – количество дней, в течение которых пользователь предупреждается об истечении срока действия пароля.

Пример конфигураций файла /etc/login.defs:

#
# Please note that the parameters in this configuration file control the
# behavior of the tools from the shadow-utils component. None of these
# tools uses the PAM mechanism, and the utilities that use PAM (such as the
# passwd command) should therefore be configured elsewhere. Refer to
# /etc/pam.d/system-auth for more information.
#
# *REQUIRED*
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
# 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_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 90
PASS_MIN_DAYS 2
PASS_MIN_LEN 9
PASS_WARN_AGE 14
...

2: Настройка сложности и повторного использования пароля

В файле /etc/pam.d/system-auth можно настроить сложность и повторное использование пароля. Сложность пароля определяется сложностью комбинации символов, использованных в пароле. Параметры повторного использования пароля запрещают определенное количество паролей пользователя, которые были использованы ранее. При установке сложности пароля можно указать количество цифр, символов, заглавных и строчных букв, которое должен содержать пароль. Если стандарты сложности пароля не выполнены, такой пароль не будет принят системой.

  • ucredit=-X – обязательное количество заглавных букв в пароле;
  • lcredit=-X – обязательное количество строчных букв в пароле;
  • dcredit=-X – количество цифр, которое должен содержать пароль;
  • ocredit=-X – количество символов (*,-,!, и т.д.) в пароле.

Примечание: замените Х требуемым числом. Например:

password requisite pam_cracklib.so try_first_pass retry=3 type= ucredit=-2 lcredit=-2 dcredit=-2 ocredit=-2

  • remember=X – параметр повторного использования паролей, где Х – количество ранее использованных паролей, которые нужно запретить. Например:

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5

Пример конфигураций файла /etc/pam.d/system-auth:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type= dcredit=-2 ucredit=-2 lcredit=-2 ocredit=-2
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok remember=5
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so

3: Ограничение количества неправильных попыток ввода пароля

Количество неправильных попыток ввода пароля устанавливается в файле /etc/pam.d/password-auth.

Этот параметр задает количество неправильных попыток ввода пароля, которое может совершить пользователь, прежде чем он будет заблокирован. Позже системный администратор может разблокировать учетную запись. Чтобы настроить количество неудачных попыток входа, добавьте две новые строки в файл /etc/pam.d/password-auth.

Параметр deny=X задает разрешенное количество неудачных попыток, прежде чем пользователь будет заблокирован (замените Х нужным числом).

auth required pam_tally2.so deny=3
account required pam_tally2.so

Пример конфигурации файла etc/pam.d/system-auth:

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_env.so
auth required pam_tally2.so deny=3
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account required pam_tally2.so
account sufficient pam_localuser.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3 type=
password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so

Tags: , , ,

Добавить комментарий