Защита локальных учетных записей служб

Любая служба имеет основной идентификатор безопасности, определяющий права доступа для локальных и сетевых ресурсов. Контекст безопасности службы Microsoft Win32 определяется учетной записью службы, используемой для ее запуска. Учетная запись службы используется для:

  • идентификации и проверки подлинности службы;
  • запуска службы;
  • доступа к коду или приложению и их выполнения;
  • запуска процесса.

Типы локальных учетных записей служб

В зависимости от варианта использования для запуска службы можно использовать управляемую учетную запись службы (MSA), учетную запись компьютера или учетную запись пользователя. Сначала необходимо проверить службу, чтобы убедиться, что она может использовать MSA. Если служба может использовать MSA, следует использовать такой тип учетной записи.

Группы управляемых учетных записей служб

Для служб, работающих в локальной среде, по возможности используйте групповые управляемые учетные записи служб (gMSA). Такие учетные записи предоставляют единое решение для идентификации служб, выполняющихся в ферме серверов или за подсистемой балансировки нагрузки сети. Их также можно использовать для служб, работающих на одном сервере. Сведения о требованиях для gMSA см. в статье Начало работы с групповыми управляемыми учетными записями служб.

Изолированные управляемые учетные записи служб

Если вы не можете использовать gMSA, используйте изолированную управляемую учетную запись службы (sMSA). Для sMSA требуется Windows Server версии не ниже 2008 R2. В отличие от gMSA, учетные записи sMSA работают только на одном сервере. Их можно использовать для нескольких служб на этом сервере.

Учетные записи компьютера

Если вы не можете использовать MSA, рассмотрите возможность использования учетной записи компьютера. Учетная запись LocalSystem — это предварительно определенная локальная учетная запись, которая обладает широкими разрешениями на локальном компьютере и действует как идентификатор компьютера в сети.

Службы, работающие в качестве учетной записи LocalSystem, получают доступ к сетевым ресурсам с помощью учетных данных учетной записи компьютера в формате <domain_name>\<computer_name>. Ее заранее определенное имя — NT AUTHORITY\SYSTEM. Ее можно использовать для запуска службы и предоставления контекста безопасности для этой службы.

Примечание.

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

Учетные записи пользователей

Если вы не можете использовать MSA, рассмотрите возможность использования учетной записи пользователя. Это может быть учетная запись пользователя домена или локального пользователя.

Учетная запись пользователя домена позволяет службе использовать все преимущества функций безопасности служб Windows и доменных служб Microsoft Active Directory. У службы будут локальные и сетевые разрешения, предоставленные учетной записи. У нее также будут разрешения для групп, в которые входит эта учетная запись. Учетные записи службы домена поддерживают взаимную проверку подлинности Kerberos.

Учетная запись локального пользователя (формат имени: .\имя_пользователя) существует только в базе данных диспетчера учетных записей безопасности главного компьютера. В ней нет объекта пользователя в доменных службах Active Directory. Локальная учетная запись не может пройти проверку подлинности с помощью домена. Таким образом, служба, которая работает в контексте безопасности учетной записи локального пользователя, не имеет доступа к сетевым ресурсам (за исключением доступа анонимного пользователя). Службы, выполняемые в контексте локального пользователя, не поддерживают взаимную проверку подлинности Kerberos, в рамках которой служба проходит проверку подлинности клиентами. По этим причинам учетные записи локальных пользователей обычно не подходят для служб с поддержкой каталога.

Важно!

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

Выберите правильный тип учетной записи службы

Критерий gMSA sMSA Учетная запись компьютера Учетная запись пользователя
Приложение выполняется на одном сервере Да Да. По возможности используйте gMSA. Да. По возможности используйте MSA. Да. По возможности используйте MSA.
Приложение выполняется на нескольких серверах Да Нет № Учетная запись привязана к серверу. Да. По возможности используйте MSA.
Приложение выполняется за подсистемой балансировки нагрузки Да Нет No Да. Используйте только в том случае, если не можете использовать gMSA.
Приложение выполняется в Windows Server 2008 R2 No Да Да. По возможности используйте MSA. Да. По возможности используйте MSA.
Приложение выполняется в Windows Server 2012 Да Да. По возможности используйте gMSA. Да. По возможности используйте MSA. Да. По возможности используйте MSA.
Требование ограничить учетную запись службы одним сервером No Да Да. По возможности используйте sMSA. No

Как использовать журналы сервера и PowerShell для исследования

Определить, на каких серверах и на каком их количестве выполняется приложение, можно с помощью журналов сервера.

Чтобы получить список версий Windows Server для всех серверов в сети, можно выполнить следующую команду PowerShell:


Get-ADComputer -Filter 'operatingsystem -like "*server*" -and enabled -eq "true"' `

-Properties Name,Operatingsystem,OperatingSystemVersion,IPv4Address |

sort-Object -Property Operatingsystem |

Select-Object -Property Name,Operatingsystem,OperatingSystemVersion,IPv4Address |

Out-GridView

Поиск локальных учетных записей служб

Ко всем учетным записям, которые вы используете в качестве учетных записей служб, рекомендуется добавить префикс, например svc-. Это соглашение об именовании упростит поиск учетных записей и управление ими. Также рассмотрите возможность использования атрибута описания для учетной записи службы и владельца учетной записи службы. В описании может быть указан псевдоним команды или владелец команды безопасности.

Успешный поиск локальных учетных записей служб — ключевое условие для обеспечения их безопасности. Для учетных записей, не относящихся к типу MSA, это может быть трудной задачей. Рекомендуем проверять все учетные записи, имеющие доступ к важным локальным ресурсам, и определять, какие учетные записи компьютеров или пользователей могут выступать в качестве учетных записей служб.

Чтобы узнать, как найти учетную запись службы, см. статью о типе этой учетной записи в разделе "Дальнейшие действия".

Учетные записи службы документов

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

  • Владелец — лицо, ответственное за поддержку учетной записи.

  • Назначение — приложение, представляемое учетной записью, или другое назначение.

  • Области разрешений — разрешения, которые у нее есть или должны быть, а также группы, в которые она входит.

  • Профиль риска — риск для вашего бизнеса, если эта учетная запись будет скомпрометирована. Если риск высок, используйте MSA.

  • Ожидаемое время существования и периодическая аттестация — как долго (согласно вашим ожиданиям) учетная запись будет существовать и как часто владелец должен проверять и подтверждать потребность в ней.

  • Безопасность пароля — где хранится пароль (для учетных записей пользователей и локальных компьютеров). Обеспечьте безопасность паролей и запишите, у кого есть доступ к ним. Для защиты хранимых паролей рекомендуем использовать Azure AD Privileged Identity Management.

Следующие шаги

Дополнительные сведения о защите учетных записей служб см. в следующих статьях: