Многие программы при запуске требуют повышения прав (значок щита у иконки), однако на самом деле для их нормальной работы прав администратора не требуется (например, вы вручную предоставили необходимые права пользователям на каталог программы в ProgramFiles и ветки реестра, которые используются программой). Соответственно, при запуске такой программы из-под простого пользователя, если на компьютере включен контроль учетных записей, появится запрос UAC и от пользователя потребует ввести пароль администратора. Чтобы обойти этот механизм многие просто отключают UAC или предоставляют пользователю права администратора на компьютере, добавляя его в группу локальных администраторов. Естественно, оба этих способа небезопасны.

Зачем обычному приложению могут понадобится права администратора

Права администратора могут потребоваться программе для модификации неких файлов (логи, конфигурации и т.д.) в собственной папке в C:\Program Files (x86)\SomeApp). По умолчанию у пользователей нет прав на редактирование данного каталога, соответственно, для нормальной работы такой программы нужны права администратора. Чтобы решить эту проблему, нужно под администратором на уровне NTFS вручную назначить на папку с программой право на изменение/запись для пользователя (или группы Users).

Примечание . На самом деле практика хранения изменяющихся данных приложения в собственном каталоге в C:\Program Files неверна. Правильнее хранить данные приложения в профиле пользователя. Но это вопрос уже о лени и некомпетентности разработчиков.

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

Ранее мы уже описывали, как можно , с помощью параметра RunAsInvoker. Однако этот метод недостаточно гибкий. Также можно воспользоваться с сохранением пароля админа /SAVECRED (также небезопасно). Рассмотрим более простой способ принудительного запуска любой программы без прав администратора (и без ввода пароля админа) при включенном UAC (4,3 или 2 уровень ).

Для примера возьмем утилиту редактирования реестра — regedit.exe (она находится в каталоге C:\windows\system32). При запуске regedit.exe появляется окно UAC и, если не подтвердить повышение привилегии, редактор реестра не запускается.

Создадим на рабочем столе файл run-as-non-admin.bat со следующим текстом:

cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %1"

Теперь для принудительного запуска приложения без права администратора и подавления запроса UAC, просто перетащите нужный exe файл на этот bat файл на рабочем столе.

После этого редактор реестра должен запустится без появления запроса UAC. Открыв диспетчер процессов, и добавим столбец Elevated (С более высоким уровнем разрешений), вы увидите, что в системе имеется процесс regedit.exe с неповышенным статусом (запущен с правами пользователя).

Попробуйте отредактировать любой параметр в ветке HKLM. Как вы видите доступ на редактирование реестра в этой ветке запрещен (у данного пользователя нет прав на запись в системные ветки реестра). Но вы можете добавлять и редактировать ключи в собственной ветке реестра пользователя — HKCU.

Аналогичным образом можно запускать через bat файл и конкретное приложение, достаточно указать путь к исполняемому файлу.

run-app-as-non-admin.bat

Set ApplicationPath="C:\Program Files\MyApp\testapp.exe"
cmd /min /C "set __COMPAT_LAYER=RUNASINVOKER && start "" %ApplicationPath%"

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

Windows Registry Editor Version 5.00


@="cmd /min /C \"set __COMPAT_LAYER=RUNASINVOKER && start \"\" \"%1\"\""

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

Переменная окружения __COMPAT_LAYER и параметр RunAsInvoker

Переменная окружения __COMPAT_LAYER позволяет устанавливать различные уровни совместимости для приложений (вкладка Совместимость в свойствах exe файла). С помощью этой переменной можно указать настройки совместимости, с которыми нужно запускать программу. Например, для запуска приложения в режиме совместимости с Windows 7 и разрешением 640×480, установите:

set __COMPAT_LAYER=Win7RTM 640x480

Из интересных нам опций переменной __COMPAT_LAYER выделим следующие параметры:

  • RunAsInvoker - запуск приложения с привилегиями родительского процесса без запроса UAC.
  • RunAsHighest - запуск приложения с максимальными правами, доступными пользователю (запрос UAC появляется если у пользователя есть права администратора).
  • RunAsAdmin - запуск приложение с правами администратора (запрос AUC появляется всегда).

Т.е. параметр RunAsInvoker не предоставляет права администратора, а только блокирует появления окна UAC.

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

Поскольку у меня стоит Windows 7 Professional, первой идеей оказалось использование AppLocker"a, однако быстро выяснилось, что работать в моей редакции винды он не хочет, и требует Ultimate или Enterprise. В силу лицензионности моей винды и пустоты моего кошелька, вариант с AppLocker"ом отпал.

Следующей попыткой стала настройка групповых политик ограниченного использования программ. Поскольку AppLocker является «прокачанной» версией данного механизма, логично попробовать именно политики, тем более они бесплатны для пользователей Windows:)

Заходим в настройки:
gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Политики ограниченного использования программ

В случае, если правил нет, система предложит сгенерировать автоматические правила, разрешающие запуск программ из папки Windows и Program Files. Так же добавим запрещающее правило для пути * (любой путь). В результате мы хотим получить возможность запуска программ только из защищенных системных папок. И что же?
Да, это мы и получим, но вот только маленькая незадача - не работают ярлыки и http ссылки. На ссылки еще можно забить, а без ярлыков жить плоховато.
Если разрешить запуск файлов по маске *.lnk - мы получим возможность создать ярлык для любого исполняемого файла, и по ярлыку запустить его, даже если он лежит не в системной папке. Паршиво.
Запрос в гугл приводит к таким решениям: или разрешить запуск ярлыков из пользовательской папки, либо пользовать сторонние бары с ярлычками. Иначе никак. Лично мне такой вариант не нравится.

В итоге мы сталкиваемся с ситуацией, что *.lnk является с точки зрения винды не ссылкой на исполняемый файл, а исполняемым файлом. Бредово, но что ж поделать… Хотелось бы, чтобы винда проверяла не местонахождение ярлычка, а местонахождение файла, на который он ссылается.

И тут я нечаянно натолкнулся на настройки списка расширений, являщихся исполняемыми с точки зрения винды (gpedit.msc -> Конфигурация компьютера -> Конфигурация Windows -> Параметры безопасности -> Назначенные типы файлов). Удаляем оттуда LNK и заодно HTTP и релогинимся. Получаем полностью рабочие ярлычки и проверку на местонахождение исполняемого файла.
Было сомнение, можно ли будет передавать через ярлыки параметры - можно, так что все ок.

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

Также для любителей стрелять себе в ногу, можно создать папку в Program Files и кинуть ярлык для нее на рабочий стол, назвав, например «Песочницей». Это позволит запускать оттуда программы без отключения политик, пользуясь защищенным хранилищем (защита через UAC).

Надеюсь описанный метод окажется для кого-то полезным и новым. По крайней мере я о таком ни от кого не слышал и нигде не видел.

Некоторые действия обычных программ могут классифицироваться Kaspersky Total Security как опасные. Если Kaspersky Total Security блокирует работу программы, а вы уверены в ее безопасности, добавьте программу в список доверенных или создайте для нее правило исключений .

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

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

  1. В окне Настройка перейдите в раздел Защита и выберите Угрозы и исключения .
  1. В окне Параметры угроз и исключений нажмите на ссылку Указать доверенные программы .

  1. В окне Доверенные программы нажмите на кнопку Добавить .

  1. Укажите исполняемый файл доверенного приложения, нажав на ссылку Обзор или выбрав программу из списка (отображаются запущенные в данный момент программы).

  1. В окне Исключения для программы определите параметры применения правила, установив необходимые флажки:
    • Не проверять открываемые файлы - исключать из проверки все файлы, которые открываются процессом доверенного приложения.
    • Не контролировать активность программы Мониторинг активности любую активность (в том числе и подозрительную), которую выполняет доверенное приложение.
    • Не наследовать ограничения родительского процесса (программы) - активность программы контролируется согласно правилам, заданным пользователем. Если флажок снят, программа подчиняется правилам программы, которая ее запустила.
    • Не контролировать активность дочерних программ - исключать из проверки в рамках работы компонента Мониторинг активности любую активность (в том числе и подозрительную), которую выполняют дочерние процессы доверенного приложения.
    • Разрешить взаимодействия с интерфейсом Kaspersky Total Security .
    • Не проверять весь трафик - исключать из проверки на вирусы и спам сетевой трафик, инициируемый доверенным приложением. При установленном флажке Не проверять весь трафик НЕ проверяется трафик указанного приложения только на вирусы и спам . Однако это не влияет на проверку трафика компонентом Сетевой экран , в соответствии с параметрами которого анализируется сетевая активность данной программы.
    • Для исключения из проверки только зашифрованного сетевого трафика нажмите на ссылку Не проверять весь трафик и выберите Не проверять зашифрованный трафик , таким образом будет выбран только зашифрованный трафик (с использованием протокола SSL/TSL )
    • Кроме того, вы можете ограничить исключение конкретным удаленным IP-адресом / портом:
      • Чтобы не проверять определенный IP-адрес, установите флажок Только для указанных IP-адресов , а затем введите в поле IP-адрес.
      • Чтобы не проверять определенные порты, установите флажок Только для указанных портов ивведите в поле порты через запятую.
  2. В окне Исключения для программы нажмите на кнопку Добавить .

  1. Закройте окна программы.

В Kaspersky Total Security по умолчанию в доверенные программы с параметром Не проверять зашифрованный сетевой трафик добавлен файл %SystemRoot%\system32\svchost.exe - исполняемый файл системного сервиса Microsoft Windows Update . Защищенный трафик этого сервиса недоступен для проверки любому антивирусному ПО. В случае, если для этого сервиса не будет создано разрешающее правило, работа этого сервиса будет завершена с ошибкой.

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

Давайте рассмотрим как она работает.

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

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

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

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

В режиме редактирования есть возможность добавлять программы в список как с помощью меню «Файл» -> «Добавить», так и просто перетащив мышкой ярлык приложения в левое окно утилиты. После чего в правой части окна программы появится вся необходимая информация о запуске выбранного приложения.

Главное — убедиться что она будет запускаться от имени Админа, на тот случай если там установлена иная настройка.

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

Когда обычные пользователи будут использовать RunAsTool, то они не увидят режима редактирования. Для этих пользователей будет доступно только простое окно с иконками программ, которые они смогут запускать с административными правами. Но в том случае если возникнет необходимость вернуться в режим редактирования и изменить список программ или другие настройки, то это легко можно будет сделать через меню «Файл» -> «Включить режим редактирования», на что утилита попросит повторно ввести пароль.

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

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

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

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

Разрешение обмена данными с приложениями в брандмауэре Защитника Windows.

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

Шаг 1: Откройте «Центр безопасности Защитника Windows» .

Шаг 2: Нажмите на «Брандмауэр и безопасность сети» .

Шаг 4: В окне , нажмите кнопку «Изменить параметры» .

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

Быстрый совет: Если приложение отсутствует в списке, нажмите кнопку «Разрешить другое приложение» , чтобы найти приложение, которому нужно разрешить доступ к сети интернет.

Шаг 6: Выберите, к какому типу сети приложение может получить доступ:

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

Шаг 7: Нажмите кнопку «ОК» .

После того, как вы выполните шаги описанные выше, приложение теперь будет свободно получать доступ к сети.

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

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