Два изменения в безопасности Windows

Если программа находится в процессе разработки, то помимо нового функционала в ней может меняться и самые базовые вещи. Операционные системы не исключение. В данном посте будет рассказано про два изменения в Windows, которые изменили работу самого базового механизма: групповых политик и удаленного подключения.

Групповая политика (GPO) после MS16-072/KB3163622

В июне 2016 года Microsoft выпустила бюллетень безопасности MS16-072, который включал в себя обновления для Windows 10 и Windows Server 2016 (а также более старых версий). Обновление изменило процесс применения групповой политики.

Групповая политика состоит из двух разделов: компьютера и пользователя. Если раньше раздел пользователя применялся под учетной записью пользователя, унаследовавшего политику, то после обновления user group policy применяется под учетной записью компьютера, на который зашел пользователь.

Прямое следствие этого изменения: если групповую политику вы отфильтровываете только для пользователей, то такая групповая политика перестанет работать. Теперь вне зависимости от того используете ли вы раздел пользователя или компьютера в групповой политике, в фильтре должен быть разрешен компьютер с которого заходит пользователь.

В настройках по умолчанию фильтр включает группу Authenticated Users, которая включает учетные записи пользователей и компьютеров в домене. Если настройка фильтра по умолчанию вам не подходит, то можно создать доменную группу в которую включить нужные компьютеры (или использовать группу Domain Computers) и выдать ей права на чтение в фильтре.

Пример фильтра групповой политики.

Настройка доступа групповой политики Test GPO, чтобы она распространялась на пользователя test.user на какой бы доменный компьютер он не зашел:


Удаленное подключение после KB2871997

В мае 2014 года Microsoft выпустила бюллетень безопасности 2871997 для систем Windows 7, Server 2008 R2 и новее. Были добавлены новые локальные группы, которые можно использовать для ограничения удаленного доступа к компьютеру.

Когда локальная учетная запись в группе администраторы совпадает на нескольких машинах, атакующий, получив права администратора на одной машине и хэш пароля этой записи, может использовать его для удаленного доступа на другие машины («pass the hash»). Стоит обратить внимание, что под «удаленным доступом» здесь имеется ввиду не удаленный рабочий стол (Remote Desktop, RDP), а доступ через консоль, например, WMI и PSEXEC.

Для ограничения такого доступа был выпущен патч, который создает две локальные группы безопасности:

  • S-1-5-113: NT AUTHORITY\Local account
  • S-1-5-114: NT AUTHORITY\Local account and member of Administrators group

Группы динамические, т.е. автоматически добавляют в себя пользователей при их входе на компьютер, и не показываются в оснастке управления пользователями. «Local account» включает любого локального пользователя, «Local account and member of Administrators group» включает только членов локальной группы Администраторы (BUILTIN\Administrators).

Таким образом, чтобы ограничить удаленный доступ под локальным пользователем для доменных компьютеров можно использовать политику безопасности (GPO) с двумя опциями «Deny access to this computer from the network» и «Deny log on through Remote Desktop Services», в которых рекомендуется указать одну или обе из этих групп. Их можно найти по адресу:

Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment

Пример политики, запрещающей удаленный доступ и удаленный рабочий стол для всех локальных пользователей:

Раскроем подробнее про удаленное подключение.

Начиная с Windows Vista операционная система включает в себя систему контроля учетных записей пользователей (User Account Control, UAC). В зависимости от настроек она позволяет выводить предупреждение при выполнении какого-то привилегированного действия, например, установка программы. После подтверждения действия пользователь получает полный уровень доступа. Такой процесс называется повышение доступа (eleavte access).

При удаленном доступе механизм повышения доступа не работает. Т.е. даже удаленное подключение под локальной учетной записью из группы Администраторы на удаленной машине, доступ все равно ограничен и приходиться использовать удаленный рабочий стол для получения полного доступа.

У этого правила есть два исключения:

  1. Доменные учетные записи, состоящие в локальной группе Администраторы. Для них при удаленном подключении выдается полный доступ.
  2. Локальная учетная запись Администратор (RID-500) (даже если переименована), которая по умолчанию отключена. На нее тоже не распространяется ограничение доступа.

Существует способ выдачи привилегированного доступа всем членам локальной группы Администраторы на удаленной машине, без необходимости запроса на повышение доступа. Для этого создается ключ реестра LocalAccountTokenFilterPolicy с значением 1 по адресу

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System

Это является серьезным ослаблением безопасности компьютера, т.к. дает полный доступ для членов локальной группы Администраторы. Т.е. получив хэш пароля учетной записи пользователя из этой группы и использовав его при удаленном доступе пользователь сразу получает полный доступ в систему.

Когда вы можете столкнуться с необходимостью включения LocalAccountTokenFilterPolicy? При удаленном доступе PowerShell (PS Reemote, WinRM). Из-за ограничений доступа для локальных учетных записей пользователей в группе локальных администраторов невозможно подключиться удаленно через PowerShell. Если компьютер, к которому вы подключаетесь, находится в рабочей группе (а не в домене), то вам доступны только локальные пользователи. В этом случае Microsoft рекомендует включить LocalAccountTokenFilterPolicy.

В своем руководстве по безопасности Microsoft рекомендует следующие настройки:

  1. Включить ограниченный доступ для учетной записи Администратор
    Через GPO

    Computer Configuration\Windows Settings\Security Settings\Local Policies\Security Options\User Account Control: Admin Approval Mode for the built-in Administrator account

    или ключ реестра

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\FilterAdministratorToken

    В этом случае удаленный доступ под локальной учетной записью Администратор не приведет к полному доступу

  2. Однозначно указать ограниченный доступ для локальных администраторов
    Задать ключ реестра LocalAccountTokenFilterPolicy в значение 0

    HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\LocalAccountTokenFilterPolicy

    В этом случае гарантируется настройка по умолчанию, когда локальные пользователи в локальной группе Администраторы подключаются с ограниченными доступом

  3. Ограничить удаленный доступ локальным пользователям
    Через GPO

    Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Deny access to this computer from the network
    Computer Configuration\Windows Settings\Security Settings\Local Policies\User Rights Assignment\Deny log on through Remote Desktop Services

    указать группу S-1-5-113 или S-1-5-114.
    В этом случае гарантируется, что никто из локальных пользователей (S-1-5-113) или локальных пользователей в группе Администраторы (S-1-5-114) не сможет удаленно подключиться. Это стоит делать на доменных компьютерах, т.к. на компьютере в рабочей группе, других пользователей нет.

Источник 1
Источник 2
Источник 3
Источник 4
Источник 5
Источник 6
Источник 7
Источник 8

Реклама

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s