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

Материал из 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 Экспериментальная Возможно установить при использовании ADMX файлов Mozilla Firefox: https://github.com/mozilla/policy-templates/releases
Установка домашней страницы браузера Chromium Экспериментальная Возможно установить при использовании ADMX файлов Google Chrome: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip
Запрет на подключение внешних носителей данных Стабильная Стандартные средства RSAT
Включение или выключение различных служб (сервисов systemd) Стабильная Возможно установить при использовании ADMX файлов ALT: https://github.com/altlinux/admx-basealt
Управление control framework Стабильная Возможно установить при использовании ADMX файлов ALT: https://github.com/altlinux/admx-basealt
Генерация ярлычков запуска программ Стабильная Стандартные средства RSAT. С некоторыми ограничениями. Также можно делать ярлычки типа URL и делать, например, URI-ссылки smb:// для открытия Samba shares.
Подключение сетевых дисков Экспериментальная Стандартные средства RSAT
Создание директорий Стабильная Стандартные средства RSAT

Оценить полный набор возможностей могут администраторы инфраструктур на базе 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

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

gpupdate-setup enable

и перезагрузите рабочую машину.

Также возможно дополнить инсталляцию графическими инструментами (модулями Alterator), чтобы выполнить аналогичные действия с помощью GUI:

apt-get install alterator-auth alterator-gpupdate

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

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

Gpme.png

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

Chrony config.png

Конфигурирование Firefox

Дополнительное дерево настроек для браузера Mozilla Firefox появится после установки ADMX файлов Firefox. Для Linux поддерживаются только машинные политики вследствие ограничений реализации Firefox for Linux. На данный момент поддерживается только опция URL for Home Page, позволяющая задать URL домашней страницы при старте браузера.

Rsat-mozilla-firefox-admx.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

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

Коды ошибок

Сообщения, сопутствующие кодам ошибок, могут изменяться (переводиться, исправляться), но сам код уникален для определённой части программы, что позволяет однозначно идентифицировать проблему.

Код Значение
E1 Недостаточно прав для запуска программы gpupdate. Необходимо повысить уровень привилегий.
E2 Программа gpupdate не будет запущена из-за предыдущих ошибок.