Групповые политики

Материал из ALT Linux Wiki

Групповые политики в решениях ALT

Групповая политика — это набор правил, в соответствии с которыми производится настройка рабочей среды относительно локальных политик, по умолчанию. Групповые политики в реализации [[Active_Directory] - это часть интегрированного решения. Альтернативной реализацией Active Directory под Linux/Unix является проект Samba. Поддержка применения групповых политик в конкретных дистрибутивных решениях, в целом, не является частью проекта Samba. В данной статье представлен общий обзор данного инструмента в контексте интеграции применения групповых политик в решениях ALT.

Общий подход

Групповые политики, как механизм, отличаются от стандартных инструментов управления конфигурациями (таких как, например, Puppet и Ansible) тремя ключевыми особенностями:

  • интеграцией в инфраструктуру Active Directory;
  • соответствием декларативной части настроек конфигураций конкретным дистрибутивным решениям;
  • наличием не только управления конфигурациями компьютеров, но и конфигурациями пользователей

Интеграция в инфраструктуру LDAP-объектов Active Directory позволяет осуществлять привязку настроек управляемых конфигураций объектам в дереве каталогов. Кроме глобальных настроек в рамках домена, возможна привязка к следующим группам объектов:

  • подразделениям (OU - organizational units) - пользователям и компьютерам, хранящимся в соответствующей части дерева объектов;
  • сайтам - группам компьютеров в заданной подсети в рамках одного и того же домена.
  • конкретным пользователям и компьютерам.

Кроме того, в самих объектах групповых политик могут быть заданы дополнительные условия, фильтры и ограничения, на основании которых принимается решение о том как и, вообще, нужно или не нужно применять данную групповую политику. В качестве дополнительных условий можно установить окружение, в котором выполняется групповая политика (пользовательское или системное), а также требование применять или не применять повторно данную политику, если ранее она уже применялась (например, чтобы удалённый вручную пользователем ярлычок повторно не появлялся на рабочем столе). В качестве фильтров используется информация о состоянии компьютера (размер свободного дискового пространства, наличии батареи (ноутбук или нет?), наличие в файловой системе конкретного файла или каталога, название операционной системы, тип сессии (локальный или терминальный), произвольный ldap или wmi запрос и др.)

Соответствие декларативной части настроек конфигураций конкретным дистрибутивным решениям позволяет управлять не действиями в виде названий скриптов, а вариантами настроек в контексте самих дистрибутивных решений. Таким образом, значения настроек конфигураций сводятся к значениям пар ключ/значение (в решениях от Microsoft такие настройки хранятся в так называемом реестре). Подробный список доступных настроек в оригинальных групповых политиках для решений представлен в таблице Windows 10 and Windows Server 2016 Policy Settings.

Настраиваемые параметры групповых политик подразделяются на пользовательские и машинные (политики компьютеров - рабочих станций и серверов). Машинные параметры применяются на узле в момент загрузки, в также в момент явного или регулярного запроса планировщиком. Поскольку пользовательские параметры не могут быть заранее запланированы (поскольку компьютеры в домене явно не привязаны к пользователям и заранее неизвестно какой пользователей попытается войти в систему на данном узле), пользовательские параметры применяются в момент входа в систему. Большинство параметров, устанавливаемых через групповые политики в Active Directory (ярлычки, принтеры, общие каталоги, сетевые настройки и ограничения, и даже дополнительно устанавливаемые программы), являются пользовательскими. Некоторые задачи управлениями конфигурациями можно решить как через пользовательские, так и через машинные параметры. Групповые политики, как техническое решение, прежде всего, подразумевают возможность управлениями не только машинными, но и пользовательскими конфигурациями.

Механизмы назначения и кеширования

В дистрибутивах ALT для применения групповых политик на данный момент предлагается использовать инструмент gpupdate. Инструмент рассчитан на работу на машине, введённой в домен Samba. Обновление машинных политик происходит раз в час. Среди применяемых настроек присутствуют:

Настройка Комментарий
Установка домашней страницы браузера Firefox
Установка домашней страницы браузера Chromium
Запрет на подключение внешних носителей данных
Включение или выключение различных служб
Генерация ярлычков запуска программ Гарантированно - для Chromium, для остальных случаев - присутствуют ограничения

Оценить полный набор возможностей могут администраторы инфраструктур на базе Active Directory скачав файлы ADMX из репозитория: https://github.com/altlinuxteam/admx-basealt и загрузив их в оснастку RSAT.

Развёртывание

На текущий момент для включения инструмента групповых политик на клиентах AD необходимо установить пакеты из репозитория 241549 (для p9) или 241548 (для Sisyphus):

  • oddjob-gpupdate
  • gpupdate

Подключение репозитория и установка производится командами:

apt-repo add 241549
apt-get update
apt-get install gpupdate oddjob-gpupdate

Включение работы групповых политик и выбор умолчальной локальной политики выполняется командой /usr/sbin/gpupdate-setup от пользователя с правами администратора:

gpupdate-setup enable

Также включение работы групповых политик можно осуществить с помощью модуля Alterator - alterator-gpupdate используя графический интерфейс.

Конфигурирование с помощью RSAT

Для задания конфигурации с помощью RSAT необходимо скачать ADMX файлы ("административные шаблоны") из репозитория https://github.com/altlinuxteam/admx-basealt и разместить их в директории \\<DOMAIN>\SYSVOL\<DOMAIN>\policies\PolicyDefinitions. Корректно установленные административные шаблоны будут отображены в оснастке Group Policy Management Editor в разделе Computer Configuration > Policies > Administrative Templates > ALT System:

Gpme.png

При выборе опции из списка справа возможно задать конфигурацию службы или параметра:

Chrony config.png

Конфигурирование с помощью Alterator

На текущий момент конфигурирование групповых политик с помощью Alterator возможно с помощью модуля из пакета alterator-gpupdate:

Alterator-gpupdate-local-policy.png

Функционал пока ограничен включением/выключением политики и выбором шаблона локальной политики - Server или Workstation:

Alterator-gpupdate-screen.png


Состав локальной политики

Для клиента также существует понятие локальной политики. Настройки локальной политики находятся в каталоге /usr/share/local-policy/default. Данные настройки по умолчанию поставляются пакетом local-policy. Администраторы инфраструктур имеют возможность поставлять собственный пакет с локальной политикой и развёртывать её единообразно на всех клиентах. Состав локальной политики может меняться или адаптироваться системным администратором.

Описание Комментарий
Включение oddjobd.service Необходимо для обеспечения возможности запуска gpupdate для пользователя с правами администратора.
Включение gpupdate.service Необходимо для регулярного обновления настроек машины.
Включение sshd.service Необходимо для обеспечения возможности удалённого администрирования.
Включение аутентификации с помощью GSSAPI для sshd Необходимо для аутентификации в домене при доступе через SSH.
Ограничение аутентификации для sshd по группам wheel и remote Необходимо для ограничения доступа при доступе через SSH для всех пользователей домена (только при наличии соответствующей привилегии).


Internals

Внутри разработанная утилита gpupdate имеет достаточно простое устройство и технически позволяет настраивать следующие подсистемы дистрибутива:

Описание Комментарий
controls
PolicyKit Запрет на подключение внешних устройств за счёт генерации соответствующего файла .rules.
systemd Позволяет включить или выключить сервис.
Chromium Позволяет установить домашнюю страницу браузера за счёт генерации файла машинной политики.
Firefox Позволяет установить домашнюю страницу браузера за счёт генерации файла машинной политики.
Генерация .desktop файлов Генерируем различные "ярлычки" для пользователя. На данный момент обладает определёнными ограничениями.
Развёртвание различных настроек GSettings Достигается за счёт генерации файла .gsettings.override.

Отладка

Групповые политики кэшируются в файле /var/cache/gpupdate/registry.sqlite (можно просматривать его командой sqlite3).