Наличие централизованного и/или локального механизма обеспечения сложности пароля
В AccentOS поддерживается аутентификация пользователей, базирующаяся на локальных механизмах модуля Keystone OpenStack и централизованных механизмах LDAP, в частности MS AD, FreeIPA, OpenLDAP.
Выбор механизма аутентификации
Аутентификация настраивается на локальный или внешний режим работы в Keystone.
Внешние централизованные механизмы (LDAP) — предпочтительны при работе в распределенных архитектурах и в организациях, где уже развернут LDAP для минимизации издержек на его поддержку
Локальные механизмы (Keystone) — используются для небольших установок или когда по соображениям безопасности необходимо отделить аутентификацию от любых других инструментов
Предупреждение
Абсолютно безопасного метода для сохранения паролей не существует ни в FreeIPA, ни в Keystone, поскольку угрозы проистекают из уязвимостей ОС Linux или Windows и в определенной мере связаны с криптографическими методами, которые являются основным риском при хранении хешей паролей.
Политики паролей в LDAP (на примере FreeIPA)
Безопасность пользователей, опции и ограничения паролей при использовании LDAP базируются на механизмах, реализованных в самом LDAP. Парольные политики распространяются либо на группу пользователей LDAP, либо на всех пользователей (глобальная политика).
Основные параметры политики паролей FreeIPA
Параметр |
Описание |
Пример |
|---|---|---|
Максимальный срок действия ( |
Максимальный срок действия пароля в днях. Значение по умолчанию — 90 дней. Если задано значение 0, срок действия пароля не ограничен. |
|
Минимальный срок действия ( |
Минимальный интервал между двумя операциями смены пароля (в часах). |
|
Размер журнала ( |
Количество предыдущих паролей, которые нельзя повторно использовать. Если задано значение 0, пользователи могут повторно использовать любой из своих предыдущих паролей. |
|
Классы символов ( |
Минимальное количество различных классов символов в пароле. Значение по умолчанию — 0. Классы символов:
Примечание Повтор одного символа три и более раз подряд уменьшает эффективное количество классов на 1. Например:
|
|
Минимальная длина ( |
Минимальная длина пароля. Если заданы другие параметры политики, минимальная длина автоматически устанавливается в 6 символов. |
|
Максимальное количество ошибок ( |
Число неудачных попыток входа до блокировки учётной записи. |
|
Интервал сброса ошибок ( |
Время (в секундах), после которого счётчик неудачных попыток сбрасывается. |
|
Длительность блокировки ( |
Время (в секундах), на которое блокируется учётная запись после превышения лимита ошибок. |
|
Преимущества использования 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.
Повышение прав до root возможно, если произойдет:
получение доступа к учетной записи из группы admins
повышение привилегий при помощи изменения HBAC- и Sudo-правил
эксплуатация какой-либо уязвимости
Данные ситуации должны четко отслеживаться администраторами LDAP, чтобы исключить компрометацию.
Политики паролей в Keystone OpenStack
При использовании Keystone OpenStack можно (и нужно) независимо друг от друга включать дополнительные функции обеспечения безопасности Keystone в соответствии с корпоративной политикой безопасности.
Хеширование паролей
Keystone использует методы хранения хешей, а не паролей в СУБД, использует современные криптографические методы:
bcrypt — используется по умолчанию
pbkdf2_sha512 — поддерживается
scrypt — поддерживается
Важно
Считается, что sha512_crypt недостаточен для безопасного хеширования паролей для хранения в базе данных. Keystone по умолчанию использует bcrypt, но может обрабатывать scrypt и pbkdf2_sha512 с рядом параметров настройки, если это необходимо.
Все доступные функции применяются только к SQL-серверу драйвера Identity.
Функции безопасности Keystone
Операция |
Включить для всех пользователей |
Изменить для конкретных пользователей |
|---|---|---|
Принудить пользователя к смене пароля при первом использовании |
|
|
Настройка срока действия пароля |
|
|
Пороговое значение блокировки учетной записи |
|
|
Запретить пользователю менять свой пароль |
Н/Д |
|
Настройка требований к надежности паролей |
|
Н/Д |
Отключение неактивных пользователей |
|
Н/Д |
Настройка уникальной истории паролей |
|
Н/Д |
Ограничения и рекомендации
Keystone, централизованная система управления идентификацией и доступом для OpenStack, предоставляет базовые функции для аутентификации и авторизации. В нем также, как и во FreeIPA, существуют слабые места и отсутствие поддержки функций во многих областях, включая механизмы контроля доступа и механизмы аудита.