Наличие ограничения срока действия пароля в днях (централизованный и локальный механизм)
В AccentOS поддерживается аутентификация пользователей, базирующаяся на локальных механизмах модуля Keystone OpenStack и централизованных механизмах LDAP, в частности MS AD, FreeIPA, OpenLDAP.
Выбор механизма аутентификации
Аутентификация настраивается на локальный или внешний режим работы в Keystone.
Внешние централизованные механизмы (LDAP) — предпочтительны при работе в распределенных архитектурах и в организациях, где уже развернут LDAP для минимизации издержек на его поддержку
Локальные механизмы (Keystone) — используются для небольших установок или когда по соображениям безопасности необходимо отделить аутентификацию от любых других инструментов
Предупреждение
Абсолютно безопасного метода для сохранения паролей не существует ни в FreeIPA, ни в Keystone, поскольку угрозы проистекают из уязвимостей ОС Linux или Windows и в определенной мере связаны с криптографическими методами, которые являются основным риском при хранении хешей паролей.
Ограничение срока действия пароля в LDAP (на примере FreeIPA)
Безопасность пользователей, опции и ограничения паролей при использовании LDAP базируются на механизмах, реализованных в самом LDAP. Парольные политики распространяются либо на группу пользователей LDAP, либо на всех пользователей (глобальная политика).
Основные параметры политики паролей FreeIPA
Параметр |
Описание |
Пример |
|---|---|---|
Максимальный срок действия ( |
Максимальный срок действия пароля в днях. Значение по умолчанию — 90 дней. Если задано значение 0, срок действия пароля не ограничен. |
|
Минимальный срок действия ( |
Минимальный интервал между двумя операциями смены пароля (в часах). |
|
Размер журнала ( |
Количество предыдущих паролей, которые нельзя повторно использовать. |
|
Классы символов ( |
Минимальное количество различных классов символов в пароле. |
|
Минимальная длина ( |
Минимальная длина пароля. |
|
Максимальное количество ошибок ( |
Число неудачных попыток входа до блокировки учётной записи. |
|
Интервал сброса ошибок ( |
Время (в секундах), после которого счётчик неудачных попыток сбрасывается. |
|
Длительность блокировки ( |
Время (в секундах), на которое блокируется учётная запись после превышения лимита ошибок. |
|
Преимущества использования LDAP с Kerberos
Преимуществом использования LDAP на основе FreeIPA и MS AD является протокол Kerberos, который реализует функции безопасности пользователей и функции безопасности при хранении, модификации, распространении, администрировании паролей пользователей.
Примечание
Современные реализации FreeIPA используют усиленные пароли на базе SPAKE и FAST
Kerberos поддерживает работу с несколькими доменами
Поддерживаются Kerberos tickets, которые позволяют проводить аутентификацию пользователей непосредственно на требуемых системах и ресурсах
Хранение паролей в FreeIPA
В FreeIPA не хранятся пароли пользователей, а только их хеши:
ipaNTHash — NT-хеш пароля пользователя для интеграции с LDAP
userPassword — основной атрибут, в котором хранится хеш пароля пользователя, используемый для LDAP-аутентификации
Предупреждение
Если администратор:
имеет root-права на сервере FreeIPA
владеет паролем от учетной записи Directory Manager
имеет возможность читать хеши паролей учетных записей в каталоге LDAP
у него существует возможность с помощью brute force получить информацию о паролях, если будет получен MasterKey и krbPrincipalKey.
Ограничение срока действия пароля в Keystone OpenStack
При использовании Keystone OpenStack можно (и нужно) независимо друг от друга включать дополнительные функции обеспечения безопасности Keystone в соответствии с корпоративной политикой безопасности.
Хеширование паролей
Keystone использует методы хранения хешей, а не паролей в СУБД, использует современные криптографические методы:
bcrypt — используется по умолчанию
pbkdf2_sha512 — поддерживается
scrypt — поддерживается
Важно
Считается, что sha512_crypt недостаточен для безопасного хеширования паролей для хранения в базе данных. Keystone по умолчанию использует bcrypt.
Функции безопасности Keystone (акцент на срок действия)
Операция |
Включить для всех пользователей |
Изменить для конкретных пользователей |
|---|---|---|
Настройка срока действия пароля |
Устанавливает количество дней, по истечении которых срок действия пароля истекает. |
|
Принудить пользователя к смене пароля при первом использовании |
|
|
Пороговое значение блокировки учетной записи |
|
|
Запретить пользователю менять свой пароль |
Н/Д |
|
Настройка требований к надежности паролей |
|
Н/Д |
Отключение неактивных пользователей |
|
Н/Д |
Настройка уникальной истории паролей |
|
Н/Д |
Рекомендации по настройке срока действия паролей
Для централизованного механизма (LDAP/FreeIPA)
# Установка срока действия пароля 180 дней
ipa pwpolicy-mod --maxlife=180
# Установка минимального интервала между сменами (24 часа)
ipa pwpolicy-mod --minlife=24