Я задал этот вопрос на Суперпользователь безрезультатно некоторое время назад, прежде чем понять, что serverfault может быть лучшим вариантом.
Я настраиваю управление выполнением на компьютере под управлением Windows 7 SP1 Ultimate с одним жестким диском с одним разделом. В AppLocker есть возможность создавать «правила по умолчанию». В случае группы «Исполняемые правила» это следующие:
- Разрешить всем Путь% PROGRAMFILES% *
- Разрешить всем путь% WINDIR% *
- Разрешить BUILTIN \ Administrators Path *
(Без исключений.)
Когда все это на месте, «все работает, как ожидалось». Однако, если первые два правила, применяемые к «Всем», будут удалены, все пойдет наперекосяк.
Теперь вход с использованием учетной записи из группы безопасности BUILTIN \ Administrators больше невозможен. (Если учетная запись ранее уже была авторизована, вам может потребоваться перезагрузить компьютер, чтобы увидеть ошибку. Кроме того, это не относится к учетной записи BUILTIN \ Administrator, которая по-прежнему работает). Что происходит, когда вы пытаетесь:
Имеется задержка, и когда должен быть представлен рабочий стол, экран становится пустым. Тогда не более того. Компьютер не перестает отвечать, например Ctrl + Alt + Delete по-прежнему работает.
(Если я перенастрою AppLocker, чтобы явно разрешить BUILTIN \ Administrators привилегии выполнения для% WINDIR% * или восстановить это правило для «Все», эти учетные записи могут снова войти в систему.)
В соответствии с MSDN:
В поле Путь можно использовать подстановочный знак звездочки (*). Символ звездочки (*), используемый сам по себе, представляет любой путь. В сочетании с любым строковым значением правило ограничивается путем к файлу и всем файлам по этому пути. Например,% ProgramFiles% \ Internet Explorer * указывает, что все файлы и подпапки в папке Internet Explorer будут затронуты правилом.
Для меня это означает, что правило по умолчанию для BUILTIN \ Administrators должно полностью перекрывают правила по умолчанию, созданные для «Все», делая их избыточными в случае учетных записей, принадлежащих к группе BUILTIN \ Administrators. Как видите, похоже, что это не так.
Итак, у меня есть два вопроса по этому поводу:
Насколько я понимаю, ваша проблема связана с тем, как Windows обрабатывает учетные записи администратора.
Изначально, поскольку в Windows Vista административные учетные записи фактически не имеют административных прав сразу, и вам необходимо повысить права администратора с помощью контроля доступа пользователей, UAC (например, если вы попытаетесь изменить настройки системы, вы получите приглашение UAC с вопросом, знаете ли вы, что делаете). Пока вы этого не сделаете, учетная запись пользователя будет иметь только тот же уровень разрешений, что и обычный пользователь.
Следовательно, когда вы входите в систему как член группы администраторов, ваша учетная запись пользователя технически не имеет прав администратора (поскольку вы не повышали уровень с помощью UAC) и, следовательно, не соответствует требованиям вашего «Разрешить * "правило. Затем ваш сеанс Windows разрушается, потому что ваша учетная запись пользователя не имеет разрешения на запуск каких-либо системных файлов Windows, необходимых во время входа в систему.
У меня есть аналогичная проблема в одной из моих сред AppLocker, я не блокирую файлы программ и каталоги Windows так сильно, как вы (удаляя правила по умолчанию), но у меня есть правило, в основном говорящее "Члены BUILTIN \ Администраторы, разрешите * ". Однако, когда вы входите в систему как администратор и пытаетесь дважды щелкнуть произвольный исполняемый файл вне Windows / Program Files, вы получаете нарушение AppLocker, и это не позволяет вам запустить его. Вместо этого вам нужно щелкнуть его правой кнопкой мыши и выбрать «Запуск от имени администратора»; только тогда AppLocker поймет, что вы действительно являетесь членом BUILTIN \ Administrators.
Возможные обходные пути:
Отключите UAC (я никогда не тестировал это, не уверен, что он будет работать - в нашей среде мы оставляем UAC включенным)
Создайте новую локальную группу Windows под названием «Системные администраторы» или что-то в этом роде и добавьте в нее отдельные учетные записи пользователей Windows людей, которые должны иметь к ней доступ (но имеют не просто добавьте в него BUILTIN \ Administrators); затем создайте правило AppLocker, в котором говорится, что членам группы «Системные администраторы» разрешено запускать что угодно.
Сохраните разрешающие правила по умолчанию, созданные Windows, но затем добавьте некоторые правила «Запретить», которые применяются к конечным пользователям, не позволяя им получить доступ к определенным файлам в каталогах Windows и Program Files, которые вас беспокоят. Это то, что мы делаем в нашей среде (например, разрешаем C: \ Windows \ *, но блокируем доступ к cmd.exe, PowerShell.exe, regedit.exe и т. Д.). Имейте в виду, что правило запрета всегда переопределяет правило разрешения. .
Если вы еще этого не сделали, обязательно включите ведение журнала AppLocker и посмотрите на средство просмотра событий Windows, поскольку оно должно предоставить информацию о том, почему конкретному пользователю не разрешено что-либо запускать. Также ознакомьтесь с Test-AppLockerPolicy
Команда PowerShell для имитации того, что разрешено, а что нет для конкретного пользователя и исполняемого файла (хотя я не уверен, что она доступна в Windows 7, вам может потребоваться обновить свою версию PowerShell).