Для каждого пользователя я создал уникальную группу по умолчанию, а также использовал группы Linux для усиления защиты. Позже, группа «Users» («Пользователи») будет доступна для входа по ssh. Однако, необходимо установить проверку надежности пароля для всех пользователей.nnИтак, как же создать политику проверки паролей и использовать ее в серверных операционных системах CentOS или RHEL 5.x.?nnВы можете использовать унифицированную схему идентификации PAM (Pluggable Authentication Modules) для настройки простой проверки надежности пароля и политики смены паролей для всех пользователей. Необходимые настройки для аутентификации в системе хранятся в папке /etc/pam.d/system-authn
Рассмотрим модули проверки надежности по порядку:
- pam_cracklib – это самый простой модуль проверки надежности пароля. Он поддерживает парольные фразы и может генерировать случайные пароли.
- pam_passwdqc – это PAM модуль, проверяющий надежность пароля в момент его смены.
- pam_chauthtok() – эта сервисная функция, которая просит пользователя ввести новый пароль и проверяет его на соответствие минимальным стандартам. Если введенный пароль не удовлетворяет требованиям, функция возвращает ошибку PAM_AUTHTOK_ERR.
Установка проверки степени надежности пароля
По умолчанию, модуль pam_cracklib обеспечивает проверку надежности паролей. Он отвергает пароль при обнаружении хотя бы одного из следующих условий:n
- Palindrome – Является ли новый пароль палиндромом старого?
- Case Change Only (изменение регистра старого пароля) – Является ли новый пароль копией старого, только с измененным регистром символов?
- Similar (Похожесть) – Похож ли новый пароль на старый?
- Simple (Простой) – Является ли новый пароль слишком коротким?
- Rotated (Зеркальный/Перевернутый) – Является ли новый пароль зеркальной копией старого?
- Already used – Использовался ли этот пароль в прошлом? Все ранее использованные пароли находятся в папке /etc/security/opasswd.
Давайте посмотрим, как защитить пароль от атаки по словарю, используя модуль pam_cracklib.nnВнимание! При запуске эти примеры могут нанести вред вашему компьютеру. Изменяя конфигурационные файлы PAM будьте предельно внимательны и осторожны. Убедитесь, что сначала вы протестировали все параметры в песочнице (окружение sandbox). n
Использование pam_passwdqc – PAM модуля проверки надежности пароля
Отредактируйте файлn
/etc/pam.d/system-auth:n# cp /etc/pam.d/system-auth /root/backup/system-authn# vi /etc/pam.d/system-auth
Найдите строку:n
password requisite pam_cracklib.so try_first_pass retry=3и
и замените ее следующей строкой: n
password requisite pam_passwdqc.so min=disabled,disabled,12,8,7 retry=3
Где:n
- min=N0,N1,N2,N3,N4 — min=disabled,disabled,12,8,7 — это политика проверки пароля. Каждое поле (N0,N1..N4) используется для различных целей. Ключевое слово disabled может быть использовано для отклонения паролей данного рода, вне зависимости от их длины. Каждое последующее число не должно быть больше предыдущего.
0 используется для паролей, состоящих из символов входящих в один символьный класс. Символьные классы – это цифры, строчные буквы, заглавные буквы и другие символы.n
- N1 используется для паролей состоящих из символов, входящих в два символьных класса, которые не отвечают требованиям, предъявляемым к парольным фразам.
- N2 используется для парольных фраз. Парольная фраза должна состоять из законченных слов (см. опцию парольная фраза ниже)
- N3 и N4 используются для паролей, состоящих из символов, входящих в три и четыре символьных класса соответственно.
- При расчете количества символьных классов, заглавные буквы, используемые в качестве первого символа пароля, и цифры , используемые в качестве последнего, — не учитываются.
- Для того чтобы пароль был достаточно длинным, он должен содержать достаточное количество символов из разных символьных классов и иметь минимальную длину, с которой он будет сравниваться.
- retry=3 — Число, обозначающее сколько раз система будет запрашивать пароль, если пользователь вводит недостаточно сильный пароль с первого и второго раза.
См. файл помощи /usr/share/doc/pam_passwdqc-1.0.2/README и страницу документации по pam_passwdqc для более детального изучения параметров конфигурации. n
Как блокировать аккауты пользователей:
Вам необходимо использовать модуль pam tally2, блокирующий аккаунты пользователей после нескольких неудачных попыток ввода пароля.