Як застосувати політику складності пароля?


14

Мені потрібно налаштувати сервер Ubuntu, щоб дотримуватися суворої політики паролів компанії, яка визначає наступне:

  • принаймні один верхній регістр
  • принаймні один нижній регістр
  • хоча б одну цифру
  • хоча б один спеціальний персонаж

Я оглянувся, і все, що я знайшов, - це вказівки щодо визначення довжини пароля; але, я ще не можу знайти щось, що стосується конкретизації змісту пароля стосовно вищезазначених пунктів.

Будь-яка допомога буде вдячна.

Відповіді:


19

Складність пароля забезпечується pam_cracklibмодулем.

Для того щоб змінити політику паролів для вашої локальної машини, вам потрібно буде змінити свій /etc/pam.d/common-passwordфайл.

У вікні терміналу ( Ctrl+ Alt+ T) введіть таку команду:

sudo -i gedit /etc/pam.d/common-password

Додайте до файлу наступний рядок (раніше pam_unix.soабо залежно від того, який модуль PAM використовується головним чином для аутентифікації, як це видно з прикладів на сторінці сторінки) та збережіть файл:

password requisite pam_cracklib.so ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

Ця заява реалізує такі вимоги щодо пароля:

  • dcredit == цифра
  • ucredit == верхній регістр
  • lcredit == малі символи
  • ocredit== інший символ (спеціальні символи, у тому числі ! , @ # $ %)

Це повинно відповідати вашим вимогам.

Ви також можете використовувати змінні minlengthта retriesдодатково обмежити вимоги до пароля.

Ось ще один хороший приклад зміни політики пароля таким чином, це розміщення у /etc/pam.d/common-passwordфайлі наступного рядка :

password requisite pam_cracklib.so retry=3 minlen=10 difok=3 ucredit=-1 lcredit=-1 dcredit=-1  ocredit=-1

Цей запис встановить максимум три спроби отримати прийнятний пароль з мінімальною довжиною 10 символів.

Це встановлює вимогу, щоб користувачі мали як мінімум три символи, відмінні від останнього пароля.

Це також виконає вимогу про те, щоб пароль містив принаймні один кожен з цифр, малі та великі символи.

Дивіться також цю статтю про налаштування більш чітких правил політики паролів у Linux .


3
Відмінна відповідь! Додаю, щодо повторних спроб, що важливо бути обережними при розробці політики, щоб запобігти входу користувачів у користувачів, у яких занадто багато останніх невдалих спроб входу. Це може призвести до життєздатності однієї з найпростіших та найпростіших операцій із відмовою в сервісних атаках на акаунт (спробуйте і не входити в X кількість разів, поки обліковий запис не буде "заблоковано", а потім законний користувач не зможе увійти) .
Елія Каган

Фантастична відповідь, дякую :) Хоча одне запитання, здається, що rootкористувач може ігнорувати вимоги до пароля ... Чи можливо це застосувати і для кореневого користувача?
Stephen RC

@Valorin Яку частину вимог до пароля користувач root не дотримується?
Кевін Боуен

@maggotbrain Будь-яка з них, вона видає попередження, але все-таки зберігає її, це був пароль " приманка
Stephen RC

@Valorin Отже, ви ввімкнули обліковий запис під назвою "root" і можете використовувати цей обліковий запис із цим паролем, правда? Які попередження ви отримуєте? На жаль, у мене немає машини з включеним кореневим обліковим записом, щоб перевірити це самостійно. Це звучить як помилка, але потрібно більше інформації.
Кевін Боуен

0

Там вила pam_cracklib від Томаша Мраз: pam_pwquality з трохи кращими варіантами.

Додайте його за допомогою apt install libpam-pwquality або passwd поскаржиться:

Модуль невідомий

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.