На варті безпеки – Software Restriction Policies
Архів номерів / 2008 / Випуск №9 (70) / На варті безпеки – Software Restriction Policies
ВАДИМ ПОДАНС
На варті безпеки – Software Restriction Policies
Дбаєте про безпеку мережі? Для цього необов'язково купувати нові дорогі продукти, оскільки найчастіше високоефективні кошти вже куплені вами, але не використовуються. Навчіться ефективно застосовувати їх.
Завданням кожного системного адміністратора є підтримка безпеки IT-інфраструктури свого підприємства, а також обмежувати запуск непотрібних користувачеві для роботи додатків.
Microsoft пропонує інтегроване в лінійку Windows Server та лінійку корпоративних настільних систем Windows XP/Windows Vista рішення, яке називається Software Restriction Policies (скорочено SRP) – політики обмеженого використання програм.
Ця технологія пропонується ще з лінійки Windows 2000 і розвивається досі. Проте багато системних адміністраторів не знають навіть про існування цієї політики або уникають її використання через складність налаштування. У широкому сенсі ця політика визначає, які програми можна запускати користувачеві, а які заборонено, тим самим знижуючи ризик, що користувач запустить недозволене програмне забезпечення, завантажене з Інтернету, принесене на флешці або отримане іншими способами, що суперечать корпоративній політиці.
Найпростіший спосіб призначити політику – запустити Group Policy Management Console. Потім перейти у вузол: «Computer/User Configuration -> Windows Setings -> Security Settings -> Software Restriction Policies».
При створенні політики (клацнути правою кнопкою миші та вибрати CreateNew Policy) вона переходить у стан Unrestricted, тобто не забороняє нічого. Усередині консолі буде 5 об'єктів (див. рис. 1):
- Security Levels – визначає основний рівень безпеки політики за промовчанням.
- Additional Rules – тут задаються винятки для стандартного рівня.
- Enforcement – вікно вибору ступеня дії політики.
- Designated File Types – вікно керування списком розширень файлів, які перевіряються правилом за промовчанням.
- Trusted Publishers – це налаштування керування списками довірених передплатників для додатків та скриптів.
Політики SRP мають 3 рівні безпеки, які відображені у Security Levels:
- Disallowed – заборонено все, крім винятків Additional Rules.
- Unrestricted – дозволено все, крім винятків Additional Rules.
- Basic User – те саме, що й Unrestricted, лише додатково включає заборону запуску додатків із підвищеними привілеями.
Рисунок 1. Зовнішній вигляд консолі керування політикою Software Restriction Policies
Далі слідує об'єкт Enforcement (див. рис. 2). У цьому вікні можна форсувати застосування політики не тільки до файлів, що виконуються, але і до пов'язаних з ними бібліотек DLL. Включення даної опції може значно підвищити навантаження на систему, тому що при запуску програми через політику проходять і всі файли бібліотек, через що витрачається час і процесорні потужності. Але при цьому дана опція дозволяє програмі під час старту підвантажувати бібліотеки лише з дозволених місць. Наприклад, якщо при запуску програми остання намагається завантажити бібліотеки з профілю користувача і шлях розміщення бібліотек не зазначений у винятках, політика блокує їх завантаження в пам'ять.
Малюнок2. Вікно вибору рівня впливу політики SRP. Налаштування цього вікна впливають на глобальну ефективність політик SRP
Нижче наведено вибір застосування політики для всіх користувачів без винятку або для всіх користувачів, крім членів групи Administrators.
І остання опція – Enforce Certificate Rule. На практиці правила сертифікатів рідко використовуються, і найчастіше є сенс відключити їхню перевірку, що призведе до прискорення обробки політики.
Далі йде елемент Designated File Type. Тут наведено список розширень файлів, які контролюються Software Restriction Policies. Якщо користувачам необхідно запускати (або заборонено запускати) файли із зазначеними в цьому списку розширеннями, то для них потрібно складати винятки для рівня безпеки за умовчанням (про це трохи далі). Цей список можна редагувати за умов.
І останній елемент – Trusted Publishers (див. рис. 3). У цьому вікні регулюються налаштування довірених видавців сертифікатів, якими підписуються програми. Це вікно актуальне, тільки якщо використовуються правила для сертифікатів. У решті випадків воно не використовується. Однак для коректної роботи деяких програм (наприклад, Windows Update у Windows XP/Windows Server 2003) необхідно дозволити керувати списком Trusted Publishers для End users (найвища опція).
Рисунок 3. Вікно з налаштуванням прав користувачів для редагування списку довірених видавців сертифікатів та поведінки системи під час перевірки сертифікатів
І, нарешті, робоча область – розділ Additional Rules (див. рис. 4). У цьому розділі є всі винятки для дії політики за промовчанням.
Малюнок 4. Основне вікно, у якому адміністратор створює правила винятків. Правиластворюються натисканням правої кнопки миші та вибором потрібного типу виключення
Можна використовувати такі типи винятків (додаткових правил) з урахуванням їх застосування:
- Certificate Rule - правило для сертифікатів. Цей тип правила використовується лише для підписаних програм та скриптів. Наприклад, можна дозволити запуск усіх програм, підписаних сертифікатом Microsoft Corporation, незалежно від їх розташування та заборонити запуск програм, підписаних Adobe Systems. При цьому потрібно вказати сертифікати відповідних видавців, які мають бути завантажені або локально, або мережеву папку.
- Hash Rule - правило хеша. Для кожної програми потрібне створення окремого правила. Цей тип правил дуже корисний для програм та файлів, які знаходяться у відкритих для запису користувачами папках. Наприклад, можна дозволити запуск програми з папки My Documents (куди користувач має права запису) по хешу. У такому випадку гарантується захист від заміни файлу (з таким самим ім'ям) або при інфікуванні файлу вірусом, оскільки в обох випадках хеш самого файлу зміниться і не підпаде під правило хешу політики SRP і запуск його буде неможливим. У Windows Vista/Windows Server 2008 зберігається 2 хеша – MD5 для сумісності з клієнтами Windows XP та SHA256 як «рідний» алгоритм хешування нових систем.
- Network Zone Rule - правило зони мережі. У Windows реалізовано кілька зон мережі, як Інтернет, Trusted Sites, Restricted Sites, Local Intranet та Local Computer. Даний тип правил регулює, які настановні пакети дозволені для скачування, виходячи з умови їх розміщення. Для коректної роботи правил на основі зон мережі інсталяційні пакети мають бути засновані на Windows Installer (матирозширення. MSI). Наприклад, можна дозволити скачування пакетів Windows Installer із зони Trusted Sites та заборонити скачування із зони Restricted Sites. Однак слід врахувати, що ця політика не впливає на завантаження файлів із браузера Internet Explorer. Насправді правила зон мережі використовуються досить рідко.
- Path Rule - правило шляху. Правила даного типу дозволяють вказувати розміщення додатків та файлів, які не перевірятимуться політикою та будуть дозволені для запуску. За замовчуванням вже створено два роздільні правила для системних папок Windows та Program Files. Завдяки цьому програми з цих папок будуть дозволені для запуску, якщо, звичайно, не видалити правила вручну (що робити не рекомендується). Правила для шляхів можуть налаштовуватися дуже гнучко, оскільки дозволяють використовувати системні та користувацькі змінні оточення (наприклад, %windir%) та знаки підстановок (наприклад, "?" та "*"). Крім того, можна вказати ключ реєстру, з якого буде отримано шлях.
Практична реалізація на прикладах
Отже, ми розглянули всі необхідні опції, які є у консолі MMC – Software Restriction Policies. Вивчивши вищевикладений матеріал, можна починати створювати свої правила політики SRP, але для повноти картини я розповім про деякі принципи побудови надійних політик та важливі речі при роботі з SRP.
Найбільш ефективним застосуванням політик Software Restriction Policies буде дозвіл запуску файлів з тек, куди користувачі не мають права запису, і заборона запуску файлів з тек, куди користувачі мають право запису. У такому разі користувач гарантовано не зможе запустити файл із робочого столу (куди він має права на запис), але може запустити файл із системної папки Windows (кудизвичайний користувач не має права запису). Цій схемі найбільш повно відповідає рівень безпеки за замовчуванням – Disallowed, яке має значення – заборонити все, крім правил, зазначених у Additional Rules.
Якщо застосувати рівень безпеки за замовчуванням Disallowed, то для запуску файлів доведеться запускати безпосередньо самі файли в папках, в яких вони розміщені, оскільки запуск ярликів з оточення користувача заборонений. Тому в Additional Rules необхідно буде створити дозвільні правила, які дозволять запускати ярлики зі Start Menu (це ярлики, які відображаються в меню Start і Start - All Programs). Для цього в Additional Rules необхідно створити правила для шляху, які будуть вказувати на:
Тут використовується системна змінна %username%, замість якої під час роботи автоматично буде підставлятись ім'я поточного користувача. Однак слід врахувати, що дозвіл запуску ярлика ще не означає, що дозволено запускати програму, на яку вказує сам ярлик, ще має бути вирішальне правило і для самої програми. Тобто користувач не зможе просто змінити шлях, який вказує ярлик для програми в меню «Пуск».
Для цих двох правил необхідно виставити рівень Unrestricted, в результаті чого користувачі зможуть спокійно запускати ярлики з меню Start і вкладених папок першого рівня (наприклад, «Accessories -> Paint.lnk»). Однак для систем Windows XP/Windows Server 2003 та систем з локалізацією іншими мовами ці шляхи можуть змінюватись в залежності від мови системи.
Для уніфікації роботи з папками профілів користувачів політика SRP пропонує можливість читання значень із реєстру. Гілка реєстру: HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Foldersмістить шляхи для більшості папок профілю користувача. Для вказівки шляху до Start Menu рекомендується використовувати значення реєстру кожної локальної машини. Щоб використати значення реєстру, його ключ потрібно укласти у знаки відсотка «%», як це показано на прикладах:
%HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell FoldersStart Menu%**.lnk
Щоб дозволити запуск ярликів з меню швидкого запуску (Quick Launch), потрібно додати правило для шляху:
%userprofile%AppDataRoamingMicrosoftInternet ExplorerQuick Launch*.lnk
Таким чином, користувачам вже дозволяється запускати ярлики з меню Start та Programs, при цьому абсолютне розташування меню Start визначатиметься кожною машиною індивідуально. Якщо необхідно дозволити запуск ярликів або програм з інших локацій, це досягається додаванням правил шляху чи хеша, як показано нижче.
Якщо у вас на диску D: встановлено програму, яка в силу своїх особливостей вимагає дозволу запису в папку з програмою для користувачів (на жаль, такі програми досі зустрічаються, і з ними доводиться рахуватися), то правило шляху типу: D:ProgramsSpecProgram *.exe. Або вказівка імені програми не буде ефективним рішенням, оскільки користувачу не важко перейменувати програму і замаскувати під це ім'я свою улюблену гру або заражений файл. У таких випадках розумніше використовувати правила хешу. Якщо за таким правилом дозволити тільки необхідні виконувані (або скриптові) файли програми, то при заміні файлів користувачеві не вдасться запустити хибний додаток, оскільки хеш нового файлу не збігатиметься і файл не підпаде ні під один виняток, внаслідок чого запуск буде запобігти рівню безпеки за умовчанням, тобтоDisallowed.
Ось таким комбінуванням типів правил можна отримати досить гнучку і ефективну політику обмеженого використання програм, яка дозволить контролювати, що користувачі можуть запускати тільки ті файли, які дозволені політикою компанії.
- SRP_Enable – включає рівень політики в Disallowed:
Windows Registry Editor Version 5.00
- SRP _ Disable – включає рівень політики в Unrestricted:
Windows Registry Editor Version 5.00
- SRP _ Basic – включає рівень політики в Basic User: