Контроль запуска приложений в Windows

Очень часто в организациях бывает необходимо запретить запуск определенных программ для пользователей. Со времен Windows XP/2003 в групповой политике есть замечательный инструмент в GPO — «Политика ограниченного использования программ«. Затем в Windows 2008/7 появился дополнительный инструмент под названием AppLocker.

В этом небольшом обзоре я хочу поделиться несколькими нюансами использования GPO, о которых очень мало информации в интернете.

В качестве примера мы возьмем вот такую ситуацию: есть сотрудники, которым разрешено носить домой свои служебные ноутбуки для выполнения различных заданий. Мы же со своей стороны хотим не допустить использование пиринговых сетей для скачивания разного рода ерунды. В стенах предприятия эта задача решается легко на фаерволе — блокируем весь трафик относящийся к uTorrent’у и прочим подобным клиентам. Но как быть, если сотрудник унес ноутбук домой, где интернет ничем не ограничен и человек может легко скачивать любой контент через uTorrent?
Чтобы запретить пользоваться определенной программой где бы то ни было приходится блокировать не трафик, который она генерирует, а саму программу в принципе. Благо для этого в групповой политике есть все необходимое. С помощью инструмента ограниченного использования программ есть три основных способа решения этой задачи:

1. Настроить всё так, что по умолчанию будет запрещен запуск любых программ за исключением белого списка. Способ в принципе хороший, но во-первых весьма опасный, потому как если в этот список по какой-либо причине не попадут необходимые компоненты Windows, то это может повлиять на работоспособность системы. Ну и во-вторых блокировать все это как-то не гуманно. По этим двум причинам этот способ мне не понравился.
2. Блокировать по маске названия или пути расположения файла программы. Плохой способ, потому что uTorrent установки не требует и при желании его можно положить в любую папку, а особо «продвинутые» пользователи переименуют исполняемый файл. Был файл utorrent.exe, а станет exploer.exe и все наши блокировки по названию плакали горькими слезами.
3. По хэш-сумме файла программы. Достаточно надежный способ. Хэш по своей сути это уникальный отпечаток файла, вычисляемый по специальной формуле. Перед запуском Windows вычисляет хэш запускаемого файла и сверяет его со значением прописанным в политике. Если хэши совпадают, то запуск запрещается. Недостаток этого способа в том, что каждый раз когда будет выходить новая версия uTorrent’а, вам каждый раз нужно будет добавлять хэш новой версии в политику блокировки. Постоянно следить за обновлениями программ и делать корректировки в политике не самая лучшая перспектива.
Но есть еще 4й способ блокировки — блокировка по цифровому сертификату издателя программы. В интернетах почему-то вскользь упоминается об этом способе, при этом все пишут много умных букв о том, что придется поднимать центры сертификации и прочее. Одним словом ахтунг! Чтобы развеять все эти домыслы мы сегодня во всех подробностях рассмотрим этот способ блокировки.
Открываем GPO, идем по пути Конфигурация компьютераКонфигурация WindowsПараметры безопасностиПолитика ограниченного использования программ:

Если вы до этого никогда не использовали этот инструмент, то вам необходимо создать политику по умолчанию. Для этого нажимаем правой кнопкой мыши по пунку «Политики ограниченного использования программ» и в появившемся меню выбираем «Создать новые политики». При этом у нас появятся дополнительные пункты ниже:

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

В окне Сведений нам надо будет нажать кнопку «Просмотр сертификата»:

Затем в окне свойств сертификата надо перейти на закладку «Состав» и нажать там кнопку «Копировать в файл»:
После чего запустится мастер сохранения сертификата в отдельный файл.
Теперь возвращаемся в редактор групповой политики. Переходим раздел «Дополнительные правила» и в правой части консоли MMC жмем правой кнопкой мыши в любом свободном месте. В появившемся меню выбираем пункт «Создать правило для сертификата»:

В появившемся окне с помощью кнопки «Обзор» добавляем наш ранее сохраненный сертификат, указываем «Уровень безопасности — Не разрешено» и жмем ОК:

Вот собственно почти всё. Теперь после применения политики на всех машинах с Windows XP при запуске любой версии программы uTorrent из любого места она будет блокироваться. При этом пользователю будет выводиться вот такое сообщение:

Один нюанс заключается в том, что по умолчанию правила запрета по сертификатам не работают, несмотря на то что в GPO они явно прописаны. А один раз я столкнулся с ситуацией, когда на Windows XP эти правила заработали, а в Winodws 7 нет. Если посмотреть первоисточник, то там сказано, что за ограничения запуска программ по правилам сертификата отвечает специальный ключ в реестре по пути:
HKLMSoftwarePolicyMicrosoftWindowsSaferCodeIdentifiers — AuthenticodeEnabled.
Значение ключа должно быть равно 1. В Windows 7, например, отсутствовал не только этот ключ, а целиком ветка CodeIdentifiers. Это тоже важно. Нужно чтобы был не только ключ, но и остальные параметры ветки. Поэтому для простоты настройки я сделал reg файл, который добавляет в реестр всё необходимое.
Удачных экспериментов!

admin

3 комментария к “Контроль запуска приложений в Windows”

Вы можетеоставить отзыв или Обратную ссылку эта запись.
  1. Dmitry - Сентябрь 10, 2014 Ответить

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

  2. Владимир - Октябрь 28, 2014 Ответить

    У вас винда на обеих машинах лицензионная стоит или нет? Может проблема именно в этом?

  3. Николай - Август 19, 2015 Ответить

    Спасибо за инструкцию)
    Если блокировать по сертификату, то будет ли заблокирована установка приложений после обновления сертификата разработчиком ПО (например, по истечении срока)? Или блокировка идёт по имени в сертификате?

Оставить отклик

Ваш адрес эл.почты не будет опубликован.