Обмеження програмного забезпечення для програмного забезпечення Windows 2003


9

Ми запускаємо ферму термінальних серверів у домені Windows 2003, і ​​я виявив проблему з налаштуваннями GPO обмежень програмного забезпечення, які застосовуються до наших серверів TS. Ось деталі нашої конфігурації та проблема:

На всіх наших серверах (контролери домену та сервери терміналів) працює Windows Server 2003 SP2, і домен, і ліс знаходяться на рівні Windows 2003. Наші сервери TS знаходяться в ОУ, де у нас є пов'язані конкретні групи GPO і спадщина заблокована, тому до цих TS-серверів застосовуються лише конкретні групи GPO. Наші користувачі віддалені і не мають робочих станцій, приєднаних до нашого домену, тому ми не використовуємо обробку політики зворотного зв'язку. Ми застосовуємо "білий список", щоб дозволити користувачам запускати програми, тому запускаються лише ті програми, які ми затверджуємо та додаємо як правила шляху чи хешу. У нас рівень безпеки в обмеженнях програмного забезпечення встановлено на Заборонено, а для виконання - на "Усі файли програмного забезпечення, крім бібліотек".

Я виявив, що якщо я даю користувачу ярлик до програми, він зможе запустити програму, навіть якщо її немає в списку додаткових правил "дозволених" програм. Якщо я даю користувачеві копію головного виконуваного файлу програми та він спробує запустити, він отримає очікуване повідомлення "ця програма була обмежена ...". Схоже, обмеження програмного забезпечення дійсно працюють, за винятком випадків, коли користувач запускає додаток за допомогою ярлика, на відміну від запуску програми з самого головного виконуваного файлу, що, здається, суперечить меті використання обмежень програмного забезпечення.

Мої запитання: чи хтось ще бачив таку поведінку? Чи може хтось інший відтворити таку поведінку? Чи щось я пропускаю в розумінні обмежень програмного забезпечення? Можливо, я щось неправильно налаштував у обмеженнях програмного забезпечення?

EDIT

Щоб трохи уточнити проблему:

Ніяких GPO вищого рівня не застосовуються. Запуск gpresults показує, що насправді застосовуються лише GPO рівня TS, і я дійсно бачу, як застосовуються мої програмні обмеження. Жодні підстановочні знаки шляху не використовуються. Я тестую програму, яка знаходиться у "C: \ Program Files \ Application \ Executable.exe", і виконувану програму немає в жодному правилі шляху чи хеша. Якщо користувач запускає основну програму, що виконується безпосередньо з папки програми, обмеження програмного забезпечення застосовуються. Якщо я даю користувачу ярлик, який вказує на програму, що виконується, на "C: \ Program Files \ Application \ Executable.exe", вони зможуть запустити програму.

EDIT

Також файли LNK перелічені у призначених типах файлів, тому їх слід розглядати як виконувані файли, що означає, що вони пов'язані тими самими налаштуваннями та правилами програмного обмеження.


Чи є у вас групові групи із вищими рівнями або на рівні домену, які застосовуються? Я також перевірив би шляхи, на яких є малі символи або які в іншому випадку можуть дозволити виконання з контуру ярлика.
Chris S

@Chris S: Дивіться мою редакцію.
joeqwerty

Ви зробили "gpresult / z / user dom \ user" і уважно подивились на результати?
тоні рот

Так. Я не бачу нічого, що дасть мені зрозуміти причину. Дякую за пропозицію.
joeqwerty

@joeqwerty, Що має означати joeqwerty?
Pacerier

Відповіді:


5

Тому я нарешті знайшов відповідь. У наших правилах обмеження програмного забезпечення існує правило маршруту як таке:

% HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ ProgramFilesDir%

Це дозволяє виконувати будь-які виконувані файли всередині каталогу програмних файлів, а дочірні каталоги працюватимуть без назви. Цей шлях додається за замовчуванням під час налаштування обмежень програмного забезпечення. Видалення цього правила шляху призводить до відмови у всіх програмованих, навіть якщо їх виконуваний файл явно додається як необмежений шлях.

Виникає питання: Якщо 99% всіх програм встановлено в каталог програмних файлів, але я хочу обмежити певні програми, як я можу досягти цього за допомогою програмних обмежень?

Не менш важливим є питання, що саме таке обмеження програмного забезпечення, за винятком програм або виконуваних файлів, які не розміщені у файлах програми?


0

Я би перевірив ACL на ярлику, який ви створили для користувачів. Відповідно до політики обмеження програмного забезпечення Кращі практики: Політика безпеки; Служби безпеки ,

Користувачі можуть спробувати обійти політику обмеження програмного забезпечення шляхом перейменування або переміщення заборонених файлів або перезапису необмежених файлів. Як результат, рекомендується використовувати списки контролю доступу (ACL), щоб заборонити користувачам доступ, необхідний для виконання цих завдань.


Користувачі не мають доступу для виконання дій, тому я не думаю, що це стосується. Дякую.
joeqwerty

0

Ви можете спробувати видалити LNK як призначений тип файлу. Хоча вони й розглядаються як виконувані файли, вони не повинні бути. Таким чином, обмеження програмного забезпечення повинні застосовуватися до виконуваного файлу, на який спрямований файл LNK, а не до самого файлу LNK.


Хм ... я не думав це намагатися. Я дам йому кружляння і повідомляю, чи працює він.
joeqwerty

0

Я пережив те, про що ви говорите - це дуже дратує. Я майже впевнений, що за замовчуванням ваші користувачі можуть запускати програми, встановлені в програмних файлах.

Ви намагалися таким чином обмежити доступ до програм із дозволами NTFS та білим списком?

Тоді користувачі можуть мати ярлики до всього, що вони хочуть, і це не допоможе їм, оскільки вони не зможуть отримати доступ до програми.

Посилання: http://www.virtualizationadmin.com/articles-tutorials/terminal-services/security/locking-down-windows-terminal-services.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.