Права на перезапуск службы windows

По умолчанию обычные пользователи (без прав администратора) не могут управлять системными службами Windows. Это означает, что пользовали не могут остановить, запустить (перезапустить), изменить настройки и разрешения служб Windows. В этой статье мы покажем, как настроить правами на службы Windows. В качестве примера мы покажем, как предоставить обычному пользователю, без прав администратора локального, права на запуск, остановку и перезапуск определенной службы Windows.

Предположим, нам нужно предоставить доменной учетной записи contoso\tuser права на перезапуск службы печати (Print Spooler) с системным именем Spooler. При попытке перезапустить службу под пользователей появляется ошибка:

System error 5 has occurred. Access is denied.

net stop - system error 5 - нет прав на перезапуск службы

В Windows есть несколько способов предоставления пользователю прав на службу:

Содержание:

  • Управление правами на службы из командой строки
  • Назначаем разрешения на службу с помощью PowerShell
  • Process Explorer: Изменить права разрешений на службу
  • Управление правами на службы через групповые политики

Какой из них проще и удобнее – решать Вам.

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

Вы можете использовать встроенную утилиту sc.exe (Service Controller) для управления правами служб Windows.

  • sc show
    — вывести текущие права службы:
  • sc sdset
    – изменить права на службу

Основной недостаток этого метода – очень сложный формата предоставления прав на сервис (используется формат SDDL — Security Description Definition Language).

Получить текущие разрешения на службу в виде SDDL строки можно так:

sc.exe sdshow Spooler

sc.exe sdshow - узнать текущие права на службу

D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Что значат все эти символы?

S: — System Access Control List (SACL)
D: — Discretionary ACL (DACL)

Первая буква после скобок означает: разрешить (A, Allow) или запретить (D, Deny).

Следующая пачка символов – назначаемые права.

CC — SERVICE_QUERY_CONFIG (запрос настроек служы)
LC — SERVICE_QUERY_STATUS (опрос состояния служы)
SW — SERVICE_ENUMERATE_DEPENDENTS (опрос зависимостей)
LO — SERVICE_INTERROGATE
CR — SERVICE_USER_DEFINED_CONTROL
RC — READ_CONTROL
RP — SERVICE_START (запуск службы)
WP — SERVICE_STOP (остановка службы)
DT — SERVICE_PAUSE_CONTINUE (приостановка, продолжение службы)

Последние 2 буквы — объекты (группа пользователей или SID), котором нужно назначить права. Есть список предустановленных групп.

AU Authenticated Users

AO Account operators
RU Alias to allow previous Windows 2000
AN Anonymous logon
AU Authenticated users
BA Built-in administrators
BG Built-in guests
BO Backup operators
BU Built-in users
CA Certificate server administrators
CG Creator group
CO Creator owner
DA Domain administrators
DC Domain computers
DD Domain controllers
DG Domain guests
DU Domain users
EA Enterprise administrators
ED Enterprise domain controllers
WD Everyone
PA Group Policy administrators
IU Interactively logged-on user

LA Local administrator
LG Local guest
LS Local service account
SY Local system
NU Network logon user
NO Network configuration operators
NS Network service account
PO Printer operators
PS Personal self
PU Power users
RS RAS servers group
RD Terminal server users
RE Replicator
RC Restricted code
SA Schema administrators
SO Server operators
SU Service logon user

В DACL можно использовать предопределенные группы, или указать произвольного пользователя или группу по SID. Получить SID пользователя для текущего пользователя можно с помощью команды:

whoami /user

или для любого пользователя домена с помощью PowerShell комаднлета Get-ADUser:

Get-ADUser -Identity 'iipeshkov' | select SID

SID доменной группы можно получить с помощью командлета Get-ADGroup:

Get-ADGroup -Filter {Name -like "msk-helpdesk*"} | Select SID

Чтобы назначить SDDL строку с правами на определённую службу, используется команда sc sdset. В нашем примере нужно добавить в ACL службы следующую строку:

(A;;RPWPCR;;; S-1-5-21-2927053466-1818515551-2824591131-1110)
  • A – Allow
  • RPWPCR RP (SERVICE_START) + WP (SERVICE_STOP) + CR ( SERVICE_USER_DEFINED_CONTROL)
  • SID – SID пользователя или группы

Добавьте вашу ACL в конец строки, которая вернула sdshow. Чтобы применить новые права доступа на службу, воспользуйтесь командой sc sdset:

sc sdset Spooler "D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;RPWPCR;;;S-1-5-21-2927053466-1818515551-2824591131-1110)"

sc-sdset изменить права на службу в windows

Если вы сформировали корректный DACL, команда вернет:

[SC] SetServiceObjectSecurity SUCCESS

Если вы указали несуществующий SID или ошиблись в синтаксисе SDDL, появится ошибка:

No mapping between account names and security IDs was done.

Проверьте, что пользователь теперь может остановить и запустить службу:

net stop spooler && net start spooler

перезапустить службу net stop start
Чтобы вывести текущие права на службу в более удобном виде, воспользуйтесь утилитой psservice.exe (https://learn.microsoft.com/en-us/sysinternals/downloads/psservice)
psservice.exe security spooler

Теперь вы видите права на службу в более удобном виде.

SERVICE_NAME: Spooler
DISPLAY_NAME: Print Spooler
        ACCOUNT: LocalSystem
        SECURITY:
        [ALLOW] NT AUTHORITY\Authenticated Users
                Query status
                Query Config
                Interrogate
                Enumerate Dependents
                User-Defined Control
                Read Permissions
        [ALLOW] NT AUTHORITY\SYSTEM
                Query status
                Query Config
                Interrogate
                Enumerate Dependents
                Pause/Resume
                Start
                Stop
                User-Defined Control
                Read Permissions
        [ALLOW] RESOURCE\a.ivanov
                Change Config
                Start
                Stop
                User-Defined Control
                Read Permissions
        [ALLOW] BUILTIN\Administrators
                All

psservice вывести ACL службы

В предыдущих версиях Windows для управления правами на службы можно было воспользоваться консольной утилитой SubInACL (входила в Windows Resource Kit).

Чтобы разрешить перезапуск службы пользователю, выполните:

subinacl.exe /service Spooler /grant=contoso\tuser=PTO
subinacl.exe /service

В данном случае мы дали пользователю права на приостановку (Pause/Continue), запуск (Start) и остановку (Stop) службы. Полный список доступных разрешений:

F : Full Control
R : Generic Read
W : Generic Write
X : Generic eXecute
L : Read controL
Q : Query Service Configuration
S : Query Service Status
E : Enumerate Dependent Services
C : Service Change Configuration
T : Start Service
O : Stop Service
P : Pause/Continue Service
I : Interrogate Service
U : Service User-Defined Control Commands

Чтобы лишить пользователя назначенных прав на службу в subinacl.exe используется параметр /revoke. Например:

subinacl.exe /service Spooler /revoke=contoso\tuser

Однако сейчас SubInACL недоступна для загрузки на сайте Microsoft, поэтому мы не будем рекомендовать использовать ее.

Назначаем разрешения на службу с помощью PowerShell

Вы можете изменить разрешения службы с помощью PowerShell. Встроенный командлет управления службами Set-Service позволяет по аналогии с sc sdset задать права на слуюбу с помощью формата SDDL:

$SDDL = "D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;RPWPCR;;;S-1-5-21-2927053466-1818515551-2824591131-1110)"
Set-Service -Name Spooler -SecurityDescriptorSddl $SDDL

powershell Set-Service дать права на службу

Данный командлет доступен только после установки (обновления) PowerShell Core. В Windows PowerShell 5.1 эта команда вернет ошибку:

Set-Service : A parameter cannot be found that matches parameter name 'SecurityDescriptorSddl'.

Теперь можно под пользователем проверить, что у него появились права на управление службой Print Spooler.

Также вы можете использовать модуль Carbon из PowerShell Gallery для управления разрешениями на разные объекты Windows. Он в том числе позволяет управлять правами на службы. Установите модуль:

Install-Module -Name 'Carbon'Import-Module 'Carbon'

Чтобы предоставить права на службу, выполните команду:

Grant-CServicePermission -Identity winitpro\kbuldogov -Name spooler -QueryStatus -EnumerateDependents -Start -Stop

Чтобы вывести текущий ACL службы:

Get-ServicePermission -Name spooler|fl

Grant-CServicePermission команда powershell

Process Explorer: Изменить права разрешений на службу

Для управления правами на службу из графического интерфейса можно использовать утилиту Process Explorer (https://learn.microsoft.com/en-us/sysinternals/downloads/process-explorer(. Запустите Process Explorer с правами администратора и найдите в списке процессов процесс нужной вам службы. В нашем примере это spoolsv.exe (диспетчер очереди печати — C:\Windows\System32\spoolsv.exe). Откройте свойства процесса и перейдите на вкладку Services.

process explorer свойства службы

Нажмите на кнопку Permissions. В окне появится текущий ACL службы. По умолчанию для локальных пользователей доступен только просмотр службы (Read).

Добавьте пользователя или группу, которой нужно предоставить права на сервис. Теперь нужно выбрать назначить уровень полномочий. По умолчанию доступны только Full Control, Write и Read).

Чтобы разрешить запуск/остановку службы, можно предоставить право Write. Однако это позволит пользователю изменить настройки службы или удалить ее.

Чтобы разрешить только запуск/остановку службы, нажмите кнопку Advanced -> выберите вашего пользователя и нажмите Edit -> щелкните Show Advanced permissions. Оставьте в списке прав только Start, Stop, Read, Query Status и User-Defined Control.

process expolorer настроить права доступа к службе

Сохраните изменения.
Теперь выбранный пользователь может перезапускать службу.

services.msc - разрешить перезапустить службу пользователям

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

Если нужно раздать пользователям права запуска/остановку службы сразу на всех северах или компьютерах домена, проще всего воспользоваться возможностями групповых политик (GPO).

  1. Создайте новую или отредактируйте существующую GPO, назначьте ее на нужный контейнер с компьютерами в Active Directory. Перейдите в раздел политик Computer configuration -> Windows Settings -> Security Settings -> System Services;Групповая политика управления службами
  2. Найдите службу Print Spooler и откройте ее свойства;
  3. Включите опцию Define this policy settings, включите автозапуск для службы и нажмите Edit Security;
  4. В открывшемся окне добавьте пользователя или доменную группу, которым нужно предоставить права на службу. Предоставьте разрешение Start, stop and pause и Read;Дать пользователю права на службу Windows через GPO
  5. Осталось дождаться обновления политик на клиентских компьютерах и проверить что ваш пользователь теперь может перезапускать службу.

Где хранятся разрешения службы Windows?

Настройки безопасности для все служб, для которых вы изменили разрешения по-умолчанию хранятся в собственной ветке реестра HKLM\System\CurrentControlSet\Services\<servicename>\Security в параметре Security типа REG_BINARY.

разрешения на службу хранятся в реестре

Это означает, что одним из способов установки аналогичных разрешений на других компьютерах может быть экспорт/импорт данного параметра реестра (в том числе через GPO).

Итак, мы разобрали несколько способов управления правами на службы Windows, позволяющих предоставить произвольному пользователю любые права на системные службы. Если нужно, чтобы пользователь могу перезапускать службу удаленно (без предоставления права локального входа в систему), нужно разрешить пользователю удаленно опрашивать Service Control Manager.

Время на прочтение
3 мин

Количество просмотров 53K

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

букв много

и тут на помощь приходит technet, который расcказывает про sc.

В данном случае нас интересуют 2 команды:
sc sdshow — показывает права
sc sdset — устанавливает права

Для начала узнаем, какие права у нашего сервиса уже есть:
C:\Users\administrator>sc sdshow service_name

D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCR
RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Без изысков.

Как видно, есть 2 интересных префикса:
S: — System Access Control List (SACL) — это нас сейчас не интересует.
D: — Discretionary ACL (DACL) — здесь указываются права для всех и всего.

Смотрим далее.
Первая буква после скобок означает разрешаем (A, Allow) или запрещаем (D, Deny).

Мы разрешаем:
(A;;;;;)

И потом видим комбинации из двух букв:
CC - SERVICE_QUERY_CONFIG
LC - SERVICE_QUERY_STATUS
SW - SERVICE_ENUMERATE_DEPENDENTS
LO - SERVICE_INTERROGATE
CR - SERVICE_USER_DEFINED_CONTROL
RC - READ_CONTROL
RP - SERVICE_START
WP - SERVICE_STOP
DT - SERVICE_PAUSE_CONTINUE

По сути, нас будут интересовать последние три опции:
(A;;RPWPDT;;;)

Последние 2 буквы обозначают кому мы разрешаем или запрещаем:
AU Authenticated Users
AO Account operators
RU Alias to allow previous Windows 2000
AN Anonymous logon
AU Authenticated users
BA Built-in administrators
BG Built-in guests
BO Backup operators
BU Built-in users
CA Certificate server administrators
CG Creator group
CO Creator owner
DA Domain administrators
DC Domain computers
DD Domain controllers
DG Domain guests
DU Domain users
EA Enterprise administrators
ED Enterprise domain controllers
WD Everyone
PA Group Policy administrators
IU Interactively logged-on user
LA Local administrator
LG Local guest
LS Local service account
SY Local system
NU Network logon user
NO Network configuration operators
NS Network service account
PO Printer operators
PS Personal self
PU Power users
RS RAS servers group
RD Terminal server users
RE Replicator
RC Restricted code
SA Schema administrators
SO Server operators
SU Service logon user

+ к этому списку можно явно указать пользователя по SID’у.

Вот это самое интересное!
как узнать SID пользователя?
есть не один способ :)

но, самый простой и удобный (на мой взгляд), написать маленький скриптик на vb:
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set objAccount = objWMIService.Get _
("Win32_UserAccount.Name='username',Domain='domain'")
Wscript.Echo objAccount.SID

Заменяем имя пользователя и домен по своему вкусу, сохраняем файл с расширением .vbs и запускаем.
Появляется алерт с SID.

Копируем в блокнот(или в любое другое место)
Можно скрипт запустить в консоли, сэкономим время :)

И так. Узнали SID.
Вставляем в ключ:
(A;;RPWPDT;;;S-1-5-21-3992622163-2725220152-438995547-4172)

Теперь подготавливаем команду целиком:
sc sdset D:(A;;RPWPDT;;;S-1-5-21-3992622163-2725220152-438995547-4172)(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCR
RC;;;IU)(A;;CCLCSWLOCRRC;;;SU)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Наш ключ вставляем в любое место, но важно чтобы он был перед префиксом S.
Важно не ошибиться, иначе можем потерять доступ к сервису :)
Запускаем.

проверяем:
sc \\server stop «service_name»

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

UPD можно, кстате, использовать группы.
для того чтобы узнать SID группы — вместо username, напишите имя группы.

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

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

Открываем нашу политику в редакторе и переходим по следующему пути: Конфигурация компьютера – Политики – Конфигурация Windows – Параметры безопасности – Системные службы

Находим службу, к которой необходимо предоставить права, например – “Диспетчер печати” и выбираем “Свойства”.

Ставим галочку “Определить следующий параметр политики”, ставим режим запуска службы “автоматически” и нажимаем кнопку “Изменить параметры” .

Откроется настройка безопасности для данной службы, в которой нужно добавить пользователя, либо группу пользователей, которые будут иметь права на взаимодействие с данной службой. После добавления пользователя или группы необходимо поставить галочку на “Полный доступ”. В данном примере права предоставлены группе “Пользователи домена”, то есть всем пользователям.

Действуя по аналогии можно предоставить права пользователям и к другим службам.

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

@echo off
net stop spooler
timeout /t 5
net start spooler

Сохраните файл с расширением bat или cmd, либо скачайте готовый файл отсюда.

Tags: windows

I’d like to recommend 3 options as solutions.

I know this is an old question, but the challenge posed in the question remains (even on later versions of Windows). And some of the answers offered are old and some no longer work (or tools offered no longer exist).

First, MikeKullis above commented above about «the CoreTech gui», but I don’t see any other answer or comment that elaborates on what he meant by that. It’s called Security Service Editor, and it’s free. The company (CoreTech) makes several tools to help with Windows admin tasks.

I realize some folks will be leery of or balk at installing any tool, but really for the specific task of easily indicating that a given user should have permission to start/stop a specific service, it is the easiest solution. In just a couple of clicks one is presented a UI that looks like the traditional Windows file permissions editor, but it’s for controlling service permissions (for a specific service, for a specific user—and offering the same UI to «add» a user, use the «find» feature to see a list of users on the machine, etc.)

Second, as for a more «built-in» solutions instead, one can add «Security Templates» to mmc, and do the same. It’s a bit more fiddly, but not nearly as some other cli solutions. See a discussion of using it (and many other options, including some also mentioned on answers and comments here) in various posts such as this.

Third and finally, if someone might prefer at least to use an «MS» tool, note how that blog post (and others) discuss using the Sysinternals tool Process Explorer, which can also offer that easy permissions UI to control start/stop permissions for a given service by a given user. One modest negative is that the service has to be running (as you then use ProcExp to find the process for that service, and use a properties feature to get to a «services» tab it then offers). For some, that may beat either of the two options above.

But like Mike above, I favor the CoreTech SSE tool. It’s free, simple, and has proven safe and effective in my using it on several dozen workstations and servers.

Hope the above may help others who find this question.

Содержание

  • 1 Как предоставить обычным пользователям права на запуск/остановку служб в Windows
    • 1.1 Встроенная утилита SC.exe (Service controller)
    • 1.2 SubInACL: назначаем права на службы с помощью утилиты Sysinternals
    • 1.3 Process Explorer: Установка разрешений на службу
    • 1.4 Шаблон безопасности (Security Template)
    • 1.5 Управление правами служб через групповые политики
    • 1.6 Назначаем разрешения на службу с помощью PowerShell
  • 2 Права на запуск\останов службы
    • 2.1 Способ 2: Использование шаблонов безопасности
    • 2.2 Метод 3: Subinacl.exe использовать
    • 2.3 Заметки
    • 2.4 Автоматизация многократных изменений
  • 3 Запуск, остановка и настройка системных служб. Системные службы Windows
    • 3.1 Метод 1: С помощью групповой политики
  • 4 Запрет запуска приложений и служб в Windows через групповые политики
    • 4.1 Блокирование запуска системной службы
    • 4.2 Запрет запуска приложений
    • 4.3 Область действия политик ограниченного использования программ и приоритет правил
    • 4.4 Настраиваем политику запрета программного обеспечения
    • 4.5 Полезные ссылки:

Разрешение на запуск системных служб Windows 10

WinITPro.ru  /  Windows 10  /  Windows Server 2012 R2  /  Windows Server 2016  /  Как предоставить обычным пользователям права на запуск/остановку служб в Windows

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

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

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

Предположим, нам нужно предоставить доменной учетной записи contoso\tuser права на перезапуск службы печати (Print Spooler) с системным именем Spooler.

Простого и удобного встроенного инструмента для управления разрешениями на службы в Windows нет. Мы рассмотрим несколько способ предоставления пользователю прав на службу:

Какой из них проще и удобнее – решать Вам.

Встроенная утилита SC.exe (Service controller)

Стандартный, встроенный в Windows способ управления правами на службы системы предусматривает использование утилиты sc.exe (Service Controller).

, проблема – зубодробительный синтаксис формата предоставления прав на сервис (формат SDDL).

Получить текущие права на службу можно так:

sc.exe sdshow Spooler

D:(A;;CCLCSWLOCRRC;;;AU)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA) (A;;CCLCSWRPWPDTLOCRRC;;;SY)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)

Что значат все эти символы?

S: — System Access Control List (SACL)
D: — Discretionary ACL (DACL)

Первая буква после скобок означает: разрешить (A, Allow) или запретить (D, Deny).

Следующая пачка символов – назначаемые права.

CC — SERVICE_QUERY_CONFIG (запрос настроек служы)LC — SERVICE_QUERY_STATUS (опрос состояния служы)SW — SERVICE_ENUMERATE_DEPENDENTS (опрос зависимостей)LO — SERVICE_INTERROGATECR — SERVICE_USER_DEFINED_CONTROLRC — READ_CONTROLRP — SERVICE_START (запуск службы)WP — SERVICE_STOP  (остановка службы)

DT — SERVICE_PAUSE_CONTINUE (приостановка, продолжение службы)

Последние 2 буквы, объекты (группа пользователей или SID), котором предоставляются права. Есть список предустановленных групп.

AU Authenticated Users

AO Account operatorsRU Alias to allow previous Windows 2000AN Anonymous logonAU Authenticated usersBA Built-in administratorsBG Built-in guestsBO Backup operatorsBU Built-in usersCA Certificate server administratorsCG Creator groupCO Creator ownerDA Domain administratorsDC Domain computersDD Domain controllersDG Domain guestsDU Domain usersEA Enterprise administratorsED Enterprise domain controllersWD EveryonePA Group Policy administratorsIU Interactively logged-on userLA Local administratorLG Local guestLS Local service accountSY Local systemNU Network logon userNO Network configuration operatorsNS Network service accountPO Printer operatorsPS Personal selfPU Power usersRS RAS servers groupRD Terminal server usersRE ReplicatorRC Restricted codeSA Schema administratorsSO Server operators

SU Service logon user

Можно вместо предустановленной группы явно указать пользователя или группу по SID. Получить SID пользователя для текущего пользователя можно с помощью команды:

whoami /user

или для любого пользователя домена с помощью PowerShell комаднлета Get-ADUser:

Get-ADUser -Identity ‘iipeshkov’ | select SID

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

sc sdset Spooler «D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;CCLCSWLOCRRC;;;SU)(A;;RPWPCR;;;S-1-5-21-2133228432-2794320136-1823075350-1000)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)»

SubInACL: назначаем права на службы с помощью утилиты Sysinternals

Гораздо проще воспользоваться консольной утилитой SubInACL из комплекта Sysinternals от Марка Руссиновича (права на которую вместе с автором теперь принадлежат Microsoft). Синтаксис этой утилиты гораздо проще и удобнее для восприятия. Как предоставить права перезапуска на службу с помощью SubInACL:

  1. Скачайте msi со страницы (https://www.microsoft.com/en-us/download/details.aspx?id=23510) и установите ее на целевой системе.
  2. В командной строке с правами администратора перейдите в каталог с утилитой: cd “ C:\Program Files (x86)\Windows Resource Kits\Tools\)”
  3. Выполните команду: subinacl.exe /service Spooler /grant=contoso\tuser=PTO

    Если нужно предоставить права на службу, запущенную на удаленном компьютере, синтаксис будет такой:
    subinacl /SERVICE \\msk-buh01\spooler /grant=contoso\tuser=F

  4. Осталось войти в данную систему под учетной записью пользователя и попробовать перезапустить службу командами:
    net stop spooler
    net start spooler

Если вы все сделали верно, служба должна остановиться и запуститься заново.

Process Explorer: Установка разрешений на службу

Достаточно просто изменить разрешения на службу с помощью еще одной утилиты Sysinternals — Process Explorer.

Запустите Process Explorer с правами администратора и найдите в списке процессов процесс нужной вам службы. В нашем примере это spoolsv.exe (диспетчер очереди печати — C:\Windows\System32\spoolsv.exe).

Откройте свойства процесса и перейдите на вкладку Services.

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

Шаблон безопасности (Security Template)

Более наглядный (но и требующий большего количества действий) графический способ управления правами на службы – с помощью шаблонов безопасности. Для реализации, откройте консоль mmc.exe и добавьте оснастку Security Templates.

Создадим новый шаблон (New Template).

Задайте имя нового шаблона и перейдите в раздел System Services. В списке служб выберите свою службу Print Spooler и откройте ее свойства.

Установите тип запуска (Automatic) и нажмите кнопку Edit Security.

С помощью кнопки Add добавьте учетную запись пользователя или группы, которым нужно предоставить права. В нашем случае, нам достаточно права Start, Stop and pause.

Сохраните шаблон (Save).

Если открыть этот файл, можно увидеть, что данные о правах доступа сохраняются в уже ранее упомянутом SDDL формате. Полученная таким образом строка может быть использована в качестве аргументы команды sc.exe.

[Unicode]
Unicode=yes
[Version]
signature=»$CHICAGO$»
Revision=1
[Service General Setting]
«Spooler»,2,»D:AR(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;IU)(A;;RPWPDTRC;;;S-1-5-21-3243688314-1354026805-3292651841-1127)S:(AU;FA;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;WD)»

Осталось с помощью оснастки Security Configuration and Analysis создать новую базу данных (Open Database) и импортировать наш шаблон безопасности из файла Spooler User Rights.inf.

Применим шаблон, вызвав из контекстного меню команду Configure Computer Now.

Теперь можно под пользователем проверить, что у него появились права на управление службой Print Spooler.

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

Если нужно раздать пользователям права запуска/остановки сервиса сразу на множестве северов или компьютерах домена, проще всего воспользоваться возможностями групповых политик (GPO).

  1. Создайте новую или отредактируйте существующую GPO, назначьте ее на нужный контейнер с компьютерами в Active Directory. Перейдите в раздел политик Computer configuration -> Windows Settings -> Security Settings -> System Services.
  2. Найдите службу Spooler и аналогично ранее рассмотренной методике предоставьте права пользователю. Сохраните изменения.
  3. Осталось дождаться применения политик на клиентских компьютерах и проверить применение настроек прав службы.

Назначаем разрешения на службу с помощью PowerShell

В галерее TechNet имеется отдельный неофициальный модуль PowerShell для управления разрешениями на разные объекты Windows — PowerShellAccessControl Module (скачать его можно здесь). Этот модуль позволяет он управлять правами на службы. Импортируйте модуль в свою сессию:

Import-Module PowerShellAccessControl

Получить эффективные разрешения на конкретную службу можно так:

Get-Service spooler | Get-EffectiveAccess -Principal corp\tuser

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

Get-Service spooler | Add-AccessControlEntry -ServiceAccessRights Start,Stop -Principal corp\tuser

Итак, мы разобрали несколько способов управления правами на службы Windows, позволяющих предоставить произвольному пользователю любые права на службы системы. В том случае, если пользователю требуется удаленный доступ к службе, без предоставления ему прав локального входа в систему, нужно разрешить пользователю удаленно опрашивать Service Control Manager.

Предыдущая статья Следующая статья

Источник: http://winitpro.ru/index.php/2016/01/29/upravlenie-pravami-na-sluzhby-windows/

Права на запуск\останов службы

Разрешение на запуск системных служб Windows 10
?

admin_dm (admin_dm) wrote,
2011-09-06 10:34:00 admin_dm
admin_dm
2011-09-06 10:34:00 Categories:

  • it
  • политика
  • компьютеры
  • Cancel

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

следующей статье базы знаний Майкрософт:

324802 
Настройка групповой политики безопасности для системных служб в Windows Server 2003 Перейти к началу страницы

Способ 2: Использование шаблонов безопасности

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

действия.

  1. Нажмите кнопку Начало, нажмите кнопку Запустить, тип MMC В диалоговом окне Открыть поле, а затем нажмите кнопку ОК.
  2. На Файл меню, нажмите кнопку Добавление и удаление оснастки.
  3. Нажмите кнопку Добавить, нажмите кнопку Анализ и настройка безопасности, нажмите кнопку Добавить, нажмите кнопку Закрыть, а затем нажмите кнопку ОК.
  4. В дереве консоли щелкните правой кнопкой мыши Анализ и настройка безопасности, а затем нажмите кнопку Открыть базу данных.
  5. Укажите имя и расположение для базы данных и нажмите кнопку Открыть.
  6. В Импорт шаблона в открывшемся диалоговом окне выберите шаблон безопасности, который требуется импортировать и нажмите кнопку Открыть.
  7. В дереве консоли щелкните правой кнопкой мыши Анализ и настройка безопасности, а затем нажмите кнопку Анализ компьютера.
  8. В Выполнение анализа в открывшемся диалоговом окне примите путь по умолчанию для файла журнала, который отображается в Путь файла журнала ошибок поле или укажите расположение и нажмите кнопку ОК.
  9. После завершения анализа настройте разрешения для службы следующим образом:
    1. В дереве консоли разверните узел Системные службы.
    2. В правой области дважды щелкните имя службы, разрешения которой требуется изменить.
    3. Выберите Определить следующую политику в базе данных Установите флажок и нажмите кнопку Изменение параметров безопасности.
    4. Чтобы настроить разрешения для нового пользователя или группы, нажмите кнопку Добавить. В Выбор пользователей, компьютеров или групп диалоговом окне введите имя пользователя или группы, которую требуется установить разрешения и нажмите кнопку ОК.
    5. В Разрешения для Пользователь или группасписок, настроить разрешения для пользователя или группы. Обратите

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

    6. Нажмите кнопку ОК два раза.
  10. Чтобы применить новые параметры безопасности для локального компьютера, щелкните правой кнопкой мышиАнализ и настройка безопасности, а затем нажмите кнопку Теперь настройки компьютера.

ПРИМЕЧАНИЕ:Можно использовать также средство командной строки Secedit Настройка ианализ безопасности системы. Для получения дополнительных сведений о

программе Secedit нажмите кнопку Начало, а затем нажмите кнопку Запустить. Тип cmd В диалоговом окне Открыть поле, а затем нажмите кнопку ОК. В командной строке введите: Secedit /?,

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

ранее настроенные файла, реестра или разрешения служб.

Перейти к началу страницы

Метод 3: Subinacl.exe использовать

Последнийспособ назначения прав управления службами состоит в использованиипрограммы Subinacl.exe из Windows 2000 Resource Kit. Синтаксис выглядит

следующим образом:

SUBINACL /SERVICE \\MachineName\ServiceName /GRANT = имя_пользователя [DomainName\] [= доступ]

Заметки

  • Пользователь, запустивший эту команду необходимо иметь права администратора для ее успешного завершения.
  • Если Имя_компьютера — Это аргумент опущен, предполагается локальный компьютер.
  • Если Имя_домена — Это аргумент опущен, локального компьютера выполняется поиск учетной записи.
  • Несмотря на то, что пример синтаксиса указывает имя пользователя, будет работать для групп пользователей слишком.
  • Значения, Доступ можно предпринять следующие: F : Full Control R : Generic Read W : Generic Write X : Generic eXecute L : Read controL Q : Query Service Configuration S : Query Service Status E : Enumerate Dependent Services C : Service Change Configuration T : Start Service O : Stop Service P : Pause/Continue Service I : Interrogate Service U : Service User-Defined Control Commands
  • Если Доступ Это, «F (полный доступ)» подразумевается.
  • Subinacl поддерживает аналогичные функциональные возможности для файлов, папок и разделов реестра. См. Пакет ресурсов Windows 2000 для получения дополнительных сведений.

Автоматизация многократных изменений

С помощью Subinacl не существует параметр не может указать, будет устанавливать права доступа для всех служб на конкретном компьютере. Однако приведенный ниже сценарий демонстрирует один из способов 3 метода может быть расширена для автоматизации задач: strDomain = Wscript.Arguments.Item(0)’domain where computer account is held strComputer = Wscript.Arguments.

Item(1)’computer netbios name strSecPrinc = Wscript.Arguments.Item(2)’user’s login name as in: DomainName\UserName strAccess = Wscript.Arguments.Item(3)’access granted, as per the list in the KB ‘bind to the specified computer set objTarget = GetObject(«WinNT://» & strDomain & «/» & strComputer & «,computer») ‘create a shell object.

Needed to call subinacl later set objCMD = CreateObject(«Wscript.Shell») ‘retrieve a list of services objTarget.filter = Array(«Service») For each Service in objTarget ‘call subinacl to se the permissions command = «subinacl /service » & Service.name & » /grant=» & strSecPrinc & «=» & strAccess objCMD.Run command, 0 ‘report the services that have been changed Wscript.

Echo «User rights changed for » & Service.name & » service» next

Запуск, остановка и настройка системных служб. Системные службы Windows

Разрешение на запуск системных служб Windows 10

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

– это системные программы, которые запускаются на компьютере вместе со стартом Windows и выполняют возложенные на них функции.

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

Упрощенно можно сказать что порт — это некий канал, позволяющий попасть определенным данным на ваш компьютер извне, то есть из компьютерной сети (интернет).

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

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

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

Отвлекаясь немного от темы, хочу еще раз подчеркнуть, что легкомыслие многих пользователей, считающих что до их скромной персоны никому нет дела, приносит порой большие неприятности… Не стоит думать, что кто-то именно на вас точит зуб…

В большинстве случаев злоумышленнику нужен ваш компьютер, а вовсе не вы. Зачем ему ваш компьютер? Возможно я напишу заметки на эту тему, но чуть позже.

Если же хотите получить ответ на этот вопрос сейчас, то проделайте небольшую «самостоятельную работу» и поищите в интернете информацию по запросу «ботнет».

Но можно ли как-то влиять на запуск системных служб? Да, можно, но делать это нужно осознанно.

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

Сделать это очень просто: во-первых, есть описание в самой службе, во-вторых, есть интернет и, задав вопрос Яндексу или Гуглу, вы всегда получите исчерпывающую информацию.

Чтобы получить доступ к службам Windows необходимо открыть соответствующую консоль. Делается это либо через (Администрирование — Службы)

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

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

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

Если тип запуска установлен «Автоматически», то служба будет автоматически запускаться при старте Windows. Службы с типом «Вручную» можно запустить вручную, или они могут быть запущены зависимыми от них службами.

Если служба отключена, она не будет запускаться.

Устанавливать тип запуска службы в состояние «Отключена», следует только в том случае, если вы на 100% уверены, что служба не понадобится вам, другим службами или аппаратной части, то есть устройствам вашего компьютера.

Системные службы Windows 7 достаточно сильно преобразились по сравнению с набором системных служб в Windows XP и даже в Vista. Изменился как количественный, так и качественный состав — появились «новички».

Но, перед тем как перейти к рассмотрению системных служб Windows 7 стоит лишний раз упомянуть, что их неправильная настройка может повлечь за собой отказ некоторых сервисов, частичную или даже полную потерю работоспособности операционной системой.

Так что, перед тем, как заходить в оснастку «Управление компьютером» — «Службы и приложения» — «Службы» — задумайтесь а действительно ли в этом есть необходимость.

Как правило, настраивают системные службы Windows 7, если хотят выиграть определённый процент производительности.

Например, когда компьютер использует в очень узкой области: он не подключён к сети, на нём не нужно запускать никаких программ кроме текстового редактора, нет необходимости в антивирусной защите и многом другом — есть возможность настроить это рабочее место таким образом, чтобы оно было максимально производительным.

И системные службы Windows 7, а точнее их умелая настройка нам в этом поможет.
На какие же именно службы стоит обратить внимание.

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

В первую очередь нас должны интересоватьсистемные службы Windows 7, тип запуска у которых установлен «Автоматический» — это означает, чтослужба запускается вместе со стартом самой операционной системы.

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

К примеру, по умолчанию тип запуска «автоматический» стоит у служб поддержки сети: DHCP-клиент и DNS-клиент.

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

Если же вы переведёте тип запуска службы «Windows Audio» в положение «отключено», то вы не сможете наслаждаться воспроизведением музыки и звуков на вашем компьютере.

Причём, возможно, что при этом некоторые программы или игры могут совсем перестать загружаться, не обнаружив требуемой для работы службы (то же самое, кстати, касается и всех остальных служб, в том числе DHCP-клиент и DNS-клиент).

Есть ряд служб, которые могут понадобиться вам только при условии участия вашей рабочей машины в домене — централизованно управляемой рабочей группе в сети. Пример таковой службы «Клиент групповой политики».

Так же существуют системные службы Windows 7 в чьи «обязанности» входит не выполнение каких-либо активных или фоновых задач, а лишь ведение протоколов работы других служб, например, служба «Журнал событий Windows».

Чем очень удобна Windows 7, так это тем, что практически по любой из существующих стандартных системных служб Windows 7 существует объёмная справка или хотя бы исчерпывающее описание. В рамках одной статьи невозможно раскрыть все особенности каждой из существующих в операционной системе служб, однако можно составить представление, по какому принципу вычислять критически важные службы.

Для начала необходимо хотя бы изучить описание, в котором предоставляется информация по службе. Рассмотрим службу под названием «Служба загрузки изображений Windows (WIA»).

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

А теперь задумайтесь: сможете ли вы отсканировать фотографию или страницу учебника, если отключить эту службу? Конечно, нет!

Соответственно принимать решение о функционировании той или иной системной службе Windows 7 необходимо отталкиваясь от повседневных нужд и потребностей вас как пользователя.

Метод 1: С помощью групповой политики

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

следующей статье базы знаний Майкрософт:

Запрет запуска приложений и служб в Windows через групповые политики

Разрешение на запуск системных служб Windows 10

В записи описывается как можно запретить запуск служб и приложений в windows при помощи групповых политик Active Directory. Рассматривается пример запрета TeamViewer.

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

  1. Блокировать работу TeamViewer на уровне сети — запретить обращаться к портам, серверам и анализировать содержимое пакетов
  2. Блокировать запуск ПО TeamViewer на уровне политик ОС

Я выбрал второй вариант.

Блокирование запуска системной службы

Первое что я захотел заблокировать (и заодно протестировать работу политики) — это запуск службы TeamViewer:

  • На доменном контролере запускаем оснастку Group Policy Managment
  • Создаем или переходим к редактированию групповой политики
  • В групповой политике переходим по адресу: Computer Configuration — Windows Settings — Security Settings — System Services
  • В списке сервисов находим тот, что нужен и дважды кликаем по нему, у меня это сервис TeamViewer
  • Ставим галочку возле «Define this policy setting»
  • В блоке «Select service startup mode» выбираем «Disabled»
  • Жмем на кнопку «Edit Security…» и выставляем права на чтение «Read» для Administrators и INTERACTIVE, все другие права снимаем. Для SYSTEM права не изменяем.
  • Дважды жмем OK
  • На локальном компьютере, где политику нужно применить именно сейчас, в командной консоли вводим команду «gpupdate /force» и после ее отработки перезагружаем компьютер.

Как добавить службу в групповую политику

Есть один нюанс: по умолчанию при редактировании групповой политики по адресу «Computer Configuration — Windows Settings — Security Settings — System Services» видны только те службы, который установлены на компьютере, где это редактирование происходит, в нашем случае это контроллер домена.

Чтобы в редакторе групповых политик в «System Services» добавить какую-либо службу, нужно сделать следующее:

  • На компьютере, где есть нужная нам служба, запускаем «Консоль Управления (MMC)»: Пуск — Выполнить — MMC
  • Выбираем меню «Консоль» — «Добавить или удалить оснастку»
  • В появившемся окне жмем кнопку «Добавить»
  • В списке доступных изолированных оснасток выбираем «Шаблоны безопасности» и жмем кнопку «Добавить», затем «ОК»
  • Разворачиваем в MMC «Шаблоны безопасности» и кликаем по «C:\Windows\Security\Templates»
  • В правой области окна кликаем правой кнопкой мышки, выбираем пункт «Создать шаблон» и прописываем имя для нового шаблона — «system services». Созданный шаблон должен появится в левой области окна.
  • В MMC переходим по адресу «Шаблоны безопасности — C:\Windows\Security\Templates — system services — «Системные службы»
  • Среди списка системных служб находим нужную службу, в моем случае это была TeamViewer и дважды кликаем по ней
  • Ставим галочку возле «Определить следующий параметр политики в шаблоне»
  • Откроется окно настройки безопасности:
    • для Администраторы и Интерактивные оставляем галочку только возле «Чтение», все остальные галочки снимаем.
    • для SYSTEM оставляем как есть.
    • жмем ОК
  • В блоке «Выберите режим запуска службы:» выбираем пункт «Запрещен» и жмем «ОК»
  • После этого среди списка шаблонов безопасности (в левой части окна) кликаем правой кнопкой мышки по «system services» и выбираем пункт «сохранить как…» — сохраняем файл и переносим его на доменный контроллер.
  • На доменном контроллере при редактировании нужной политики кликаем правой кнопкой мышки по «Computer Configuration — Windows Settings — Security Settings» и выбираем пункт «Import Policy» — импортируем сохраненный файл.
  • После этого нужная служба появится в списке «Computer Configuration — Windows Settings — Security Settings — System Services»: убеждаемся в этом и проверяем настройки.

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

Запрет запуска приложений

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

  • Правило зоны
  • Правило пути
  • Правило хеша
  • Правило сертификата

Правило зоны

Запрет запуска приложений *.msi из определенной зоны (Интернет, Локальный компьютер, Надежные узлы) — считаю этот метод блокировки бесполезным, исходя из того, что он маловостребованный

Правило пути

Блокировка по имени/пути файла или по пути в реестре (если программа хранит пути к своим рабочим каталогам в реестре). Можно использовать переменные среды или подстановочные знаки «?»  и «*».

Минус этого метода в том, что эту политику легко обойти: достаточно переместить или переименовать файл.

Плюс метода в том, что можно реализовать следующую логику: разрешить запуск программ ТОЛЬКО С определенных папок, таких как windows, program files и запретить пользователям что-либо в этих папках изменять\записывать.

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

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

Я решил проверить как работает правило пути: создал правило в котором указал запрет запуска если путь «*TeamViewer*». В результате TeamViewer не запускался до тех пор, пока я не нашел портативную версию и не переименовал ее файл.

Правило хеша

Для идентификации файла используется его хеш – это цифровой «отпечаток» файла. Хеш однозначно идентифицирует любой файл, независимо от того как он называется и где находится. То есть два файла с идентичным содержимым будут иметь один и тот же хеш. Это спасает от переименования и перемещения файлов.

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

Правило сертификата

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

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

Чтобы просмотреть и экспортировать сертификат издателя выполните следующие действия:

  • Правый клик мышки на exe-файле
  • Выберите пункт свойства — перейдите на вкладку цифровые подписи
  • В поле «список подписей» дважды кликните по подписи
  • Нажмите на кнопку «просмотр сертификата»
  • Перейдите на вкладку «Состав» и нажмите на кнопку «Копировать в файл…»
  • Выберите формат файла сертификата в DER или Base64-кодировке и жмите по кнопкам «далее» — дальше все должно быть понятно.

Также следует учесть один нюанс: для того чтобы правило сертификата работало нужно активировать их работу:

  • переходим к редактированию нужной политики
  • в политике переходим по адресу «Computer Configuration — Windows Settings — Security Settings — Local Policies — Security Options»
  • в самом низу находим «System settings: Use Certificate Rules on Windows Executables for Software Restriction Policies» («Параметры системы:использовать правила сертификатов для исполняемых файлов Windows для политик ограниченного использования программ») и дважды кликаем по нему
  • Ставим галочку возле «Define this policy setting» и выбираем «enabled»

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

Действие политик ограниченного использования программ не распространяется на:

  • Программы, запущенные от имени учетной записи SYSTEM
  • Драйверы и другие приложения уровня ядра
  • Макросы внутри документов Microsoft Office
  • Программы, написанные для общей многоязыковой библиотеки времени выполнения (Common Language Runtime) – эти программы используют политику безопасности доступа кода (Code Access Security Policy)

Приоритет применения правил выглядит так (по мере убывания приоритета):

  • Правило для хеша
  • Правило для сертификата
  • Правило для пути
  • Правило для зоны Интернета
  • Правило по умолчанию

Настраиваем политику запрета программного обеспечения

При редактировании политики переходим по адресу «Computer Configuration — Windows Settings — Security Settings — Software Restriction Policies»

Если политики для программного обеспечения  еще не определялись, то вы увидите предупреждение, что в случае их назначения новые правила перекроют параметры политик, унаследованных от других объектов GPO. Именно это мы и собираемся сделать, поэтому жмем правой кнопкой мышки по Software Restriction Policies и выбираем в меню «Create Software Restriction Policies». После этого увидим:

Общие настройки:

  • Enforcement — можно указать к чему\кому эти политики применяются (или можно оставить настройки по умолчанию):
    • Ко всем файлам программного обеспечения или ко всем файлам программного обеспечения кроме библиотек (таких как dll)
    • Ко всем пользователям или ко всем пользователям кроме администраторов
  • Designated File Types — указаны какие файлы считаются исполняемыми. Список уже сформирован, но при желании вы можете добавить или убавить типы файлов из этого списка.
  • Trusted Publishers — эта группа параметров позволяет настраивать реагирование политики на элементы управления ActiveX® и другое подписанное содержимое. Здесь можно указать, кто будет принимать решение о доверии подписанному содержимому (лучше оставить это право администраторам предприятия), а также задать параметры проверки сертификатов – проверить, не отозван ли сертификат, и удостовериться, что он не просрочен.

В папке Security Levels, будут два уровня:

  • Disallowed — когда все запрещено кроме того, что разрешено (разрешить можно в Additional Rules)
  • Unrestricted — все разрешено кроме того, что запрещено (запретить можно в Additional Rules)

Если кликнуть по одному из этих уровней, то можно увидеть кнопку «Set as default». По умолчанию включен уровень Unrestricted

В папке Additional Rules собственно и создаются разрешающие или запрещающие политики. По умолчанию там уже будут созданы политики для путей в реестре, которые разрешают запускать приложения из служебных\системных папок.

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

Я ограничивал Teamviewer по сертификату издателя: выбрал New Certificate Rule, в нем указал файл с сертификатом издателя (чуть выше описано как его получить) и в Security level выбрал «Disallowed», то есть запретить.

Если после настройки политик не терпится увидеть их работу на локальном компьютере, то в командной строке введите «gpupdate /force» и после выполнения команды перезагрузите компьютер.

Полезные ссылки:

  • windowsfaq.ru — Ограничение списка запускаемых программ при помощи групповых политик

=) Поделись с друзьями:

Источник: https://elims.org.ua/blog/zapret-zapuska-prilozhenij-i-sluzhb-v-windows-pri-pomoshhi-gruppovyx-politik/

  • Права доступа к каталогу windows
  • Почтовый клиент с поддержкой exchange для windows
  • Правильная настройка сети windows 10
  • Права для запуска службы windows
  • Почтовый клиент от google для windows