У нас работает ферма серверов терминалов в домене Windows 2003, и я обнаружил проблему с настройками GPO ограничений программного обеспечения, которые применяются к нашим серверам TS. Вот подробности нашей конфигурации и проблемы:
Все наши серверы (контроллеры домена и терминальные серверы) работают под управлением Windows Server 2003 SP2, а домен и лес находятся на уровне Windows 2003. Наши серверы TS находятся в OU, где у нас есть определенные GPO, связанные и наследование заблокировано, поэтому к этим серверам TS применяются только определенные GPO. Все наши пользователи являются удаленными и не имеют рабочих станций, подключенных к нашему домену, поэтому мы не используем обработку политики замыкания на себя. Мы используем подход «белого списка», позволяющий пользователям запускать приложения, поэтому могут запускаться только те приложения, которые мы одобряем и добавляем в качестве правил пути или хеширования. У нас для уровня безопасности в ограничениях программного обеспечения установлено значение «Запрещено», а для принудительного применения установлено значение «Все файлы программного обеспечения, кроме библиотек».
Я обнаружил, что если я даю пользователю ярлык для приложения, он может запустить приложение, даже если его нет в списке дополнительных правил приложений из «белого списка». Если я даю пользователю копию основного исполняемого файла для приложения, и он пытается его запустить, он получает ожидаемое сообщение «Эта программа ограничена ...». Похоже, что ограничения программного обеспечения действительно работают, за исключением случаев, когда пользователь запускает приложение с помощью ярлыка, а не запускает приложение из самого основного исполняемого файла, что, похоже, противоречит цели использования ограничений программного обеспечения.
Мои вопросы: кто-нибудь еще видел такое поведение? Может ли кто-нибудь еще воспроизвести такое поведение? Я что-то упустил в своем понимании ограничений программного обеспечения? Возможно ли, что у меня что-то неправильно настроено в ограничениях программного обеспечения?
РЕДАКТИРОВАТЬ
Чтобы немного прояснить проблему:
Объекты групповой политики более высокого уровня не применяются. Запуск gpresults показывает, что на самом деле применяются только объекты групповой политики уровня TS, и я действительно могу видеть, как применяются мои программные ограничения. Подстановочные знаки пути не используются. Я тестирую приложение, которое находится в «C: \ Program Files \ Application \ исполняемый файл. Exe», а исполняемый файл приложения не находится ни в каком пути или в правиле хеширования. Если пользователь запускает основной исполняемый файл приложения непосредственно из папки приложения, Ограничения по программному обеспечению применяются. Если я дам пользователю ярлык, который указывает на исполняемый файл приложения в «C: \ Program Files \ Application \ исполняемый файл. Exe», он сможет запустить программу.
РЕДАКТИРОВАТЬ
Кроме того, файлы LNK перечислены в списке назначенных типов файлов, поэтому их следует рассматривать как исполняемые файлы, что должно означать, что они связаны одними и теми же настройками и правилами ограничений программного обеспечения.
Итак, я наконец нашел ответ. В наших правилах ограниченного использования программ есть правило пути как таковое:
% HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ProgramFilesDir%
Это позволяет любому исполняемому файлу в каталоге Program Files и его дочерних каталогах работать без нагрузки. Этот путь добавляется по умолчанию при настройке программных ограничений. Удаление этого правила пути приводит к отклонению всех программ, даже если их исполняемый файл явно добавлен как неограниченный путь.
Возникает вопрос: если 99% всех программ установлены в каталог Program Files, но я хочу ограничить определенные программы, как я могу добиться этого с помощью Software Restrictions?
Не менее важен вопрос, что конкретно хорошего в ограничениях программного обеспечения, кроме тех программ или исполняемых файлов, которые не находятся в Program Files?
Вы можете попробовать удалить LNK как обозначенный тип файла. Даже если они рассматриваются как исполняемые файлы, этого не должно быть. Таким образом, программные ограничения должны применяться к исполняемому файлу, на который нацелен файл LNK, а не к самому файлу LNK.
Я бы проверил ACL на ярлыке, который вы создали для пользователей. В соответствии с Рекомендации по использованию политик ограниченного использования программ: политика безопасности; Охранные услуги,
Пользователи могут попытаться обойти политики ограниченного использования программ, переименовав или переместив запрещенные файлы или перезаписав файлы без ограничений. В результате рекомендуется использовать списки управления доступом (ACL), чтобы запретить пользователям доступ, необходимый для выполнения этих задач.
Я испытал то, о чем вы говорите - это очень раздражает. Я уверен, что по умолчанию вашим пользователям разрешено запускать приложения, установленные в Program Files.
Вы пробовали таким образом ограничивать доступ к приложениям с разрешениями NTFS и белым списком?
Тогда у пользователей могут быть ярлыки для всего, что они хотят, и это им не поможет, поскольку они не смогут получить доступ к программе.