«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Могут ли пользователи, не являющиеся администраторами, запускать службы Windows без ущерба для безопасности системы?

Могут ли пользователи, не являющиеся администраторами, запускать службы Windows без ущерба для безопасности системы?

Опубликовано 18 ноября 2024 г.
Просматривать:860

Can Non-Admin Users Start Windows Services Without Compromising System Security?

Запуск служб Windows из приложений без прав администратора

Многие сценарии включают запуск или остановку служб Windows из отдельных приложений. Однако это может показаться ограниченным для пользователей без прав администратора из соображений безопасности. Как мы можем преодолеть это ограничение и предоставить пользователям детальный контроль над управлением услугами без ущерба для стабильности системы?

Решение: изменение разрешений на обслуживание

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

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

wchar_t sddl[] = L"D:"
  L"(A;;CCLCSWRPWPDTLOCRRC;;;SY)"           
  L"(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)"   
  L"(A;;CCLCSWLOCRRC;;;AU)"                 
  L"(A;;CCLCSWRPWPDTLOCRRC;;;PU)"           
  L"(A;;RP;;;IU)"                         
;

PSECURITY_DESCRIPTOR sd;

if (!ConvertStringSecurityDescriptorToSecurityDescriptor(sddl, SDDL_REVISION_1, &sd, NULL))
{
   fail();
}

if (!SetServiceObjectSecurity(service, DACL_SECURITY_INFORMATION, sd))
{
   fail();
}

Этот конкретный дескриптор безопасности предоставляет следующие разрешения:

  • Разрешения по умолчанию для локальной системы: Предоставляет полный доступ к учетной записи локальной системы.
  • Разрешения по умолчанию для администраторов: Предоставляет доступ администраторам.
  • Разрешения по умолчанию для аутентифицированных пользователей: Предоставляет ограниченный доступ для всех аутентифицированных пользователей.
  • Разрешения по умолчанию для опытных пользователей: Предоставляет полный контроль опытным пользователям.
  • Добавленное разрешение для интерактивных пользователей: Предоставляет разрешение на запуск службы интерактивным пользователям.

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

L"(A;;RPWP;;;IU)" 

Это добавит право WP (WRITE_PROPERTY), позволяющее интерактивным пользователям запускать и останавливать службу.

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

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3