🐧 Как настроить политику использовать сильные пароли в Debian и Ubuntu |

🐧 Как настроить политику использовать сильные пароли в Debian и Ubuntu

Мануал

Это краткое руководство объясняет, как заставить пользователей использовать надёжные пароли с помощью подключаемых модулей аутентификации (PAM) в Debian, Ubuntu и других системах на базе DEB.

Введение

Надежный пароль должен содержать не менее 14 символов, включая хотя бы один специальный символ, один цифровой символ, одну заглавную и одну строчную букву.

Что еще более важно, пароли не должны быть легко предсказуемыми и не должны основываться на словарных словах.

Однако некоторые пользователи, не владеющие техникой, не понимают или не заботятся о безопасности.

Они продолжают использовать легко предсказуемые пароли, такие как pass123, welcome123, Welcome@1 и т.д., которые можно легко взломать за несколько попыток.

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

Это руководство было официально протестировано в Ubuntu 22.04 LTS и ее предыдущих редакциях. Хотя инструкции, опубликованные здесь, одинаковы для Debian и других дистрибутивов на базе Debian и Ubuntu, таких как Linux Mint, Elementary OS, Pop!_OS и т.д.

Настройка политики использования сильных паролей на Debian, Ubuntu, Linux Mint, Pop!_OS

Подключаемые модули аутентификации (PAM) установлены по умолчанию в системах на базе DEB.

Однако вам необходимо установить дополнительный модуль libpam-cracklib.

Для этого выполните следующую команду в Терминале:

$ sudo apt install libpam-cracklib

В системах на базе Debian политики паролей определяются в файле /etc/pam.d/common-password.

Прежде чем вносить в него какие-либо изменения, сделайте резервную копию этого файла.

$ sudo cp /etc/pam.d/common-password /etc/pam.d/common-password.bak

Теперь отредактируйте файл /etc/pam.d/common-password:

$ sudo nano /etc/pam.d/common-password

Найдите следующую строку и отредактируйте или измените ее, как показано ниже.

Если следующей строки не существует, просто добавьте ее.

password required pam_cracklib.so try_first_pass retry=3 minlen=12 lcredit=1 ucredit=1 dcredit=2 ocredit=1 difok=2 reject_username
Давайте разберем эту строку и посмотрим, что будет делать каждая опция.
  • try_first_pass retry=N – Максимальное количество повторных попыток смены пароля. N указывает на число. По умолчанию этот параметр равен 1.
  • minlen=N – Минимально допустимый размер нового пароля (плюс один, если кредиты не отключены, что является значением по умолчанию). В дополнение к количеству символов в новом пароле, за каждый символ (другой, верхний, нижний и цифру) дается кредит (+1 в длину). Значение по умолчанию равно 9.
  • lcredit=N – Определить максимальный кредит за содержание строчных букв в пароле. Значение по умолчанию равно 1.
  • ucredit=N – Определить максимальное количество заглавных букв в пароле. Значение по умолчанию равно 1.
  • dcredit=N – Определить максимальный кредит для содержания цифр в пароле. Значение по умолчанию равно 1.
  • ocredit=N – Определить максимальный кредит для содержания других символов в пароле. Значение по умолчанию равно 1.
  • ifok=N – Определить количество символов, которые должны отличаться от предыдущего пароля.
  • reject_username – Запретить пользователям использовать свое имя в качестве пароля.

Надеюсь, вы получили основное представление о вышеупомянутых параметрах.

Как определено в приведенном выше файле, пользователи теперь должны использовать пароль с показателем сложности пароля, равным 12. Один “кредит” будет даваться за 1 строчную букву, 1 кредит за 1 заглавную букву, 1 кредит за минимум 2 цифры и 1 кредит за 1 другой символ.

Однако вы можете отключить кредиты, присвоив им отрицательные значения, и заставить пользователя использовать комбинацию различных символов минимальной длины.

Посмотрите следующий пример:

password required pam_cracklib.so minlen=8 lcredit=-1 ucredit=-1 dcredit=-2 ocredit=-1 difok=2 reject_username

Как определено выше, пользователи должны использовать пароль сложности 8 символов, включая 1 строчную букву, 1 заглавную букву, 2 цифры и 1 другой символ.

Обратите внимание, что эти ограничения будут применяться только для обычных пользователей, но не для пользователя root.

Пользователь root может использовать любой тип пароля.

Проверьте сложность пароля

После того как вы определили политику паролей, проверьте, работает она или нет.

Давайте назначим простой пароль, который не соответствует политике паролей, и посмотрим, что произойдет.

Чтобы изменить или назначить пароль вошедшему в систему пользователю, выполните команду:

$ passwd

Пример вывода:

Changing password for itsecforu.
Current password: 
New password: 
BAD PASSWORD: it does not contain enough DIFFERENT characters
New password: 
BAD PASSWORD: it is based on a dictionary word
New password: 
Retype new password: 
BAD PASSWORD: is too simple
New password: 
BAD PASSWORD: is too simple
New password: 
BAD PASSWORD: is too simple
passwd: Have exhausted maximum number of retries for service
passwd: password unchanged

Как видно из приведенного выше результата, пользователь не может установить пароль, поскольку заданный пароль не соответствует требованиям.

Теперь попробуйте установить пароль, который соответствует фактическим требованиям политики паролей (т.е. 12 символов, включая как минимум 1 строчный, 1 прописной, 2 цифры, 1 другой символ).

На этом пока все.

Мы успешно применили политики паролей с помощью PAM.

Более подробную информацию можно найти на страницах руководства.

см. также:

 

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