Skip to content

Два изменения в безопасности 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 на какой бы доменный компьютер он не зашел:

test_gpo_permissions.png "GPO filter")

Удаленное подключение после 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

Пример

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

test_gpo_local_account.png

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

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

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

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

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

Обновление

В новых версиях Windows локальная учетная запись Администратора также подподает под действие UAC (см. ниже).

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

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

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

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

Особенность встроенной учетки Administrator

Учетная запись Администратор (RID -500) вообще обладает некоторыми привилегиями. Даже по отношению к другим членам группы Администраторов. Вот некоторые из них.

  • -500 аккаунт не применяет политики блокировки (lockout), истечения срока действия и разрешенных часов входа (logon hours)
  • -500 аккаунт не может быть удален из группы Администраторов
  • -500 аккаунт всегда запускает в режиме полных прав, UAC запросы не выводятся. Даже для доступа по сети. Эта настройка отключается политикой User Account Control: Admin Approval Mode for the Built-in Administrator account. Эта политика включена по умолчанию (см. ниже).

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

  • Включить ограниченный доступ для учетной записи Администратор Через 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
    

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

Обновление

В новых версиях Windows эта политика включена по умолчанию.

  • Однозначно указать ограниченный доступ для локальных администраторов

    Задать ключ реестра LocalAccountTokenFilterPolicy в значение 0

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

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

  • Ограничить удаленный доступ локальным пользователям Через 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