| Оглавление |
|---|
| Информация | ||
|---|---|---|
| ||
|
| Информация | ||
|---|---|---|
Конфигурационный файл службы sssd: /etc/sssd/sssd.conf. После внесения изменений в конфигурационный файл для применения этих изменений необходимо перезапустить службу:
|
Срок действия пароля: pam_pwd_expiration_warning и pwd_expiration_warning
Источник информации: Red Hat Traiining. Domain Options: Setting Password Expirations
Общепринято задавать в политике применения паролей срок их действия. После истечения этого срока пароль становится недействительным и должен быть заменен. Сроки действия паролей рассчитываются на контроллере домене. Служба SSSD получает информацию о сроках от доменных служб, и может выдавать соответствующие предупреждения при аутентификации с использованием PAM-стека.
| Предупреждение |
|---|
| Предупреждение о приближении срока истечения пароля всегда должно быть отправлено доменными службами. Если доменные службы не отправляют такое сообщение, то служба SSSD никогда не выдаст предупреждение. Таким образом, настройка службы SSSD может только уменьшить срок выдачи предупреждений пользователю (сообщения будут игнорироваться, если срок истечения больше заданного в настройках службы SSSD), но не может увеличить этот срок (так как сообщения от доменных служб не будут поступать до заданного в домене срока). |
Включение отображения предупреждений о приближении истечения срока действия пароля осуществляется двумя параметрами конфигурации. Значения этих параметров определяют за какое время (в днях) до истечения срока начать выдавать предупреждения:
- pam_pwd_expiration_warning — параметр задается в секции PAM [pam] и определяет глобальное значение, используемое по умолчанию для всех доменов.
- pwd_expiration_warning — параметр задается в секции параметров домена и определяет значение для этого домена. При использовании этого параметра обязательно должен быть указана служба аутентификации домена (authentication provider, задается параметром auth_provider, или, при отсутствии этого параметра, используется значение параметра id_provider).
Если параметры не заданы, то предупреждения не выдаются. Если значение параметра 0, то предупреждения выдаются всегда по мере их получения.
Например:
| Блок кода |
|---|
[sssd] services = nss,pam ... [pam] pam_pwd_expiration_warning = 3 ... [domain/EXAMPLE] id_provider = ipa auth_provider = ipa pwd_expiration_warning = 7 |
Предупреждения о сроке истечения пароля при беспарольной аутентификации
По умолчанию срок истечения пароля проверяется только при вводе пользователем пароля в процессе аутентификации. Для включения проверки срока истечения пароля при входе без использования пароля (например, в сессии SSH):
- Параметру access_provider присвоить значение ldap.
- Добавить параметр ldap_pwd_policy со значением shadow.
- Добавить параметр ldap_access_orderо с одним из значений:
- pwd_expire_policy_reject — отобразить предупреждение и, если срок действия пароля истек, запретить вход;
- pwd_expire_policy_warn — отобразить предупреждение и разрешить вход, даже если срок действия пароля истек;
- pwd_expire_policy_renew — отобразить предупреждение, и предложить сменить пароль, если его срок действия истек.
Пример:
| Блок кода |
|---|
[domain/EXAMPLE] access_provider = ldap ldap_pwd_policy = shadow ldap_access_order = pwd_expire_policy_warn |
Более подробную информацию см. в справочной системе man sssd-ldap(5).
Состояние учетной записи
:Сообщения об истечении срока действия (pam_account_expired_message) и блокировке (pam_account_locked_message)
| Предупреждение |
|---|
| Сообщение о состоянии учетной записи всегда должно быть отправлено доменными службами. Если доменные службы не отправляют такое сообщение, то служба 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 = Account locked, please contact help desk Учетная запись заблокирована
Пример результата применения параметра:
Блок кода sudo login ipauser01 Пароль: Permission denied. Сообщение сервера:Учетная запись заблокирована
Срок действия и обновление билетов Kerberos
Срок действия билета 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 (по умолчанию — файл /etc/krb5.conf) — параметром ticket_lifetime. Значение по умолчанию — 1 день. Подробнее см. документацию Kerberos.
По умолчанию билеты Kerberos службой sssd автоматически не обновляются. Данное умолчание может быть изменено в конфигурации SSSD параметром krb5_renew_interval в секции параметров домена. Значение этого параметра задает периодичность проверки, при этом билеты по результатам проверки обновляются по истечении половины срока их действия. Значением параметра может быть целое число с единицей измерения (s, m, h, d — для секунд, минут, часов и дней соответственно). Если единица измерения не указана, то используются секунды.
| Предупреждение |
|---|
| Так как билеты обновляются по истечении половины срока их действия, значение параметра krb5_renew_interval должно быть меньше этой половины. При этом для предотвращения случайных ошибок обновления не рекомендуется устанавливать срок действия билетов менее 10 минут. |
Кеширование аутентификационных и авторизационных данных пользователей
- При нормальной работе сети для ускорения работы и снижения нагрузки на серверы sssd может использовать кешированные аутентификационные данные вместо обращений по сети к контроллерам домена. Срок использования кешированных аутентификационных данных определяется параметром cached_auth_timeout в секции параметров домена. Значение этого параметра задает время в секундах после последнего обновления данных и успешной проверки подлинности, в течение которого используются кешированные данные. По умолчанию значение этого параметра 0, то есть всегда выполняется попытка получить актуальные данные от контроллеров домена.
Информация Обновление кешированной информации об атрибутах учетной записи и об её участии в группах не будет происходить до истечения интервала, заданного параметром memcache_timeoutв секции [nss].
Независимо от указанных значений параметров информация об учетной записи обновляется при входе (login) пользователя в эту учетную запись, что обеспечивает работу в сессии с актуальным состоянием учетной записи. - При отключении сети (при недоступности контроллеров домена) sssd использует для входа кешированные данные. По умолчанию срок использования кешированных данных не ограничен. Порядок ограничения срока использования кешированных аутентификационных данных см. далее.
- При использовании кешированных аутентификационных данных (как при нормальной работе сети, так и при отказе сети) пользователям может выдаваться предупреждения о том, что для входа используются кешированные данные:
Для того, чтобы это предупреждение выдавалось, параметру pam_verbosity в секции [pam] должно быть присвоено значение 2 или выше. Время использования кешированных данных по умолчанию не ограничено. См. также описание параметра offline_credentials_expiration далее.Блок кода Проверка подлинности с учётными данными из кэша. - Ограничить срок использования кешированных аутентификационных данных можно параметрами:
- account_cache_expiration — время в днях хранения кешированной информации об учетной записи. Это время должно быть больше или рано времени хранения данных для входа (параметр offline_credentials_expiration, см. ниже).
- offline_credentials_expiration — время в днях актуальности кешированных аутентификационных данных. Если задано ненулевое значение этого параметра и параметр pam_verbosity также имеет ненулевое значение (1, 2 или 3), то при использовании кешированных данных с ограниченным временем действия будет выдаваться предупреждение с указанием истечения срока действия данных:
Блок кода Проверка подлинности с учётными данными из кэша, срок действия вашего кэшированного пароля истечёт: Ср 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_negative_timeout (целое число) — количество секунд, в течение которого в кеше будут храниться неудачные обращения к кешу (запросы некорректных записей базы данных, например, несуществующих) перед повторным запросом к внутреннему серверу. По умолчанию 15 секунд.
- Группа параметров, позволяющих управлять отдельными типами данных. Определяет время в секундах в течение которого считаются действительными отдельные типы записей. По умолчанию используется значение entry_cache_timeout:
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 (фоновое обновление отключено).
- Параметры управления кешированием аутентификационных данных двухфакторной аутентифкации в локальном кеше LDB:
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 не предусмотрено. Отдельные типы записей (или все записи) можно только инвалидировать. Удалить можно только все записи (остановив службу и удалив весь кеш). Инвалидированные записи:
|
Для инвалидации записей кеша:
- Если на пользовательском компьютере установлен пакет sssd-tools:
При установленном пакете sssd-tools кеш можно объявить недействительным с помощью инструмента sss_cache. Инструмент обеспечивает работу как со всем кешем, так и с отдельными типами записей, например:Command sudo apt install sssd-tools - Объявить недействительными все записи:
Command sudo sss_cache -E - Обновить недействительными записи, относящиеся ко всем пользователям:
Command sudo sss_cache -U - Обновить недействительными записи, относящиеся к определенному пользователю:
Command sudo sss_cache -u <имя_пользователя>
- Объявить недействительными все записи:
- Для полного удаления кеша (или при невозможности использовать инструмент sss_cache):
Остановить службу sssd:
Command sudo systemctl stop sssd Удалить кеш:
Command sudo rm -rf /var/lib/sss/db/* Запустить службу sssd:
Command sudo systemctl start sssd
Автоматическое обновление пароля доменного компьютера
Служба sssd может самостоятельно обновлять пароль доменного компьютера. Периодичность такого обновления задается параметром ad_maximum_machine_account_password_age. Значение параметра – возраст пароля в днях. Служба ежедневно проверяет возраст пароля и при превышении указанного значения пытается обновить пароль. По умолчанию значение параметра — 30 дней, значение 0 отменяет обновление.