Один из распространенных сценариев управления доступом к компьютерам в среде AD — использование параметров групповой политики (GPO), связанных с правами входа на машину.
Таблица 14.2. Примеры групповых политик, реализованных в SSSD
|
Групповая политика
|
Параметр конфигурации SSSD
|
|
Allow log on locally
|
ad_gpo_map_interactive
|
|
Allow log on through Remote Desktop Services
|
ad_gpo_map_remote_interactive
|
|
Log on as a batch job
|
ad_gpo_map_batch
|
|
Log on as a service
|
ad_gpo_map_service
|
Настройки политики GPO можно использовать для централизованной настройки нескольких наборов прав входа (Logon Rights) на клиентскую машину, каждый из которых классифицируется по способу входа (interactive, remote interactive) и состоит из белого и чёрного списка пользователей и групп, которым разрешён или запрещён доступ к компьютеру с использованием способа входа. Для этого сопоставляются имена pam-служб с определёнными правами входа. Предоставляются сопоставления по умолчанию для всех часто используемых имён pam-служб, также администратор может добавлять/удалять сопоставления по мере необходимости. Делается это с помощью параметров конфигурации вида gpo_map_<logon_right> (например, gpo_map_interactive, gpo_map_network и т. д.), каждый из которых состоит из списка записей, разделённых запятыми, начинающихся либо с «+» (для добавления в набор по умолчанию), либо с «-» (для удаления из набора по умолчанию). Подробнее см. man sssd-ad.
Значение белого и черного списка:
Белый список («allow»). Если этот параметр не задан, любой пользователь может войти в систему. Если он задан, только указанные пользователи и группы получают доступ. Другими словами, при включении этого параметра поведение изменяется с «доступ разрешен всем» на «доступ запрещен всем, кроме перечисленных в белом списке»;
Черный список («deny»). Если этот параметр не задан, он не оказывает влияния. Если он определен указанные пользователи и группы не могут входить в систему. Если пользователь или группа присутствует одновременно в белом и черном списках, приоритет отдается черному списку.
Если пользователь пытается войти в систему, то:
определяется, какое право входа (Logon Rights) связано с сервисом PAM;
получаются соответствующие политики GPO из файла GptTmpl.inf, который содержит настройки политики из расширения «Security Settings». Например, для права интерактивного входа (Interactive Logon Right) используются параметры SeInteractiveLogonRight (разрешенные пользователи) и SeDenyInteractiveLogonRight (запрещенные пользователи).
Когда клиент пытается получить доступ к серверу, SSSD выполняет несколько шагов для обработки групповых политик:
Скачивание файлов политики. Файлы GPT.INI и GptTmpl.inf скачиваются с сервера и сохраняются в кеше GPO на клиентской машине (в каталоге /var/lib/sss/gpo_cache/), чтобы ускорить доступ и избежать повторных запросов к серверу при каждом входе пользователя в систему;
Анализ содержимого файлов. После того как файлы были получены и сохранены в кеше, процесс gpo_child начинает их обработку;
Применение политики. После того как политика была загружена и ее содержание проанализировано, механизм принудительного применения GPO обеспечивает контроль доступа, проверяя политику против белого или черного списка, который может содержать разрешения или запреты для определенных групп.
Так как функция контроля доступа на основе GPO используется только провайдером AD, она включена в пакет
sssd-ad. Исходные файлы для этой функции включены в
libsss_ad.so. Эта функция не включена по умолчанию. Предоставлена конфигурационная опция
ad_gpo_access_control, которая может быть установлена в одно из следующих значений:
disabled (не осуществляется ни проверка соответствия правилам управления доступом на основе GPO, ни их принудительное применение);
enforcing (осуществляется проверка соответствия правилам управления доступом на основе GPO и их принудительное применение);
permissive (осуществляется проверка соответствия правилам управления доступом на основе GPO, но не их принудительное применение. Вместо этого создаётся сообщение системного журнала, означающее, что пользователю было бы отказано в доступе, если бы в качестве значения этого параметра был задан принудительный режим).
С остальными конфигурационными параметрами, относящимися к GPO, можно ознакомиться в man sssd-ad.