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

Материал из ALT Linux Wiki
Версия от 13:02, 17 января 2020; Nir (обсуждение | вклад) (Расширение описания работы с групповыми политиками)

Групповые политики в решениях 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 необходимо установить пакеты:

  • oddjobd-gpupdate
  • gpupdate

Далее необходимо включить две службы:

systemctl enable oddjobd.service
systemctl enable gpupdate.service

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

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

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