Каковы права пользователя на изменение правил брандмауэра Windows?

Я пытаюсь использовать COM-объекты из FirewallAPI.dll для программной установки правил брандмауэра Windows из приложения C#. Предполагается, что приложение запускается под учетной записью пользователя, не принадлежащего к группе администраторов.

Я борюсь с настройкой разрешений этой учетной записи пользователя для изменения брандмауэра.

Я дал этому пользователю полный доступ к HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy, это не помогает.

Когда я пытаюсь использовать INetFwRule::put_RemoteAddresses, я получаю исключение отказа в доступе. Как получить информацию о том, какие права отсутствуют?

1 ответ

Решение

Я нашел ответ. У пользователя должна быть группа "Операторы конфигурации сети", перечисленная с обязательным флагом в его токене безопасности.

Этого можно достичь, добавив пользователя в группу "Операторы конфигурации сети" и запустив процесс с повышенными привилегиями. Без повышенной целостности группа будет перечислена с флагом "Запретить", и у пользователя по-прежнему не будет доступа.

Другие вопросы по тегам