|
Конфигурационный файл службы sssd: /etc/sssd/sssd.conf. После внесения изменений в конфигурационный файл для применения этих изменений необходимо перезапустить службу:
|
Источник информации: Red Hat Traiining. Domain Options: Setting Password Expirations
Общепринято задавать в политике применения паролей срок их действия. После истечения этого срока пароль становится недействительным и должен быть заменен. Сроки действия паролей рассчитываются на контроллере домене. Служба SSSD получает информацию о сроках от доменных служб, и может выдавать соответствующие предупреждения при аутентификации с использованием PAM-стека.
| Предупреждение о приближении срока истечения пароля всегда должно быть отправлено доменными службами. Если доменные службы не отправляют такое сообщение, то служба SSSD никогда не выдаст предупреждение. Таким образом, настройка службы SSSD может только уменьшить срок выдачи предупреждений пользователю (сообщения будут игнорироваться, если срок истечения больше заданного в настройках службы SSSD), но не может увеличить этот срок (так как сообщения от доменных служб не будут поступать до заданного в домене срока). |
Включение отображения предупреждений о приближении истечения срока действия пароля осуществляется двумя параметрами конфигурации. Значения этих параметров определяют за какое время (в днях) до истечения срока начать выдавать предупреждения:
Если параметры не заданы, то предупреждения не выдаются. Если значение параметра 0, то предупреждения выдаются всегда по мере их получения.
Например:
[sssd] services = nss,pam ... [pam] pam_pwd_expiration_warning = 3 ... [domain/EXAMPLE] id_provider = ipa auth_provider = ipa pwd_expiration_warning = 7 |
По умолчанию срок истечения пароля проверяется только при вводе пользователем пароля в процессе аутентификации. Для включения проверки срока истечения пароля при входе без использования пароля (например, в сессии SSH):
Пример:
[domain/EXAMPLE] access_provider = ldap ldap_pwd_policy = shadow ldap_access_order = pwd_expire_policy_warn |
Более подробную информацию см. в справочной системе man sssd-ldap(5).
| Сообщение о состоянии учетной записи всегда должно быть отправлено доменными службами. Если доменные службы не отправляют такое сообщение, то служба SSSD никогда не выдаст предупреждение. |
Информацию о состоянии учетной записи можно корректировать с помощью следующих параметров в секции [pam] конфигурационного файла:
pam_account_expired_message — позволяет настроить сообщение об истечении срока действия учетной записи. Дополняет используемое по умолчанию сообщение 'Permission denied'.
Для того, чтобы это сообщение выдавалось для служб SSH параметру pam_verbosity должно быть присвоено значение 3 (show all messages and debug information).
Пример определения параметров:
pam_account_expired_message = Account expired, please contact help desk. pam_verbosity = 3 |
pam_account_locked_message — позволяет настроить сообщение о блокировке учетной записи. Дополняет используемое по умолчанию сообщение 'Permission denied'. Пример определения параметра:
pam_account_locked_message = Учетная запись заблокирована |
Пример результата применения параметра:
sudo login ipauser01 Пароль: Permission denied. Сообщение сервера:Учетная запись заблокирована |
Срок действия билета Kerberos определяется настройками сервера. Для доменов ALD Pro (FreeIPA) эти настройки определяются в политике билетов Kerberos (команды CLI ipa krbtpolicy).
Срок действия билетов Kerberos не может быть переопределен локально. Локально могут быть определены только периодичность обновления билетов и срок действия билета, запрашиваемый при обновлении:
В конфигурации SSSD в секции параметров домена:
Параметр krb5_lifetime. Значение параметра задает срок действия, запрашиваемый при обновлении билета. Значением параметра может быть целое число с единицей измерения (s, m, h, d — для секунд, минут, часов и дней соответственно). Если единица измерения не указана, то используются секунды. Например:
krb5_lifetime 90m |
Использование этого параметра не включает автоматическое обновление билетов.
Параметр krb5_renewable_lifetime. Значение задает запрашиваемый при обновлении билета общий срок действия для обновляемых (renewable) билетов.
| Обновляемые (renewable) билеты Kerberos— билеты, для которых обновление сессии выполняется без выпуска нового билета. Имеют два срока действия: срок действия сессии и общий срок действия. Подробнее см. документацию Kerberos. |
По умолчанию билеты Kerberos службой sssd автоматически не обновляются. Данное умолчание может быть изменено в конфигурации SSSD параметром krb5_renew_interval в секции параметров домена. Значение этого параметра задает периодичность проверки, при этом билеты по результатам проверки обновляются по истечении половины срока их действия. Значением параметра может быть целое число с единицей измерения (s, m, h, d — для секунд, минут, часов и дней соответственно). Если единица измерения не указана, то используются секунды.
| Так как билеты обновляются по истечении половины срока их действия, значение параметра krb5_renew_interval должно быть меньше этой половины. При этом для предотвращения случайных ошибок обновления не рекомендуется устанавливать срок действия билетов менее 10 минут. |
Обновление кешированной информации об атрибутах учетной записи и об её участии в группах не будет происходить до истечения интервала, заданного параметром memcache_timeout в секции [nss].Независимо от указанных значений параметров информация об учетной записи обновляется при входе (login) пользователя в эту учетную запись, что обеспечивает работу в сессии с актуальным состоянием учетной записи. |
Проверка подлинности с учётными данными из кэша. |
Проверка подлинности с учётными данными из кэша, срок действия вашего кэшированного пароля истечёт: Ср 15 янв 2025 13:17:12. |
В состав вспомогательных служб службы sssd входит служба nss (Name Service Switch), обеспечивающая работу с авторизационными данными пользователя (информация о пользователе, участие пользователя в группах, мандатные атрибуты пользователя). Служба nss также поддерживает кеширование данных. Общее время кеширования в секундах определяется значением параметра entry_cache_timeout в секции домена. По умолчанию используется значение 5400 секунд, т.е. 90 минут. Более тонкая настройка времени кеширования может выполняться параметрами:
entry_cache_nowait_percentage (целое число от 0 до 99) — управляет фоновым обновлением данных. Задается как доля (в процентах) от времени, заданного параметром entry_cache_timeout. Если обращение к данным происходит в течение времени, заданного параметром entry_cache_timeout, но после времени, заданного параметром entry_cache_nowait_percentage, то возвращаются кешированные данные, после чего выполняется обновление кеша. Значение параметра по умолчанию 50 (т.е. 50%). Не рекомендуется устанавливать это значение менее 10 секунд, так как это может негативно влиять на производительность. Значение 0 отключает возможность фонового обновления.
entry_cache_user_timeout — записи пользователей;
entry_cache_group_timeout — записи групп;
entry_cache_netgroup_timeout — записи сетевых групп;
entry_cache_service_timeout — записи служб;
entry_cache_resolver_timeout — записи узлов и сетей;
entry_cache_sudo_timeout — правила sudo;
entry_cache_autofs_timeout — карты автоматического монтирования для службы автоматического монтирования autofs;
entry_cache_ssh_host_timeout — ключи SSH узлов;
entry_cache_computer_timeout — записи локального компьютера;
refresh_expired_interval (целое число) — время ожидания (в секундах) перед активацией задания фонового обновления всех устаревших или почти устаревших записей. При фоновом обновлении обрабатываются кешированные записи пользователей, групп и сетевых групп. Обновление как записи пользователя, так и участия в группах выполняется для тех пользователей, для которых ранее выполнялись действия по инициализации групп (получение данных об участии пользователя в группах, обычно выполняется при запуске). Записи кеша обновляются фоновым заданием, если прошло 2/3 указанного времени. Рекомендуется установить это значение равным 3/4 от значения entry_cache_timeout. Если в кеше уже есть записи, фоновое задание будет использовать значения времени ожидания устаревания кешированных записей, а не текущее значение конфигурации. Чтобы мгновенно выполнить изменение, пользователю следует вручную объявить недействительность существующего кеша (см. далее). По умолчанию используется значение 0 (фоновое обновление отключено).
cache_credentials (логическое значение) — определяет, кешируются ли аутентификационные данные пользователя также в локальном кеше LDB. В данном случае аутентификационными данными считаются пароли (PIN-коды) включающие в себя первый (долгосрочный) фактор двухфакторной аутентификации, а не другие механизмы аутентификации. Аутентификация с помощью PIN-кода и смарт-карты будет работать в автономном режиме пока успешная онлайн-аутентификация будет записана в кеш. Учетные данные хранятся в виде хеша SHA512, что может потенциально представлять угрозу безопасности в случае, если злоумышленнику удастся получить доступ к файлу кеша (обычно требуется привилегированный доступ) и взломать пароль с помощью атаки методом перебора, см. ниже описание параметра cache_credentials_minimal_first_factor_length. Значение по умолчанию: FALSE, т.е. кеширование в локальном кеше LDB отключено.
cache_credentials_minimal_first_factor_length (целое число) — если используется двухфакторная аутентификация и следует сохранить аутентификационные данные (см. выше описание параметра cache_credentials), то это значение определяет минимальную длину первого фактора проверки подлинности (PIN-кода), который должен быть сохранен в формате контрольной суммы SHA512 в кеше LDB. Это позволяет предотвратить хранение коротких PIN-кодов, взлом которых вероятен методом подбора. Значение по умолчанию: 8.
Для быстрого обновления данных доменных пользователей на пользовательских компьютерах, введенных в домен (например, после смены мандатных атрибутов пользователя, выполненной на контроллере домене), следует объявить кешированные записи требующими обновления (инвалидировать).
Удаление записей из кеша SSSD не предусмотрено. Отдельные типы записей (или все записи) можно только инвалидировать. Удалить можно только все записи (остановив службу и удалив весь кеш). Инвалидированные записи:
|
Для инвалидации записей кеша:
| sudo apt install sssd-tools |
| sudo sss_cache -E |
| sudo sss_cache -U |
| sudo sss_cache -u <имя_пользователя> |
Остановить службу sssd:
| sudo systemctl stop sssd |
Удалить кеш:
| sudo rm -rf /var/lib/sss/db/* |
Запустить службу sssd:
| sudo systemctl start sssd |
Служба sssd может самостоятельно обновлять пароль доменного компьютера. Периодичность такого обновления задается параметром ad_maximum_machine_account_password_age. Значение параметра – возраст пароля в днях. Служба ежедневно проверяет возраст пароля и при превышении указанного значения пытается обновить пароль. По умолчанию значение параметра — 30 дней, значение 0 отменяет обновление.