Фон
Большинство инсталляционных инструментов имеют возможность запускать, автоматически или нет, внешние программы после установки. Это часто появляется в установщике с помощью таких параметров, как «Показать readme» или «Запустить программу».
вопрос
Проблема в том, что многие из этих установщиков плохо закодированы и не удаляют разрешения соответствующим образом. Например, автоматический запуск приложения или открытие домашней страницы приложения в браузере часто приводит к запуску приложения или браузера с правами администратора установщика или с высоким уровнем целостности UAC!
Это может привести к уязвимостям безопасности, открыв установленное приложение или веб-страницу (и, возможно, надстройки браузера), которые теперь работают с повышенными разрешениями.
(Именно по этой причине я настоятельно рекомендую никогда не выбирать параметры автозапуска при установке программного обеспечения.)
Вопрос
Есть ли способ , чтобы предотвратить некоторые приложения (например, веб - браузер) из когда - либо запускаются с правами администратора, то есть автоматический отсев привилегии на основе имени процесса?
Ответы:
Я в принципе согласен с ответом "RUNAS".
Мне кажется, что вы хотите, чтобы экземпляры подпроцесса были автоматически ограничены, если они работают от имени администратора.
Есть пара подходов. Тем не менее, они / могут быть решительными и не для робкого администратора, потому что накладные расходы раздражают. Они сделают работу, хотя.
Показывается только первый подход, если не требуется больше :
Для каждого приложения вы хотите ограничить:
Теперь члены группы администраторов не могут выполнить этот файл. Они могут вернуться и изменить разрешения, чтобы не проверять, чтобы они могли запустить его, но они должны сознательно делать это.
Кроме того, поскольку вы беспокоитесь о том, что это происходит во время установки, вам нужно выполнить ту же процедуру для «пользователя» СИСТЕМЫ , который также (эффективно) запускается также как администратор, поскольку эта учетная запись может использоваться во время некоторых установок ( учетные данные учетной записи Windows «ADMIN» можно использовать для получения токена учетных данных SYSTEM ... но это далеко за пределы того, к чему относится этот вопрос).
Вот некоторая картина, делающая это на Windows 7:
источник
Вы должны быть в состоянии достичь более низкого уровня прав с помощью dropmyrights или psexec.
Кажется, что сложно сделать так, чтобы это происходило автоматически, когда установщик создает новый экземпляр приложения.
Для этого я подозреваю, что вам, по крайней мере, потребуется настроить ассоциации файлов для всех соответствующих типов файлов, а также для URL-адресов, добавив существующую команду, например, с помощью команды psexec.
Это будет работать до тех пор, пока установщик пытается открыть файл / URL с соответствующим приложением, а не указывать исполняемый файл для запуска. Если путь к исполняемому файлу указан явно, я думаю, вам нужно заменить стандартный исполняемый файл на исполняемый файл shim, который запускает нужную вам команду.
источник
Одна вещь, которую здесь упускают, это то, что Internet Explorer и Windows Explorer НЕ МОГУТ иметь повышенные разрешения (если вы не взломали реестр). Я не знаю о Firefox, Chrome и т. Д., Но если вы попытаетесь запустить Internet Explorer от имени администратора, он с радостью примет ваши учетные данные, но на самом деле не повысит разрешения. Это функция безопасности Windows Vista и выше. И, кроме того, единственное, что UAC не действует (если вы не отключили его), это если вы вошли в систему со встроенной учетной записью администратора. То, что что-то было установлено с повышенными разрешениями, не означает, что установщик может предоставить этой программе повышенные разрешения. Разрешения определяются учетной записью, под которой была запущена программа. Единственный способ, которым программа может быть запущена с повышенными правами без вашего ведома, это если
источник
Объяснение / Шаг за шагом
Щелкните правой кнопкой мыши на командной строке и выберите «Запуск от имени администратора». Тип:
Выберите уровень доверия, подходящий для вашего приложения, где
X
вы хотите использовать уровень доверия, и введите:источник
Я посмотрел на различные решения, и я уже могу сказать вам, что манифесты приложений или флаги appcompat не будут работать (да, это не реальный ответ, но я все еще хотел поделиться этим;))
то, что может быть близко к тому, что вы ищете, это так называемый уровень целостности , он может быть установлен в файловой системе (ACL) и влияет на токен, который содержит процесс
В этой статье объясняется, как сделать так, чтобы исполняемый файл всегда работал на «низком уровне целостности».
другим подходом будет сторонний инструмент, такой как монитор процессов в режиме реального времени, который использует сканер вирусов или брандмауэр приложений, но я не знаю ни одного, который можно настроить таким образом.
источник
Вы можете использовать AppLocker.
Я считаю, что это доступно в Windows 7 Enterprise, Ultimate и Server 2K8 и выше. Не уверен насчет Windows 8, но предположил бы, что он будет одинаковым (Enterprise и Ultimate).
Вы можете настроить AppLocker, зайдя в групповую политику:
Конфигурация компьютера -> Настройки Windows -> Настройки безопасности -> Политики управления приложениями -> AppLocker -> Исполняемые правила.
Щелкните правой кнопкой мыши и «Создать новое правило ...»
Здесь вы можете заблокировать запуск определенных исполняемых файлов выбранными пользователями или группами. В вашем примере вы можете запретить запуск Internet Explorer группой «Администраторы».
источник