На прошлой неделе 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).
Таким образом, у компьютеров домена появится право на чтение этой политики .
Чтобы найти все объекты 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