Чому перестали працювати деякі GPO після установки MS16-072

Минулого тижня Microsoft випустила оновлення безпеки, змінюють стандартну схему роботи механізму застосування групових політик Windows. Мова про оновлення, випущених в рамках бюлетеня MS16-072 від 14 червня 2016 року, який призначений для усунення вразливостей в механізмі GPO. Розберемося для чого випущено це оновлення і що потрібно знати системного адміністратора про зміни в застосуванні групових політик.

Оновлення з MS16-072 усувають уразливість, яка дозволяє зловмисникові реалізувати атаку Man in the middle (MiTM), і отримати доступ до трафіку, що передається між комп'ютером і контролером домену. Для захисту від вразливості розробники MS вирішили змінити контекст безпеки, в якому виходять політики. Якщо раніше, призначені для користувача політики виходили в контексті безпеки користувача, то після установки MS16-072, призначені для користувача політики виходять в контексті безпеки комп'ютера.

В результаті багато користувачів виявили, що після установки оновлень з даного бюлетеня, перестали застосовуватися деякі політики. GPO зі стандартними дозволами, у яких в Security Filtering  дані права на Read і Apply Group Policy для групи Authenticated Users, застосовуються як зазвичай. Проблема спостерігається тільки з політиками, на яких налаштована фільтрація безпеки (Security Filtering) і з дозволів яких видалена група Authenticated Users .

У всіх попередніх рекомендаціях при необхідності використовувати Security Filtering MS завжди радили видаляти групу Authenticated Users і додавати групу безпеки користувачів з правами Read і Apply.

Після установки оновлення MS16-072 / KB3159398 тепер для успішного застосування політики, права Read на доступ до об'єкта GPO повинні бути також і у облікового запису самого комп'ютера.

А так як під Authenticated Users маються на увазі, як призначені для користувача, так і комп'ютерні учеткі, то видаляючи цю групу, ми тим самим блокуємо доступ до GPO.

Щоб вирішити проблему, потрібно видалити оновлення (хибний, але дієві спосіб) або за допомогою GPMC.MSC для всіх політик, у яких використовується фільтрація безпеки по призначених для користувача групах, на вкладці Delegation додати групу Domain Computers (Потрібні права тільки на Read).

Таким чином, у комп'ютерів домену з'явиться право на читання цієї політики .

Примітка. Призначені для користувача групи повинні як і раніше мати Read і Apply права на політику.

Щоб знайти всі об'єкти GPO в домені, у яких в Security Filtering відсутня група Authenticated Users, можна скористатися таким скриптом:

Get-GPO -All | ForEach-Object
if ( 'S-1-5-11' -notin ($ _ | Get-GPPermission -All) .Trustee.Sid.Value)
$ _

| Select DisplayName

Для великих і складних інфраструктур з заплутаною структурою групових політик для пошуку проблемних політик можна скористатися більш зручним PowerShellскріптом MS16-072 - Known Issue - Use PowerShell to Check GPOs

Update. Як внести зміни в схему AD, щоб все нові групові політики (GPO) відразу створювалися з потрібними правами