Служба SSSD в ALD Pro: архитектура, кэширование и аутентификация

Работа Linux-компьютера в корпоративном домене требует надежного механизма идентификации пользователей, проверки учетных данных и взаимодействия с централизованной службой каталога. В экосистеме ALD Pro эту задачу выполняет служба SSSD — System Security Services Daemon.

Она обеспечивает доступ к информации каталога и механизмам централизованной аутентификации, связывая Linux-компьютер с доменной инфраструктурой.

Что представляет собой SSSD

SSSD является важным компонентом работы Linux-системы в домене. Служба предназначена для:

  • получения информации об учетных записях;
  • получения информации о группах из удаленного каталога;
  • для обработки запросов, связанных с аутентификацией и доступом.

В ALD Pro, построенном на базе FreeIPA, в конфигурации доменного компьютера в качестве поставщика идентификационных данных используется ipa. При этом sssd интегрируется с системными механизмами Linux. Для аутентификации служба использует модуль pam_sss.so, включенный в стек PAM, а для получения информации о пользователях и группах подключается к NSS.

Архитектура службы SSSD

SSSD состоит из нескольких взаимодействующих компонентов. Такая архитектура позволяет разделить задачи по обработке запросов, взаимодействию с доменом, управлению процессами и предоставлению информации приложениям.

Центральную роль играет монитор. Он запускает и контролирует остальные процессы службы, обеспечивает их взаимодействие и следит за их состоянием. Монитор также обрабатывает конфигурацию SSSD и управляет запуском бэкендов и ответчиков.

Ответчики служат промежуточным звеном между клиентскими приложениями, кэшем и бэкендами. Например, NSS-ответчик предоставляет информацию о пользователях и группах, а PAM-ответчик участвует в обработке запросов аутентификации. Отдельные процессы предусмотрены и для других задач, включая работу с правилами sudo.

Кэширование данных SSSD

Одной из важных особенностей SSSD является использование кэширования. Оно уменьшает количество обращений к серверу каталога и позволяет компьютеру продолжать выполнять определенные операции при временном отсутствии связи с доменной инфраструктурой.

Основной локальный кэш хранится в базе данных в каталоге /var/lib/sss/db/. Полученная из каталога информация записывается туда бэкендами, после чего ответчики могут использовать ее для обработки последующих запросов. У каждого объекта есть срок актуальности, однако в автономном режиме система может использовать устаревшие данные в предусмотренных сценариях.