Sysadminium
В этой статье рассмотрим механизм AppLocker, который позволяет блокировать запуск определенных приложений для некоторых групп пользователей.
Оглавление скрыть
Теория
Механизм AppLocker впервые появился в Windows 8.1 и Windows Server 2012 и позволил:
- блокировать запуск приложений;
- работать в режиме аудита, при этом приложения будут запускаться но в журнале будут появляться записи.
AppLocker позволяет блокировать запуск следующих типов файлов:
- исполняемые (.exe, .com);
- установщики (.msi, .msp, .mst);
- сценарии (.ps1, .bat, .cmd, .vbs, .js);
- упакованные приложения (.appx);
- DLL-файлы (.dll, .ocx) — не включена по умолчанию.
AppLocker предоставляет простой GUI-механизм на основе правил для определения того, каким приложениям разрешено запускаться конкретными пользователями и группами. Эта технология использует два типа правил:
- разрешить запуск конкретных файлов, запретив всё остальное;
- запретить запуск конкретных файлов, разрешив всё остальное.
У каждого правила может быть список исключений. Например можно создать правило «Разрешить запускать всё в каталогах C:\Windows и C:\ProgramFiles, за исключением Regedit.exe».
AppLocker может идентифицировать приложения по:
- сертификату приложения. Например разрешить запускаться только программам подписанным определенным сертификатом;
- пути к каталогу с приложениями. Например разрешить запускаться только из определенного каталога;
- хешу файла. Интересный вариант, так как если приложение будет изменено, например вирусом, то хеш его изменится и оно не запустится. Но если приложение изменится в ходе обновления, то оно тоже не запустится.
Практика
На локальном компьютере правила AppLocker могут быть определены с помощью «Локальной политики безопасности (secpol.msc)». А в домене правила можно распространять групповой политикой безопасности.
Если нажать «Настроить применения правил«, то можно выбрать к каким типам файлов применять правила. А также нужно будет указать: применять правила или вести аудит:
Если нажать на какой-нибудь типе файлов, то вы перейдете в раздел, где сможете создать правила для этого типа файлов:
Давайте создадим правила «по умолчанию» и посмотрим на них:
Появились три правила, которые разрешают:
- всем пользователям запускать приложения из Programm Files;
- всем пользователям запускать приложения из Windows;
- только администраторам запускать приложения из любых мест.
Точно также можно добавлять правила и для других типов файлов.
Правила для DLL-библиотек
Включить коллекцию DLL-правил можно перейдя на вкладку «Дополнительно». Установите флажок «Включить коллекцию правил DLL» и нажмите кнопку ОК:
Условия работы AppLocker
Для работы AppLocker нужна работающая служба «Удостоверения приложений (AppIDSvc)»:
Имя статьи
В этой статье рассмотрим механизм AppLocker, который позволяющий блокировать запуск определенных приложений для некоторых групп пользователей
Sysadminium
Политики ограниченного использования программ (SRP)
В этой статье рассмотрим ещё один механизм, который ограничивает запуск программ в Windows, а именно Software Restriction Policies (SRP).
Оглавление скрыть
Настройка SRP
Механизм «Software Restriction Policies (SRP)» доступен в локальных политиках безопасности (secpol.msc) и может распространятся глобальными политиками в домене.
Чтобы создать политику, нужно нажать правой кнопкой мышки:
После чего появятся правила связанные с данной технологией:
Правила связанные с SRP
Выше у нас появились три правила:
- Применение (Enforcement) — настраивает применение политик к программам или библиотекам и определяет применение политик только к пользователям или к администраторам в том числе:
- Назначенные типы файлов (Designated File Types) — хранит расширения файлов, которые считаются исполняемым кодом:
- Доверенные издатели (Trusted Publishers) — а это правило управляет тем, кто может выбирать, какие из сертификатов являются доверенными:
Дополнительные правила
Если перейти в каталок «Дополнительные правила«, то там вы увидите созданные правила и сможете создать новые. Возможно создать правила для: сертификата, хэша, зоны сети (зоны Internet Explorer), пути.
Уровни безопасности
Дальше, при создании правила, нужно связать его с определенным уровнем безопасности:
- Запрещено (Disallowed) — программы запускаться не будут, вне зависимости от прав доступа пользователя;
- Обычный пользователь — разрешает выполнение программ, но только без прав администратора;
- Неограниченный (Unrestricted) — доступ к ресурсам определяется правами пользователя.
Эксперимент
- Запустите оснастку secpol.msc и перейдите к узлу «Политики ограниченного использования программ.
- Если политики не определены, то создайте новые политики.
- Создайте основанную на пути к файлу запрещающую политику для %SystemRoot%\System32\Notepad.exe в дополнительных правилах:
4. Попробуйте запустить «Блокнот» (notepad.exe).
Ваша попытка приведет к выводу сообщения, в котором говорится, что вы не можете выполнить указанную программу:
Важное уточнение
Если ваш компьютер включен в домен, то локальные групповые политики будут переписаны групповыми, это следует учитывать при работе с Software Restriction Policies.
Настройка групповых политик ограниченного использования программ в Windows 7
Прочитав статью Windows-компьютер без антивирусов, я загорелся такой идеей обеспечения безопасности и решил попробовать сделать у себя так же.
Поскольку у меня стоит 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).
Надеюсь описанный метод окажется для кого-то полезным и новым. По крайней мере я о таком ни от кого не слышал и нигде не видел.
- windows
- групповые политики
- безопасность
При подготовке материала использовались источники:
https://habr.com/ru/articles/101971/