Автор: Михаил
Источник: http://www.silicontaiga.ru/
В Windows XP можно управлять разрешениями запуска программ с
помощью политик ограниченного использования программ. Эти политики
распространяются как на системы установленные на разделы с файловой
системой NTFS, так и на разделы с файловой системой FAT32. Чтобы
использовать эту возможность, откройте оснастку "Локальные параметры
безопасности" ("Панель управления - Администрирование - Локальная
политика безопасности" или наберите secpol.msc из меню "Выполнить")
и выберите в левой части оснастки пункт "Политики ограниченного
использования программ".
Политики ограниченного использования
программ предоставляют механизм идентификации программ и управления
возможностями их выполнения. Существует два варианта установки
правил ограничения:
- на все программное обеспечение
устанавливается ограничение на запуск и создаются исключения, то
есть список программ, разрешенных к выполнению;
- разрешается
запуск любых программ и создается список исключений, запрещающий
запуск некоторых программ, доступ к программам определяется правами
пользователя
Для того чтобы выбрать один из вариантов как вариант по
умолчанию, откройте пункт "Уровни безопасности" и выберите нужный
уровень. По умолчанию установлен уровень безопасности
"Неограниченный", то есть запуск любых программ разрешен и
необходимо создать исключения для запрета запуска определенных
программ.
Политики ограниченного использования программ
распространяются только на исполняемые файлы, чтобы посмотреть
список таких файлов, перейдите в пункт "Назначенные типы файлов". В
этот список можно добавить новый тип файлов, соответственно на такие
файлы будут распространяться все установленные правила, или удалить
какой-то тип, исключив такие файлы из правил политик.
По
умолчанию политики распространяются на всех пользователей
компьютера. Но при создании некорректных правил (например политик
ограничивающих запуск системных файлов), система может работать
неправильно, при этом существует риск что вы не сможете вернуть
систему в исходное состояние. Поэтому желательно распространять
действие политик только на пользователей, исключив из области
действия политик локальных администраторов. Для этого перейдите в
пункт "Принудительный" и выполните соответствующие настройки.
Кроме того в пункте "Принудительный" существует возможность
выбора, будут ли политики распространяться на файлы библиотек *.dll.
Если политики будут распространяться и на файлы *.dll, то при
установке уровня безопасности по умолчанию запрещающего выполнение
программ, придется создавать дополнительные разрешения для каждой
библиотеки которую использует программа, иначе программа будет
работать некорректно.
Для ограничения запуска программ их
следует идентифицировать, а затем установить правило. Рассмотрим два
основных варианта:
Ограничение с помощью создания правила для
хеша - хеш представляет собой своего рода цифровой "отпечаток
пальцев", являющийся уникальным для программы или файла и
вычисляющийся по специальным математическим алгоритмам. Файл может
быть переименован или перемещен в другую папку или на другой
компьютер, но его хеш останется неизменным. При внесении изменений в
файл его хеш изменяется. Но как правило, код программы является
неизменным и хеш однозначно идентифицирует файл. Чтобы создать
правило для хеша, перейдите в пункт "Дополнительные правила",
выберите в меню "Действие" пункт "Создать правило для хеша". В
открывшемся окне вы можете или ввести заранее вычисленный
хеш,
(например, для программы "Блокнот" это
fc15cc1d4dda7e73939fc6ec7fadc98e:66048:32771)
или выбрать
файл для вычисления хеша. В пункте "Безопасность" вы можете
установить правило для вычисленного хеша программы:
- "Не
разрешено" - программа не будет выполняться;
- "Неограниченный" -
возможность запуска определяется правами пользователя.
В пункт
"Комментарии" вы можете ввести заметки, объясняющие данное правило.
Ограничение с помощью создания правила для пути - правило
для пути идентифицирует программы по полному пути к файлу или папке.
То есть мы можем указать папку, программы из которой запускаться не
будут (или наоборот, будут, в зависимости какое разрешение нам
требуется создать). Чтобы создать правило для пути, перейдите в
пункт "Дополнительные правила", выберите в меню "Действие" пункт
"Создать правило для пути". При указании пути могут быть
использованы подстановочные символы * (заменяет
неограниченное количество символов) и ? (заменяет один символ) и
общие пути, например %userprofile%, %windir%, %appdata%,
%programfiles% и %temp%. При указании в качестве пути папки
правило распространяется на все вложенные папки и файлы. При
конфликте правил для пути приоритет имеет правило с большим
ограничением. Ниже приведен набор путей в порядке от высшего
приоритета (наибольшее ограничение) к низшему приоритету.
диск:\папка1\папка2\имя_файла.расширение
диск:\папка1\папка2\*.расширение
диск:\папка1\папка2\
диск:\папка1\
При конфликте двух похожих правил для пути приоритет имеет
правило с большим ограничением. Например, если имеется правило для
пути C:\Windows\ с уровнем безопасности "Не разрешено" и правило для
пути %windir% с уровнем "Неограниченный" (по сути это идентификация
одного и того же пути разными способами), будет применяться более
строгое правило с уровнем безопасности "Не разрешено".
Правило
для хеша имеет приоритет над правилом для пути, то есть если мы
имеем две правила, одно из них - правило для хеша notepad.exe с
уровнем безопасности "не разрешено", а другое - правило для пути
c:\windows\notepad.exe с уровнем безопасности "неограниченный", то
будет действовать правило для хеша, то есть программа запущена не
будет.
Небольшой пример использования политик для ограничения
инсталляции программ пользователями, которые не являются членами
группы администраторов и запрета запуска программ кроме программ
установленных администратором (привожу самый общий вариант, не
вдаваясь в подробности, предполагается что диск разбит на несколько
разделов, а все программы установлены на системный диск, на практике
может возникнуть потребность в создании дополнительных правил):
-
устанавливаем уровень безопасности по умолчанию "Не разрешено";
-
в пункте "Принудительный" устанавливаем применение политик для всех
пользователей кроме локальных администраторов;
- создаем правило
для пути для системного диска и устанавливаем уровень безопасности
как "Неограниченный";
- устанавливаем ограничение на запись в
системный диск для пользователей (оставляем чтение и выполнение и
просмотр содержимого) с помощью средств ограничения доступа (NTFS)
или с помощью программы Folder Guard (FAT32) (устанавливаем
системный диск только чтение);
- устанавливаем исключения на
запись и изменение некоторых нужных файлов на системном диске для
пользователей (например, если какая-то программа хранит параметры
конфигурации в файле, и пользователю разрешается изменять эти
параметры), если это необходимо, с помощью средств ограничения
доступа (NTFS) или с помощью программы Folder Guard (FAT32).
Политики ограничения использования программ вступают в силу
после повторного входа пользователя в систему.
Что получаем в
итоге: все программы установленные на системном диске
работоспособны; запуск исполняемых файлов запрещен на всех разделах
жесткого диска кроме системного, а также невозможен запуск с дискеты
или CD, пользователи не имеют прав на запись в раздел диска на
который установлена система, соответственно пользователи не могут
запускать или инсталлировать никакие новые программы.
Можно
создать файл журнала применения политик ограниченного использования
программ, для этого откройте редактор системного реестра, перейдите
в раздел
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Safer\CodeIdentifiers]
и создайте строковый параметр
LogFileName=x:\xx\name.log
где x:\xx\name.log - путь и имя файла журнала, например,
c:\MYLOG\safetylog.log
Теперь каждое применение политики
ограничения программ будет фиксироваться в этом файле. Файл
рекомендуется использовать для отладки правил. Не забудьте выставить
соответствующие права на этот файл чтобы он был доступен для записи
от имени пользователя.
Будьте осторожны в применении запрещающих
политик, особенно для системных файлов и папок. Многие приложения
запускают другие приложения для выполнения различных задач. Следует
быть уверенным, что все основные задачи используемых приложений
учтены правилами.