Поиск по сайту:

Как установить политику паролей в Linux

В этом руководстве описывается, как установить политики паролей, такие как длина пароля, сложность пароля, пароль срок действия. и т. д. в системах на базе DEB, таких как Debian, Ubuntu и Linux Mint, а также в системах на основе RPM, таких как Fedora, RHEL и CentOS.

Введение

Несмотря на то, что Linux изначально безопасен, существует еще много шансов на нарушение безопасности. Один из них — слабые пароли.

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

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

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

Рекомендации по использованию паролей и лучшие практики

Убедитесь, что пароль достаточно длинный

В большинстве сред рекомендуемая длина пароля составляет 8 символов.

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

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

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

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

Избегайте легко угадываемых паролей

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

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

Возможно, вы добавили некоторые свои личные и большую часть информации об образовании и профессиональной деятельности в социальные (например, Facebook) и профессиональные сети (например, LinkedIn). Злоумышленник может попытаться угадать пароль по этим данным. Следовательно, вам не следует включать вышеупомянутые данные в свои пароли.

Избегайте слишком сложных паролей

Некоторые администраторы Linux налагают слишком большие ограничения на выбор пароля пользователями. Хотя это лучше всего для безопасности, это также может быть контрпродуктивно.

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

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

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

Избегайте сокращения срока действия пароля

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

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

Использовать многофакторную аутентификацию

По возможности старайтесь использовать методы 2FA или MFA. Это одна из лучших практик обеспечения безопасности, которой каждый должен следовать для защиты своих систем.

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

Что ж, давайте продолжим и узнаем, как установить политику паролей Linux.

Установите политику паролей в Linux

Как я уже сказал, мы собираемся реализовать следующие 3 политики паролей:

  1. Длина пароля,
  2. Сложность пароля,
  3. Срок действия пароля.

Сначала мы увидим, как установить длину пароля в системах на базе DEB.

Установка длины пароля в Debian, Ubuntu и его производных

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

Обычно файлы конфигурации, связанные с паролем и аутентификацией, хранятся в каталоге /etc/pam.d/ в системах на базе 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 [success=2 default=ignore] pam_unix.so obscure sha512

И добавьте дополнительное слово: minlen=8 в конце. Здесь я установил минимальную длину пароля как 8.

password [success=2 default=ignore] pam_unix.so obscure sha512 minlen=8

Установите длину пароля в системах на базе DEB

Сохраните и закройте файл. Теперь пользователи не могут использовать пароль длиной менее 8 символов.

Установка длины пароля в системах на базе RPM

В системах RHEL, CentOS 7.x выполните следующую команду от имени пользователя root, чтобы установить длину пароля.

authconfig --passminlen=8 --update

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

grep "^minlen" /etc/security/pwquality.conf

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

minlen = 8

В системах RHEL, CentOS 6.x отредактируйте файл /etc/pam.d/system-auth:

nano /etc/pam.d/system-auth

Найдите следующую строку и добавьте в ее конец следующее:

password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8 

Установите длину пароля в системах на базе RPM.

Согласно приведенным выше настройкам минимальная длина пароля составляет 8 символов.

Установка сложности пароля в системах на базе DEB

Этот параметр определяет, сколько классов (прописных, строчных и других символов) должно быть в пароле.

Сначала установите библиотеку проверки качества паролей с помощью команды:

sudo apt install libpam-pwquality

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

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

Чтобы включить в пароль хотя бы одну прописную букву, добавьте слово 'ucredit=-1' в конце следующей строки.

password        requisite                       pam_pwquality.so retry=3 ucredit=-1

Установка сложности пароля в системах на базе DEB

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

password        requisite                       pam_pwquality.so retry=3 dcredit=-1

Введите в пароль как минимум другие буквы, как показано ниже.

password        requisite                       pam_pwquality.so retry=3 ocredit=-1

Как вы видите в приведенных выше примерах, мы установили в пароле как минимум (минимум) один верхний и нижний регистр, а также специальный символ. Вы можете установить любое максимально допустимое количество прописных, строчных и других букв в своем пароле.

Вы также можете установить минимальное/максимальное количество разрешенных классов в пароле.

В следующем примере показано минимальное количество требуемых классов символов для нового пароля:

password        requisite                       pam_pwquality.so retry=3 minclass=2

Установка сложности пароля в системах на базе RPM

В RHEL 7.x/CentOS 7.x:

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

authconfig --enablereqlower --update

Чтобы просмотреть настройки, запустите:

grep "^lcredit" /etc/security/pwquality.conf

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

lcredit = -1

Аналогичным образом установите хотя бы одну заглавную букву в пароле с помощью команды:

authconfig --enablerequpper --update

Чтобы просмотреть настройки:

grep "^ucredit" /etc/security/pwquality.conf

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

ucredit = -1

Чтобы установить хотя бы одну цифру в пароле, выполните:

authconfig --enablereqdigit --update

Чтобы просмотреть настройку, запустите:

grep "^dcredit" /etc/security/pwquality.conf

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

dcredit = -1

Чтобы установить хотя бы еще один символ в пароле, выполните:

authconfig --enablereqother --update

Чтобы просмотреть настройку, запустите:

grep "^ocredit" /etc/security/pwquality.conf

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

ocredit = -1

В системах RHEL 6.x/CentOS 6.x отредактируйте файл /etc/pam.d/system-auth от имени пользователя root:

nano /etc/pam.d/system-auth

Найдите следующую строку и добавьте в ее конец следующее:

password requisite pam_cracklib.so try_first_pass retry=3 type= minlen=8 dcredit=-1 ucredit=-1 lcredit=-1 ocredit=-1

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

Установите срок действия пароля в системах на базе DEB

Мы собираемся установить следующие политики.

  1. Максимальное количество дней, в течение которых можно использовать пароль.
  2. Минимальное количество дней, допустимое между сменой пароля.
  3. Количество дней, в течение которых выдается предупреждение до истечения срока действия пароля.

Чтобы установить эту политику, отредактируйте:

sudo nano /etc/login.defs

Установите значения в соответствии с вашими требованиями.

PASS_MAX_DAYS 100
PASS_MIN_DAYS 0
PASS_WARN_AGE 7

Установите срок действия пароля в системах на базе DEB

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

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

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

sudo chage -M <days> <username>

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

sudo chage -m <days> <username>

Чтобы установить предупреждение до истечения срока действия пароля, запустите:

sudo chage -W <days> <username>

Чтобы отобразить пароль для существующих пользователей, запустите:

sudo chage -l sk

Здесь sk — мое имя пользователя.

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

Last password change : Feb 24, 2017
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

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

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

sudo chage -E 24/06/2018 -m 5 -M 90 -I 10 -W 10 sk

Приведенная выше команда установит срок действия пароля пользователя 'sk' 24/06/2018. Кроме того, минимальное количество дней между сменой пароля установлено на уровне 5 дней, а максимальное количество дней между сменой пароля установлено на уровне 90 дней. Учетная запись пользователя будет автоматически заблокирована через 10 дней, а за 10 дней до истечения срока действия пароля будет отображаться предупреждающее сообщение.

Установите срок действия пароля в системах на базе RPM

Это то же самое, что и системы на базе DEB.

Запретить ранее использованные пароли в системах на базе DEB

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

Для этого отредактируйте файл /etc/pam.d/common-password:

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

Найдите следующую строку и добавьте в конец слово 'remember=5':

password        [success=2 default=ignore]      pam_unix.so obscure use_authtok try_first_pass sha512 remember=5

Вышеуказанная политика не позволит пользователям использовать последние 5 использованных паролей.

Запретить ранее использованные пароли в системах на базе RPM

Это одинаково как для RHEL 6.x, так и для RHEL 7.x, а также для таких систем-клонов, как CentOS, Scientific Linux.

Отредактируйте файл /etc/pam.d/system-auth как пользователь root.

vi /etc/pam.d/system-auth

Найдите следующую строку и добавьте в конец remember=5.

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

Рекомендуется прочитать:

  • 4 простых способа создать надежный пароль в Linux
  • Как проверить сложность пароля в Linux
  • Как заставить пользователей использовать надежные пароли в Debian, Ubuntu
  • Titan – менеджер паролей командной строки для Linux
  • Buttercup — бесплатный, безопасный и кроссплатформенный менеджер паролей
  • KeeWeb – кроссплатформенный менеджер паролей с открытым исходным кодом

Теперь вы знаете, что такое политики паролей в Linux и как устанавливать различные политики паролей в системах на базе DEB и RPM.

Статьи по данной тематике