Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019) — различия между версиями

Материал из 0x1.tv

(Batch edit: replace PCRE (\n\n)+(\n) with \2)
 
(не показано 15 промежуточных версий этого же участника)
ользовательскими конфигурациями. Данный доклад
посвящён реализации управления пользовательскими конфигурациями с помощью групповых политик Active Directory в решениях
на базе дистрибутивов ALT и Sisyphus.
</blockquote>

{{VideoSection}}
{{vimeoembed|366006616|800|450}}
<!-- 
{{youtubelink|}} -->
|usu_q2My98I}}
{{SlidesSection}}
[[File:Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf|left|page=-|300px]]

{{----}}

== 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> -->

{{fblink|2437391549847185}}                                          
{{vklink|1471}}                                          
<references/>

[[Категория:OSSDEVCONF-2019]]
[[Категория:Draft]]
[[Категория:Open-source]]ALT Linux]]
[[Категория:Samba]]
{{stats|disqus_comments=0|refresh_time=2021-08-31T17:29:19.299518|vimeo_plays=27|youtube_comments=2|youtube_plays=92}}

Текущая версия на 12:21, 4 сентября 2021

Докладчик
Евгений Синельников.jpg
Евгений Синельников

Реализация групповых политик требует оформления набора правил и настроек как в виде декларативного описания, так и в виде набора инструментов их интерпретации и применения. Современные популярные средства управления конфигурациями под Linux обладают всеми возможностями для реализации механизмов применения настроек, но ограничены в интеграции инфраструктурой, а также не включают в себя инструментарий управления пользовательскими конфигурациями. Данный доклад посвящён реализации управления пользовательскими конфигурациями с помощью групповых политик Active Directory в решениях на базе дистрибутивов ALT и Sisyphus.

Видео

on youtube

Презентация

Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019).pdf

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).
Механизмы применения групповых политик в решениях на базе дистрибутивов ALT (Евгений Синельников, OSSDEVCONF-2019)!.jpg

Примечания и ссылки

  1. Eric S. Raymond, The Art of Unix Programming, 2003
  2. ALT Linux Team, Групповые политики в решениях ALT, 2019, https://www.altlinux.org/Групповые_политики

Plays:119   Comments:2