Каковы права пользователя на изменение правил брандмауэра Windows?
Я пытаюсь использовать COM-объекты из FirewallAPI.dll для программной установки правил брандмауэра Windows из приложения C#. Предполагается, что приложение запускается под учетной записью пользователя, не принадлежащего к группе администраторов.
Я борюсь с настройкой разрешений этой учетной записи пользователя для изменения брандмауэра.
Я дал этому пользователю полный доступ к HKLM\SYSTEM\CurrentControlSet\services\SharedAccess\Parameters\FirewallPolicy, это не помогает.
Когда я пытаюсь использовать INetFwRule::put_RemoteAddresses, я получаю исключение отказа в доступе. Как получить информацию о том, какие права отсутствуют?
1 ответ
Я нашел ответ. У пользователя должна быть группа "Операторы конфигурации сети", перечисленная с обязательным флагом в его токене безопасности.
Этого можно достичь, добавив пользователя в группу "Операторы конфигурации сети" и запустив процесс с повышенными привилегиями. Без повышенной целостности группа будет перечислена с флагом "Запретить", и у пользователя по-прежнему не будет доступа.