Наличие ограничения минимальной длины пароля (централизованный и локальный механизм)¶
В AccentOS поддерживается аутентификация пользователей, базирующаяся на локальных механизмах модуля Keystone OpenStack и централизованных механизмах LDAP, в частности MS AD, FreeIPA, OpenLDAP.
Аутентификация настраивается на локальный или внешний режим работы в Keystone. Внешние централизованные механизмы предпочтительны при работе в распределенных архитектурах и в организациях, где уже развернут LDAP для минимизации издержек на его поддержку. Локальные механизмы используются для небольших установок или когда по соображениям безопасности необходимо отделить аутентификацию от любых других инструментов.
Предупреждение
Абсолютно безопасного метода для сохранения паролей не существует ни в FreeIPA, ни в Keystone, поскольку угрозы проистекают из уязвимостей ОС Linux или Windows и в определенной мере связаны с криптографическими методами, которые являются основным риском при хранении хешей паролей.
Ограничение минимальной длины пароля в LDAP (на примере FreeIPA)¶
Безопасность пользователей, опции и ограничения паролей при использовании LDAP базируются на механизмах, реализованных в самом LDAP. Парольные политики распространяются либо на группу пользователей LDAP, либо на всех пользователей (глобальная политика).
Основные параметры политики паролей FreeIPA¶
Примечание
Параметр --minlength определяет минимально допустимую длину пароля. Рекомендуемое значение — не менее 8 символов. При задании других параметров политики минимальная длина автоматически устанавливается в 6 символов, если не указано иное.
Преимуществом использования LDAP на основе FreeIPA и MS AD является протокол Kerberos, который реализует функции безопасности пользователей и функции безопасности при хранении, модификации, распространении, администрировании паролей пользователей.
В FreeIPA не хранятся пароли пользователей, а только их хеши:
- ipaNTHash — NT-хеш пароля пользователя для интеграции с LDAP
- userPassword — основной атрибут, в котором хранится хеш пароля пользователя, используемый для LDAP-аутентификации
Ограничение минимальной длины пароля в Keystone OpenStack¶
При использовании Keystone OpenStack можно (и нужно) независимо друг от друга включать дополнительные функции обеспечения безопасности Keystone в соответствии с корпоративной политикой безопасности.
Keystone использует методы хранения хешей, а не паролей в СУБД, использует современные криптографические методы:
- bcrypt — используется по умолчанию
- pbkdf2_sha512 — поддерживается
- scrypt — поддерживается
Важно
Считается, что sha512_crypt недостаточен для безопасного хеширования паролей для хранения в базе данных. Keystone по умолчанию использует bcrypt.
В Keystone нет прямого параметра для минимальной длины пароля. Однако требования к сложности паролей могут быть заданы через регулярные выражения.
Пример задания требований к минимальной длине пароля через regex¶
Для установки минимальной длины пароля в 8 символов можно использовать следующее регулярное выражение в конфигурации Keystone:
[security_compliance]
password_regex = ^.{8,}$
password_regex_description = Пароль должен содержать не менее 8 символов
Для более сложных требований (минимум 8 символов, хотя бы одна заглавная, одна строчная, одна цифра):
[security_compliance]
password_regex = ^(?=.*[a-z])(?=.*[A-Z])(?=.*\d).{8,}$
password_regex_description = Пароль должен содержать не менее 8 символов, включая заглавные, строчные буквы и цифры
Рекомендации по настройке минимальной длины пароля¶
Для централизованного механизма (LDAP/FreeIPA):
# Установка минимальной длины пароля 8 символов
ipa pwpolicy-mod --minlength=8
# Просмотр текущей политики
ipa pwpolicy-show
Для локального механизма (Keystone):
В файле конфигурации Keystone (обычно /etc/keystone/keystone.conf):
[security_compliance]
# Регулярное выражение для проверки сложности пароля
password_regex = ^.{8,}$
password_regex_description = Пароль должен содержать не менее 8 символов
# Дополнительные параметры безопасности
unique_last_password_count = 5
minimum_password_age = 1
password_expires_days = 90
Сравнение механизмов¶
| Характеристика | FreeIPA (LDAP) | Keystone |
|---|---|---|
| Параметр минимальной длины | --minlength |
Через regex (password_regex) |
| Значение по умолчанию | 6 символов | Не задано |
| Гибкость настройки | Высокая (отдельный параметр) | Высокая (любые regex-шаблоны) |
| Применение | Глобально или по группам | Глобально для всех пользователей SQL |