Утилита командной строки Gpresult.exe
Утилита командной строки Gpresult.exe представляет собой средство, которое выводит на экран командной строки результирующую политику для пользователя или компьютера. Эта утилита обращается к тому же провайдеру WMI и генерирует такую же информацию, как и предыдущие утилиты, а также позволяет сохранять такие же графические отчеты. Помимо этого утилита командной строки Gpresult.exe, так же как и мастер результирующей групповой политики, позволяет извлекать подробную информацию о неполадках обработки и применения групповой политики
Стоит обратить внимание на то, что в отчетах анализа результирующей групповой политики могут указываться объекты групповой политики с некорректной областью действия или ошибками обработки, которые не позволяют применить параметры групповых политик. Данную утилиту вы можете использовать на всех операционных системах Windows, начиная с Windows XP
Синтаксис у этой команды следующий:
Gpresult.exe [/s компьютер [/u доменпользователь /p пароль]] [/r | /v | /z] [[/x | /h] ]
Где доступны следующие параметры:
/S. Значением данного параметра выступает имя или IP-адрес удаленного компьютера. Если не указывать параметр /s или в качестве имени использовать символ точки, то анализ результирующей групповой политики будет выполняться на локальном компьютере.
/U. Если вы укажите этот параметр, то команда будет выполняться с разрешениями учетной записи локального пользователя или пользователя, расположенного в домене. Если данный параметр не будет задан, то команда будет выполняться с разрешениями текущего вошедшего пользователя компьютера, с которого выполняется данная команда.
/P. Значением этого параметра выступает пароль для учетной записи пользователя, который был задан при помощи команды /U.
/USER. Данный параметр указывает имя пользователя, для которого отображаются данные анализа результирующей групповой политики.
/SCOPE. Текущий параметр позволяет указать отображение анализа результирующей групповой политики для параметров пользователя или компьютера. Допустимыми значениями для параметра /scope являются значения user или computer. Например, если вы укажите значение user, то в полученном отчете будут отображаться только параметры групповой политики пользователя. Если пропустить данный параметр, то будет выполняться анализ RSoP как пользовательских, так и компьютерных параметров политики.
/R. Этот параметр отображает сводные данные результирующей групповой политики. При добавлении данного параметра никакие значения не требуются.
/V. При помощи этого параметра вы можете отобразить подробные сведения результирующей групповой политики с детальной информацией.
/Z. Данный параметр отображает максимально подробную информацию, в том числе сведения обо всех параметрах политики, применяемых к компьютеру или пользователю
Стоит обратить внимание на то, что параметры /R, /V и /Z одновременно использовать нельзя. Очень часто при использовании этого параметра отображается намного больше информации, чем при использовании параметра /V, поэтому для дальнейшего анализа желательно перенаправлять вывод команды в текстовый файл
/X. Используя данный параметр вы можете сохранить получившийся отчет в формате XML в папке и с именем файла, который вы должны указать как значения для этого параметра
Стоит обратить внимание на то, что этот параметр доступен в операционных системах, начиная с Windows Vista и Windows Server 2008
/H. Данный параметр позволяет сохранить отчет в формате HTML. Также как и с параметром /X, вам нужно указать расположение для файла и вы не можете использовать этот параметр в операционных системах Windows XP и Windows Server 2003. Также вы не можете применять оба параметра одновременно в одной команде.
/F. Текущий параметр отвечает за принудительную перезапись существующего файла в случае использования параметров /X или /H.
В этом примере сгенерируем отчет результирующей групповой политики с пользовательскими настройками для локального компьютера и экспортируем его в HTML-файл с именем result.html в корне диска D:
Gpresult.exe /Scope user /H D:result.html
Рис. 1. Выполнение отчета результирующей групповой политики из командной строки
XPath-запросы
Наконец, выполнив необходимые настройки файлов журналов Windows, перейдем непосредственно к поиску интересующей информации. Заметим, что в случае включения всех рекомендованных политик аудита ИБ сами журналы событий становятся достаточно объемными, поэтому поиск по их содержимому может быть медленным (этих недостатков лишены специализированные решения, предназначенные в том числе для быстрого поиска информации — Log Management и SIEM-системы). Отметим также, что по умолчанию не все журналы Windows отображаются к графической оснастке (eventvwr.msc), поэтому в данной оснастке следует перейти в меню «Вид» и отметить check-box «Отобразить аналитический и отладочный журналы».
Итак, поиск по журналам аудита будем осуществлять с помощью встроенного редактора запросов XPath (XPath queries). Открыв интересующий нас журнал, например, журнал безопасности Windows (вкладка «Журналы Windows» -> «Безопасность» / Security), нажатием правой кнопки мыши на имени журнала выберем пункт «Фильтр текущего журнала». Нам откроется графический редактор поисковых запросов, при этом для наиболее продуктивной работы следует открыть вторую вкладку открывшегося окна с названием XML, отметив внизу check-box «Изменить запрос вручную». Нам будет предложено изменить XML-текст (по сути, XPath запрос) в соответствии с нашими критериями поиска.
Результат запроса будет также представляться в различных формах, но для лучшего понимания и получения детального контента в конкретном событии рекомендуем переключиться на вкладку «Подробности», а там выбрать radio-button «Режим XML», в котором в формате «ключ-значение» будут представлены данные события безопасности.
Приведем несколько полезных XPath запросов с комментариями.
1. Поиск по имени учетной записи в журнале Security — возьмем для примера имя Username:
2. Поиск по значению конкретного свойства события в журнале Sysmon — возьмем для примера поиск событий, в которых фигурировал целевой порт 443:
3. Произведем поиск сразу по двум условиям — возьмем для примера событие входа с EventID=4624 и имя пользователя Username:
4. Поиск по трем условиям — дополнительно укажем Logon Type = 2, что соответствует интерактивному входу в ОС:
5. Рассмотрим функционал исключения из выборки данных по определенным критериям — это осуществляется указанием оператора Suppress с условиями исключения. В данном примере мы исключим из результатов поиска по фактам успешного входа (EventID=4624) все события, которые имеют отношения к системным учетным записям (SID S-1-5-18/19/20) с нерелевантным для нас типам входа (Logon Type = 4/5), а также применим функционал задания условий поиска с логическим оператором «ИЛИ», указав не интересующие нас имя процесса входа (Advapi) и методы аутентификации (Negotiate и NTLM):
Открытие оснастки и изменение пользовательского интерфейса
Также есть альтернативный способ установки данного компонента – использование командной строки и утилиты управления конфигурацией сервера. В командной строке, запущенной с правами администратора введите ServerManagerCmd -install gpmc. При желании вы можете вывести результат установки в xml файл, используя параметр –resultPath.
Для того чтобы открыть оснастку «Управление групповой политикой», выполните любое из следующих действий:
- Нажмите на кнопку «Пуск», выберите меню «Администрирование», а затем откройте «Управление групповой политикой»;
- Воспользуйтесь комбинацией клавиш +R для открытия диалога «Выполнить». В диалоговом окне «Выполнить», в поле «Открыть» введите gpmc.msc и нажмите на кнопку «ОК»;
- Нажмите на кнопку «Пуск» для открытия меню, в поле поиска введите Управление групповой политикой и откройте приложение в найденных результатах;
- Откройте «Консоль управления MMC». Для этого нажмите на кнопку «Пуск», в поле поиска введите mmc, а затем нажмите на кнопку «Enter». Откроется пустая консоль MMC. В меню «Консоль» выберите команду «Добавить или удалить оснастку» или воспользуйтесь комбинацией клавиш Ctrl+M. В диалоге «Добавление и удаление оснасток» выберите оснастку «Управление групповой политикой» и нажмите на кнопку «Добавить», а затем нажмите на кнопку «ОК».
На следующей иллюстрации изображена оснастка «Управление групповой политикой»:
Рис. 1. Оснастка «Управление групповой политикой»
Содержимое оснастки «Управление групповой политикой» предоставляет множество средств, предназначенных для обеспечения централизованного управления инфраструктурой организации. Но если вас не устраивает интерфейс данной оснастки, вы можете его изменить, используя функционал редактирования параметров пользовательского интерфейса. Для того чтобы изменить отображение некоторых элементов оснастки, откройте меню «Вид» и выберите команду «Параметры». В диалоговом окне «Параметры» вы можете настроить элементы, параметры которых располагаются в следующих вкладках:
-
Вкладка «Столбцы». На этой вкладке вы можете изменить отображение и порядок столбцов для основных таблиц текущей оснастки, а именно: «Наследование групповой политики», «Начальные объекты групповой политики», «Объекты групповой политики», «Связанные объекты групповой политики» и «Фильтры WMI». Вам достаточно просто выбрать из раскрывающегося списка редактируемую таблицу, в поле «Столбцы отображаются в следующем порядке» снять флажки с наименований лишних столбцов и установить их порядок, используя кнопки «Вверх» или «Вниз». Также вы можете изменять порядок столбцов непосредственно из таблицы, меняя их местами так, как вам удобно. Для того чтобы ваши изменения были сохранены при повторном открытии оснастки, в окне параметров установите флажок «Сохранять порядок и размеры изменяемых столбцов», как показано на следующей иллюстрации:
Рис. 2. Вкладка «Столбцы» параметров оснастки
-
Вкладка «Отчет». Используя эту вкладку, вы можете изменить папку, которая используется по умолчанию для расположения ADM-файлов. Следует помнить, что изменения, которые проводятся на данной вкладке, будут распространяться только на устаревшие ADM-файлы, а расположение файлов ADMX, которые используются в операционных системах Windows Vista и Windows 7 останется без изменений. Если переключатель будет установлен на параметре «По умолчанию», то поиск файлов ADM изначально будет проводиться в папке Windows и в том случае, если файл не будет найден, консоль GPMC будет просматривать папку объектов групповой политики (GPO), находящуюся в папке Sysvol. Если установить переключатель на параметр «настраиваемое», то консоль GPMC изначально будет искать файлы adm в той папке, которая будет указана вами, а затем в расположениях по умолчанию. Настройки данной вкладки изображены ниже:
Рис. 3. Вкладка «Отчет» параметров оснастки
-
Вкладка «Общие». На вкладке «Общие» настраиваются параметры, которые распространяются на отображение лесов и доменов только с двухсторонними отношениями доверия, отображения имени контроллеров домена, а также для отображения диалогового окна подтверждения для различия между объектами групповой политики и связи этих объектов. Эта вкладка отображена на следующей иллюстрации:
Рис. 4. Вкладка «Общие» параметров оснастки
Методы клонирования объекта групповой политики
Существует несколько методов, позволяющих вам произвести полное копирование GPO:
- Через оснастку управление групповыми политиками GPMC
- Это использование моего любимого сильного языка, PowerShell
Открываем оснастку «Управление групповой политикой (gpmc.msc)». Находим нужный объект GPO который вам необходимо скопировать. В моем примере, это будет «Управление UIPI».
Посмотрим на вкладке «Параметры», что делает данная политика. Я ее использовал для отключения User Interface Privilege Isolation.
Далее переходим в контейнер «Объекты групповой политики», который содержит все ваши объекты GPO присутствующие в данном домене Active Directory. Щелкаем правым кликом по нужному и из контекстного меню выбираем пункт «Копировать».
Вот вы нажали скопировать и ничего не произошло, на мой взгляд, что Microsoft сделала очень не очевидно, что нужно делать дальше, особенно если вы делаете, это впервые. Парадокс заключается в том, что скопировать объект GPO вы можете только в контейнере «Объекты групповой политики» и нигде более. Вот почему бы сразу сюда не вставлять? Чтобы вы могли теперь создать скопированный объект GPO, кликните правым кликом по данному контейнеру и из контекстного меню выберите «Вставить».
У вас появится дополнительное окно с выбором действий «Копирование объекта групповой политики»:
- Использовать разрешения по умолчанию для новых объектов групповой политики
- Сохранить существующие разрешения
Если хотите создать полный клон, то выбираем второй пункт, если хотите под шаманить список доступа к объекту, то выбираем первый вариант. Далее появится окно со статусом и прогрессом копирования, дожидаемся успешного окончания операции.
В итоге у вас появится новый объект GPO. у которого в начале названия будет слово «Копия»
Обратите внимание, что все разрешения я сохранил, это видно по списку в фильтре безопасности и примененному WMI фильтру. Так же стоит отметить, что у новой политики, будет новый GUID, можете проверить на вкладке «Сведения»
Для вашего удобства советую вам переименовать новую политику, через клавишу F2 или контекстное меню.
Теперь посмотрим на сколько удобнее, это сделать через PowerShell. Для начала откройте PowerShell от имени администратора. Первым делом я вам предлагаю посмотреть вашу текущую политику, для этого есть командлет Get-GPO и вот такая конструкция.
get-gpo -Name «Управление UIPI»
Убедившись, как называется объект GPO и удостоверившись, что он вообще есть мы приступаем к его копированию. Для этого воспользуемся командлетом Gopy-GPO (https://docs.microsoft.com/en-us/powershell/module/grouppolicy/copy-gpo?view=win10-ps)
Copy-GPO -SourceName «Управление UIPI» -TargetName «Copy_Управление UIPI» -CopyAcl
- SourceName — Имя копируемой политики
- TargetName — Имя новой политики
- -CopyAcl — Копирует все разрешения на политику GPO.
Теперь сделав просмотр новой политики, я вижу, что были скопированы права и WMI фильтры.
Так же вы можете проводить копирование между доменами. Между исходным доменом и доменом назначения должны существовать доверительные отношения.
Copy-GPO -SourceName «Gpo01» -SourceDomain «root.pyatilistnik.org» TargetName «Gpo01» -TargetDomain «sales.pyatilistnik.org»
Для переименовывания политики, через PowerShell можно применить командлет Rename-GPO.
Rename-GPO -Name «Copy_Управление UIPI» -TargetName «Update_Управление UIPI»
На этом у меня все и надеюсь, что вам было интересно и полезно получить новые знания. С вами был Иван Семин, автор и создатель IT блога Pyatilistnik.org.
Как устроены групповые политики
При создании домена AD автоматически создаются два объекта групповой политики:
Политика домена по умолчанию устанавливает базовые параметры для всех пользователей и компьютеров в домене в трех плоскостях: политика паролей, политика блокировки учетных записей и политика Kerberos.
Политика контроллеров домена по умолчанию устанавливает базовые параметры безопасности и аудита для всех контроллеров домена в рамках домена.
Для вступления настроек в силу, объект групповой политики необходимо применить (связать) с одним или несколькими контейнерами Active Directory: сайт, домен или подразделение (OU). Например, можно использовать групповую политику, чтобы потребовать от всех пользователей в определённом домене использовать более сложные пароли или запретить использование съемных носителей на всех компьютерах только в финансовом подразделении данного домена.
Объект групповой политики не действует, пока не будет связан с контейнером Active Directory, например, сайтом, доменом или подразделением. Любой объект групповой политики может быть связан с несколькими контейнерами, и, наоборот, с конкретным контейнером может быть связано несколько объектов групповой политики.
Кроме того, контейнеры наследуют объекты групповой политики, например, объект групповой политики, связанный с подразделением, применяется ко всем пользователям и компьютерам в его дочерних подразделениях. Аналогичным образом, объект групповой политики, применяемый к OU, применяется не только ко всем пользователям и компьютерам в этом OU, но и наследуется всем пользователям и компьютерам в дочерних OU.
Настройки различных объектов групповой политики могут перекрываться или конфликтовать. По умолчанию объекты групповой политики обрабатываются в следующем порядке (причем созданные позднее имеют приоритет над созданными ранее):
- Локальный (индивидуальный компьютер)
- Сайт
- Домен
- Организационная единица
В эту последовательность можно и нужно вмешиваться, выполнив любое из следующих действий:
Изменение последовательности GPO. Объект групповой политики, созданный позднее, обрабатывается последним и имеет наивысший приоритет, перезаписывая настройки в созданных ранее объектах. Это работает в случае возникновения конфликтов.
Блокирование наследования. По умолчанию дочерние объекты наследуют все объекты групповой политики от родительского, но вы можете заблокировать это наследование.
Принудительное игнорирование связи GPO. По умолчанию параметры родительских политик перезаписываются любыми конфликтующими политиками дочерних объектов. Вы можете переопределить это поведение.
Отключение связей GPO. По умолчанию, обработка включена для всех связей GPO. Вы можете предотвратить применение объекта групповой политики для конкретного контейнера, отключив связь с объектом групповой политики этого контейнера.
Иногда сложно понять, какие политики фактически применяются к конкретному пользователю или компьютеру, определить т.н. результирующий набор политик (Resultant Set of Policy, RSoP). Microsoft предлагает утилиту командной строки GPResult, который умеет генерировать отчет RSoP.
Для управления групповыми политиками Microsoft предоставляет консоль управления групповыми политиками (GPMC). Используя этот бесплатный редактор групповой политики, ИТ-администраторы могут создавать, копировать, импортировать, создавать резервные копии и восстанавливать объекты групповой политики, а также составлять отчеты по ним.
По умолчанию любой член группы администраторов домена может создавать объекты групповой политики и управлять ими. Кроме того, существует глобальная группа под названием «Владельцы-создатели групповых политик»; его члены могут создавать объекты групповой политики, но они могут изменять только созданные ими политики, если им специально не предоставлены разрешения на редактирование других объектов групповой политики.
В этой же консоли можно делегировать вспомогательным ИТ-администраторам разрешения для различных действий: создание, редактирование и создание связей для определенных объектов групповой политики. Делегирование — ценный инструмент; например, можно предоставить группе, ответственной за управление Microsoft Office, возможность редактировать объекты групповой политики, используемые для управления настройками Office на рабочем столе пользователей.
Работа с групповыми политиками
Групповые политики представляют собой основной механизм операционной системы Windows Vista, предназначенный для ограничения возможностей работы определенных пользователей. Данный механизм настолько популярен и настолько неизвестен, что большинство твикеров реестра (программ для настройки различных «недокументированных» возможностей Windows) содержит в себе только те возможности, которые предоставляют групповые политики.
Если говорить упрощенно, то групповые политики представляют собой набор параметров реестра, которые влияют на работу операционной системы Windows (переопределяют значения аналогичных параметров различных ветвей реестра) и содержатся в ветвях реестра, доступ на запись к которым разрешен только администратору. Это ветви реестра HKCUSoftwareMicrosoftWindowsCurrentVersionPolicies и HKCUSoftwarePolicies (также они существуют в корневом разделе HKLM).
Но механизм групповых политик не ограничивается только изменением параметров, приведенных выше ветвей реестра. Как только вы изменяете любую групповую политику (при помощи оснастки Редактор объектов групповой политики), сведения о сделанных вами изменениях заносятся в файл Registry.pol каталога %systemroot%
system32GroupPolicyUser (если меняется групповая политика, влияющая на конкретного пользователя) или каталога %systemroot%system32GroupPolicyMachine (если меняется групповая политика, влияющая на всех пользователей).
После этого операционная система будет периодически сверяться с содержимым файлов Registry.pol и заново изменять установленные параметры групповых политик в том случае, если обнаружит, что они были изменены без ее ведома. То есть, даже если вы каким-то образом удалите установленный при помощи групповой политики параметр реестра, он все равно через некоторое время будет автоматически заново восстановлен. Чтобы он не восстанавливался, вместе с параметром реестра нужно удалить и файл Registry.pol.
О том, когда в последний раз обновлялась групповая политика и когда она будет обновлена в следующий раз, можно узнать при помощи журнала из раздела Журнал приложений и служб > Microsoft > Windows > GroupPolicy оснастки Просмотр событий.
На данный момент число групповых политик, поддерживаемых операционной системой Windows Vista, перевалило за несколько тысяч. С одной стороны, это очень хорошо: чем больше возможностей настройки предлагает операционная система, тем больше будет круг ее почитателей. Но, с другой стороны, из-за такого огромного количества настроек бывает довольно трудно найти ту единственную настройку, которая тебе нужна.
На этом фоне еще больше приходится сожалеть о том, что «эпидемия» повсеместного добавления панелей поиска, которая захватила операционную систему Windows Vista, не распространилась на групповые политики, и поэтому пользователю придется заучивать на память расположения нужных групповых политик.
Вывод подробных сообщений на экране загрузки
В Windows на экране загрузки системы можно включить отображение расширенной статусной информации, позволяющей пользователям и администратору визуально понять на каком этапе загрузки компьютера наблюдается наибольшая задержка. При включении данной политики, в том числе, начинает отображаться информация о применяемых компонентах GPO.Включить эту политику можно в следующем разделе GPO:
- в Windows 7 / Vista : Computer Configuration -> Policies -> System -> Verbose vs normal status messages = Enabled
- в Windows 8/10 : Computer Configuration -> Policies -> System -> Display highly detailed status messages = Enabled
Этот же параметр можно активировать через реестр, создав в ветке HKEY_LOCAL_MACHINE\SOFTWARE Microsoft \Windows \CurrentVersion\ Policies\System параметр типа DWORD с именем verbosestatus и значением 1.
В результате на экране в процессе загрузки будут отображаться такие сообщения: