GPO и Ansible: как держать одинаковые настройки на парке

0
2
Обложка статьи: GPO и Ansible: как держать одинаковые настройки на парке

Применяйте одни и те же настройки на весь парк: групповые политики (GPO) на Windows, Ansible на Linux — и раз в неделю смотрите, кто отстал. Какие именно меры в эталоне — не здесь: hardening Windows, hardening Linux. Одинаковая точка старта машин — золотой образ. Обновления Windows как покрытие WSUS — соседняя тема очереди, не этот рецепт.

Статья опирается на логику направления «Безопасность конечных устройств» из методики зрелости Группы Сбер (источник); это методика для крупных компаний, мы используем её как ориентир и пересказываем своими словами. CIS Control 4 требует поддерживать безопасную конфигурацию, а не настроить один раз вручную: cisecurity.org/controls. Это не российский закон. Плейбук и GPO применяйте к своим узлам.

Два контура, одна идея

Windows Linux
Носитель эталона GPO на подразделение (OU) Один playbook на группу инвентаря
Проверка «как есть» gpresult ansible-playbook --check
Исключение Отдельное OU или фильтр с датой Группа exceptions с датой в комментарии

Не держите второй эталон «в голове админа». Локальный администратор Windows — отдельный контур: LAPS. Прокси и DNS на станциях тоже задайте отсюда, не вручную: прокси выхода.

Windows: что должно примениться

На выборке станций и серверов (документация Microsoft, вывод краткий):

gpresult /r /scope computer

Ожидаемо: в блоке Applied Group Policy Objects есть имя вашего эталонного GPO, не только «Local Group Policy». Команда: gpresult. Если объекта нет — машина не в том OU, нет связи с доменом или политика отключена. Не пишите пароль в строку /p.

Linux: синтаксис, потом сухой прогон

С управляющей машины, инвентарь и playbook — свои имена:

ansible-playbook -i inventory.ini site.yml --syntax-check
ansible-playbook -i inventory.ini site.yml --check --diff

Ожидаемо: сначала «playbook: …» без ошибки синтаксиса; затем список отличий без записи на диск (--check / -C, плюс --diff / -D). Документация: ansible-playbook. Риск: без --check плейбук сразу меняет боевые узлы. Сначала сухой прогон на копии, потом применение в окно изменений: перечень для ИБ.

В playbook не кладите пароли и ключи: переменные и хранилище секретов, не файл в git. Уже лежащие секреты — другой разбор: секреты в git.

Диагностика

Симптом Причина и что делать
Эталон есть, треть парка другая Нет проверки. Раз в неделю gpresult и --check на выборке
Один сервер «нельзя трогать» Исключение без даты. Поставьте срок или верните в контур
Ansible меняет не те хосты Широкий инвентарь. Сузьте -l группу
GPO применилась, образ старый Так и должно: образ — старт, политики — дрейф. Обновите образ отдельно

Где это в модели зрелости

Материал относится к направлению «Безопасность конечных устройств» (хаб: конечные устройства, карта: карта зрелости). Hardening говорит «что выключить». Без GPO и Ansible это сделано на трёх машинах и забыто. Золотой образ не заменяет политики: через месяц парк снова разъедется.

Как проверить

  1. На трёх Windows в gpresult /r видно эталонное GPO.
  2. На трёх Linux ansible-playbook --check либо без отличий, либо отличия в задаче на исправление.
  3. Исключения имеют дату окончания.
  4. В репозитории плейбука нет паролей.
  5. Статья не повторяет чек-лист hardening и не учит снимать образ.

Источники

Комментарии закрыты.