Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019) — различия между версиями
Материал из 0x1.tv
StasFomin (обсуждение | вклад) |
StasFomin (обсуждение | вклад) (→Thesis) |
||
== Thesis == Современные средства управления конфигурациями ориентированы на управление состоянием компьютеров (удалённо управляемых узлов в сети), в то время как групповые политики в Active Directory ориентированы не только на динамическое управление состоянием рабочих станций и серверов, но и на применение состояния настроек пользователей, определяемых динамически в момент входа в систему. Такие конфигурации, представленные в виде декларативного набора обширного количества настроек, называются политиками. Разделение политик и механизмов является одним из ключевых правил философии Unix<ref>Eric S. Raymond, The Art of Unix Programming, 2003</ref>. В случае же с определением динамических настроек операционной системы и пользовательских настроек, под политиками подразумеваются варианты использования механизмов самой операционной системы, а не подход к их реализации, как готового решения, на основе одних и тех же механизмов ядра. В этом случае сама операционная система рассматривается уже не как итоговое решение, а как шаблон для реализации такого решения на основе заложенных в операционную систему возможностей. В этом плане реализация групповых политик в Linux-решениях<ref>ALT Linux Team, Групповые политики в решениях ALT, 2019, https://www.altlinux.org/Групповые_политики</ref> требует существенной доработки механизмов, предоставляющих возможность декларативной настройки политик Active Directory. Прежде всего на уровне встроенных механизмов их применения (исполняемых модулей, применяющих те или иные настройки), а также на уровне интеграции инструментов их применения в работу операционной системы. Для применения декларативных пользовательских настроек в дистрибутивах ALT разработаны следующие механизмы для применения групповых политик: * утилита <code>gpupdate</code> (находится в стадии разработки), заполняющий кеш GPO в каталоге <code>/var/cache/samba/gpo_cache</code>, для заданного пользователя, выгружать объединённый набор значений политик пользователя в кеш ключ/значение, запускать модуль <code>gpoa</code> («GPO Applier») для применения известных политик. * модуль <code>oddjob_gpupdate</code>, позволяющий фиксировать вход в систему и выполнять утилиту <code>gpupdate</code> от имени администратора во время логина (предполагается, что <code>gpupdate</code> получает имя пользователя и номер его сессии из <code>/proc/self/sessionid</code> для отправки сигналов в программу «гриитер» через <code>dbus</code>); * утилита <code>hreg</code> преобразующая pol-файлы (разбор <code>client side extension</code> пока не осуществлён) в дерево файлов в формате ключ/значение, который может применить модуль <code>gpoa</code>; * в случае отсутствия доступа к сети ранее сформированное дерево файлов в формате ключ/значения применяется из кеша. Кроме инструментария применения групповых политик, требуется исходный, управляемый вручную, локальный набор политик. Такой набор политик, относительно которого применяются и откатываются все остальные групповые политики. Локальный набор политик в решениях ALT также оформляется в виде дерева файлов в формате ключ/значения и подготавливается в виде отдельных пакетов под каждый вариант дистрибутива. Использование утилиты gpupdate для применения декларативных настроек текущей машины осуществляется также, как и для пользовательских настроек, только по другим событиям — при загрузке операционный системы, а также явным запросом. Полная интеграция механизмов применения политик на текущий момент требует: * автоматизации встраивания модуля <code>pam_oddjob_gpupdate</code> в стек PAM-модулей, а именно в последний шаг настройки сессии в <code>common-login</code> после модулей <code>pam_loginuid.so</code> и<br /> <code>pam_systemd.so</code>; * согласования локальных политик безопасности, настроек пакетов, по умолчанию, и ожидаемых политик в дистрибутивах; * дополнения базовых настроек, доступных в виде применяемых политик после подключения машины к домену (например, подключение доступа по ssh через <code>GSSAPI</code> по умолчанию); * отладки механизмов применения политик (модуля <code>gpoa</code>). {{----}} [[File:{{#setmainimage:Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019)!.jpg}}|center|640px]] {{LinksSection}} <!-- <blockquote>[©]</blockquote> --> <references/> [[Категория:OSSDEVCONF-2019]] [[Категория:Draft]] [[Категория:Open-source]] |
Версия 12:00, 24 октября 2019
- Докладчик
- Евгений Синельников
Реализация групповых политик требует оформления набора правил и настроек как в виде декларативного описания, так и в виде набора инструментов их интерпретации и применения. Современные популярные средства управления конфигурациями под Linux обладают всеми возможностями для реализации механизмов применения настроек, но ограничены в интеграции инфраструктурой, а также не включают в себя инструментарий управления пользовательскими конфигурациями. Данный доклад посвящён реализации управления пользовательскими конфигурациями с помощью групповых политик Active Directory в решениях на базе дистрибутивов ALT и Sisyphus.
Содержание
Видео
Презентация
Thesis
Современные средства управления конфигурациями ориентированы на управление состоянием компьютеров (удалённо управляемых узлов в сети), в то время как групповые политики в Active Directory ориентированы не только на динамическое управление состоянием рабочих станций и серверов, но и на применение состояния настроек пользователей, определяемых динамически в момент входа в систему. Такие конфигурации, представленные в виде декларативного набора обширного количества настроек, называются политиками.
Разделение политик и механизмов является одним из ключевых правил философии Unix[1]. В случае же с определением динамических настроек операционной системы и пользовательских настроек, под политиками подразумеваются варианты использования механизмов самой операционной системы, а не подход к их реализации, как готового решения, на основе одних и тех же механизмов ядра. В этом случае сама операционная система рассматривается уже не как итоговое решение, а как шаблон для реализации такого решения на основе заложенных в операционную систему возможностей.
В этом плане реализация групповых политик в Linux-решениях[2] требует существенной доработки механизмов, предоставляющих возможность декларативной настройки политик Active Directory. Прежде всего на уровне встроенных механизмов их применения (исполняемых модулей, применяющих те или иные настройки), а также на уровне интеграции инструментов их применения в работу операционной системы.
Для применения декларативных пользовательских настроек в дистрибутивах ALT разработаны следующие механизмы для применения групповых политик:
- утилита
gpupdate
(находится в стадии разработки), заполняющий кеш GPO в каталоге/var/cache/samba/gpo_cache
, для заданного пользователя, выгружать объединённый набор значений политик пользователя в кеш ключ/значение, запускать модульgpoa
(«GPO Applier») для применения известных политик. - модуль
oddjob_gpupdate
, позволяющий фиксировать вход в систему и выполнять утилитуgpupdate
от имени администратора во время логина (предполагается, чтоgpupdate
получает имя пользователя и номер его сессии из/proc/self/sessionid
для отправки сигналов в программу «гриитер» черезdbus
); - утилита
hreg
преобразующая pol-файлы (разборclient side extension
пока не осуществлён) в дерево файлов в формате ключ/значение, который может применить модульgpoa
; - в случае отсутствия доступа к сети ранее сформированное дерево файлов в формате ключ/значения применяется из кеша.
Кроме инструментария применения групповых политик, требуется исходный, управляемый вручную, локальный набор политик. Такой набор политик, относительно которого применяются и откатываются все остальные групповые политики. Локальный набор политик в решениях ALT также оформляется в виде дерева файлов в формате ключ/значения и подготавливается в виде отдельных пакетов под каждый вариант дистрибутива.
Использование утилиты gpupdate для применения декларативных настроек текущей машины осуществляется также, как и для пользовательских настроек, только по другим событиям — при загрузке операционный системы, а также явным запросом.
Полная интеграция механизмов применения политик на текущий момент требует:
- автоматизации встраивания модуля
pam_oddjob_gpupdate
в стек PAM-модулей, а именно в последний шаг настройки сессии вcommon-login
после модулейpam_loginuid.so
и
pam_systemd.so
;
- согласования локальных политик безопасности, настроек пакетов, по умолчанию, и ожидаемых политик в дистрибутивах;
- дополнения базовых настроек, доступных в виде применяемых политик после подключения машины к домену (например, подключение доступа по ssh через
GSSAPI
по умолчанию); - отладки механизмов применения политик (модуля
gpoa
).
Примечания и ссылки
- ↑ Eric S. Raymond, The Art of Unix Programming, 2003
- ↑ ALT Linux Team, Групповые политики в решениях ALT, 2019, https://www.altlinux.org/Групповые_политики