суббота, 20 декабря 2008 г.

Групповая политика. Разрешить запуск файлов только из определенных мест.

Чтобы как-то уменьшить вероятность заражения вирусами нужно разрешить запуск исполняемых файлов определенным пользователям только из определенных мест, а именно
c:\program files
c:\windows
с сетевых дисков, в моем случае к этим дискам у этих пользователей права только на чтение, поэтому эти файл проверенны.

Возможность определения политики ограничения программного обеспечения (Software Restriction Policies SRP) для своих клиентских компьютеров, чтобы контролировать разрешенные и запрещенные для запуска программы

Делаю через групповую политику.

1. Создал GPO (Group Policy Object)

рис. 1

2. Добавил пользователей к к которым будет применяться эта политика.

рис.2

3. Редактирую созданную политику. Политики применяю к User, поэтому изменяю в User Configuration.
Открываем User Configuration - Windows Settings - Security Setting - Software Restrictions Polices
Сначала выдает что нужно сначала ее создать.

рис.3

Создаем ее, правой кнопкой мыши

рис.4

Создалась

рис.5

4. По умолчанию эта политика разрешает запускать без ограничений, поэтому идем в
Security Level и устанавливаем политику по умолчанию запрещающую запуск с любого места.

рис.6

Правда она запрещает не все, а добавляет пару правил, которые изменять не рекомендуется, если не понимаете что это такое, иначе будут проблемы. и эти правила создаются в папке Additional Rules

рис.7

5. В папке Additional Rules добавляем свои правила, откуда можно запускать исполняемые файлы. Правой кнопкой, создаем новый путь

рис.8

Я добавил %PROGRAMFILES%\* (это путь к папке Program Files)

рис. 9

рис.10


Еще я добавил
%SYSTEMROOT%\* (это путь к корневой папке Windows)

Теперь проверяем.
Заходим под учетной записью пользователя которому мы назначили эту политику.
Или если уже вы зашли на компьютер под этой учеткой, то можно просто обновить групповую политику: из командной строки
gpupdate /Force

Проверил, выясняется что приложения запускаются из указанных папок, но тут оказалось, что если пытаться запускать программу с ярлыка (пуск - программы - microsoft office) а сам ярлык находиться в папке которая из которой нельзя запускать программы, то программа тоже не запускается, поэтому разрешаю еще и папки

%ALLUSERSPROFILE%\* (размещение Пуск -> Программы в профиле «All Users»)
C:\Documents and Settings\Default User\Start Menu\* (размещение Пуск -> Программы в профиле «Default User»)
C:\Documents and Settings\Default User\Desktop\* (размещение Рабочего стола в профиле «Default User»)
C:\Documents and Settings\Default User\Главное меню\* (размещение Пуск -> Программы в профиле «Default User»)
C:\Documents and Settings\Default User\Рабочий стол\* (размещение Рабочего стола в профиле «Default User»)
%USERPROFILE%\Start Menu\* (размещение Пуск -> Программы в профиле залогиневшегося пользователя)
%USERPROFILE%\Главное меню\* (размещение Пуск -> Программы в профиле залогиневшегося пользователя)
%USERPROFILE%\Desktop\* (размещение Рабочего стола в профиле залогиневшегося пользователя)
%USERPROFILE%\Рабочий стол\* (размещение Рабочего стола в профиле залогиневшегося пользователя)


Еще разрешаю сетевые места откуда можно запускать
\\nameserver\folder\*

Все.

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


Ограничения SRP

Необходимо также учесть некоторые ограничения SRP. Область действия политики ограничения программного обеспечения (Software Restriction Policies) – это не вся операционная система, как вы могли ожидать. SRP не применяется для следующего кода:

* Драйвера или другое установленное программное обеспечение в режиме ядра
* Любая программа, выполняемая под учетной записью SYSTEM
* Макрос внутри документов Microsoft Office (у нас есть другие способы для их блокировки с использованием политик групп)
* Программы, написанные для common language runtime (эти программы используют политику Code Access Security Policy)