БЕЗПЕКА своїми руками
- Управління дозволами через шаблони безпеки і групові політики
- Політики і шаблони
- Де взяти шаблони
- Зроби сам
- Ще один спосіб
Управління дозволами через шаблони безпеки і групові політики
Як не дивно, досвід викладання курсів з безпеки Windows 2000 і Windows Server 2003 в нашому навчальному центрі показує, що навіть тепер, на початку 2004 року, тобто через чотири роки після появи Active Directory, у кваліфікованих фахівців немає чіткого уявлення про групових політиках, основному інструменті налаштування Active Directory. Зокрема, можливість тиражувати дозволу на файли і параметри реєстру за допомогою групових політик викликає на наших курсах жвавий інтерес. Цьому питанню і присвячена ця стаття.
Політики і шаблони
Усім читачам напевно знайомі інструменти перевірки параметрів захисту комп'ютера на відповідність шаблону і редагування шаблонів захисту комп'ютера - оснащення Security Templates і Security Configuration and Analysis. Навчання роботі з цими засобами входить в програму офіційних курсів Microsoft, їх застосування описано в літературі (див., Наприклад, «Безпека мережі на основі Windows 2000: навчальний курс MCSE». М .: Російська Редакція, 2001), в тому числі в журнальних статтях ( «Все й одразу» С. Гордейчика в № 1 Windows & .NET Magazine / RE за 2003 рік; «Конструктор шаблонів безпеки» М. Мінас в № 5 Windows & .Net Magazine / RE за той же рік). У всіх цих матеріалах згадується, що шаблони безпеки можна імпортувати в групові політики, тиражуючи тим самим записані в них параметри. У всіх статтях йдеться, що за допомогою шаблонів безпеки можна налаштовувати дозволу на об'єкти файлової системи і параметри реєстру. Але ніде не робиться на цьому акцент. Давайте ж заповнимо прогалину.
Розглянемо оснащення Security Templates (див. Екран 1). Якщо відкрити будь-який з наявних в системі шаблонів, побачимо, що в його складі є гілки File System, Registry і System Services. У складі цих гілок зберігається інформація про дозволи на об'єкти файлової системи, параметри реєстру і служби, відповідно. Досить клацнути два рази мишею по будь-якому наявному в цих гілках об'єкту і натиснути у вікні кнопку Edit Security - відкриється стандартне вікно редагування списку дозволів для об'єкта. Мало хто знає, що доступ до системних служб теж можна розмежовувати, встановлюючи дозволу: комусь дозволено тільки переглядати стан служби, кому-то - зупиняти і запускати службу і т. Д.
Якщо Вас об'єкт в списку відсутня, слід в меню All Tasks вибрати пункт Add file or Folder, Add Key або Add System Service, після чого перейти до об'єкта на своєму комп'ютері, якщо він є, або ввести повний шлях до файлу / папки або параметру реєстру з клавіатури. З служб можна вибирати тільки ті, що є на комп'ютері, на якому запускається оснащення.
Налаштувати параметри системи відповідно до того, що зазначено в шаблоні, можна трьома способами: за допомогою оснастки Security Configuration and Analysis, через командний рядок за допомогою команди Secedit і через групові політики. Останній варіант кращий за інших, так як дозволяє тиражувати ці настройки відразу на велику кількість комп'ютерів. Інкрементальні шаблони безпеки (див. Згадану вище статтю С. Гордейчика) також зручно застосовувати, використовуючи групові політики та їх механізм успадкування параметрів.
У будь-який об'єкт групової політики можна імпортувати вміст шаблону безпеки, як показано на екрані 2, після чого змінювати будь-які налаштування на свій розсуд.
В оснащенні Group Policy Editor для потрібного об'єкту групової політики слід вибрати гілку Computer Settings - Windows Settings - Security Settings. Викликавши для цієї гілки меню All Tasks, необхідно вибрати пункт Import Policy і у вікні, вибрати потрібний файл з розширенням INF, що містить параметри шуканого шаблона безпеки. Далі можна редагувати ці налаштування. Відповідний інтерфейс повністю відтворює інтерфейс редагування шаблону безпеки в оснащенні Security Templates.
Де взяти шаблони
Шаблони можна брати в різних місцях. Перш за все, існує стандартний набір шаблонів безпеки, що поставляються разом з операційною системою. Повний огляд таких шаблонів міститься в згаданих вище публікаціях, зауважу лише, що дозволу на файли і розділи реєстру налаштовуються тільки в наступних шаблонах:
- Basicws.inf, Basicsv.inf і Basicdc.inf - це шаблони безпеки зі стандартними параметрами за замовчуванням для Windows 2000 Professional, Windows 2000 Server і контролерів домену Windows 2000, до комп'ютерів під Windows Server 2003 вони незастосовні;
- Setup Security.inf - це шаблон безпеки з параметрами, який використовується відразу після установки для кожного конкретного комп'ютера під керуванням Windows 2000, Windows XP або Windows Server 2003; його не слід імпортувати через групові політики, за винятком зовсім вже однотипних налаштувань всіх комп'ютерів в OU, замість цього можна включити в групові політики сценарій, що містить виклики Secedit для даного шаблону;
- Compatws.inf - це шаблон, який послаблює захист заради сумісності зі старими програмами; містить, крім іншого, менш жорсткі обмеження на доступ до системних файлів;
- Ocfilesw.inf і Ocfiles.inf - шаблони, що описують стандартні дозволу доступу до файлів додаткових компонентів, що входять до складу Windows 2000: Internet Explorer 5.0, NetMeeting, IIS 5.0 і т. Д.
Крім того, Microsoft випускає шаблони безпеки, що містять настройки для своїх прикладних програм, а також системних компонентів, які не описаних в стандартних шаблонах. Серед них:
- Notssid.inf - шаблон, що виключає зі списків доступу сервера Windows 2000 згадка про групу Terminal Services; його можна застосовувати як інкрементальний на тих комп'ютерах, де планується використання старого програмного забезпечення в режимі термінального сервера;
- Certificate Services.inf - шаблон безпеки з параметрами для служби сертифікатів Windows 2000;
- File and print incremental.inf - шаблон з настройками для сервера Windows 2000 або Windows Server 2003 (слід завантажити з сайту Microsoft версію, відповідну версії операційної системи), який грає роль сервера файлів і друку;
- Infrastructure Incremental.inf - шаблон з настройками для сервера Windows 2000 або Windows Server 2003, обслуговуючого мережеву інфраструктуру - містить служби DNS, WINS, DHCP і т. П .;
- IIS Incremental.inf - шаблон з настройками для сервера Windows, на якому запущені служби IIS;
- Exchange DC Incremental.inf, Exchange Back End Incremental.inf і OWA Front End Incremental.inf - шаблони з настройками елементів Microsoft Exchange.
Наведений список далеко не повний, нові шаблони з'являються регулярно.
Деякі організації та відомства також пропонують свої варіанти шаблонів безпеки. Ці шаблони зачіпають списки доступу до файлів і системним компонентам через реєстр. Зокрема, для Windows 2000 свої шаблони пропонують Агентство національної безпеки США ( www.nsa.gov ) І Національний інститут стандартів і технологій США ( www.nist.gov ). Для Windows Server 2003 обидві організації рекомендують користуватися шаблонами, що поставляються разом з «Керівництвом щодо захисту систем на платформі Windows Server 2003» (Microsoft Windows Server 2003 Hardening Guide).
Шаблони, пропоновані NIST, можуть бути цікаві «любителям антикваріату» тим, що поряд з файлами, що входять до складу стандартної установки операційної системи Windows 2000 Professional, в них описані списки доступу на файли і розділи реєстру, відповідні встановленим на комп'ютері Netscape Navigator 4.6.
Зроби сам
Уявіть собі ситуацію: ви хочете розповсюдити через шаблони безпеки або групові політики настройки доступу до об'єктів будь-якої програми, встановленої на комп'ютері, а готового шаблону, що описує цю програму, знайти не вдалося. В такому випадку доведеться виготовити шаблон самостійно.
Якщо програма спроектована зі стандартним розміщенням компонентів, тоді все просто: в шаблон слід внести папку програми, за замовчуванням C: Program Files і параметр реєстру HKEY_LOCAL_MACHINESoftware. Для цих об'єктів має сенс задати дозволу: Administrators -Full Control, Users - Read & Execute; з успадкуванням дозволів дочірніми об'єктами. Ті програмні файли, які програма установки додатка записує в системну папку% Windir% System32 і папку спільних програмних компонентів C: Program FilesCommon Files, успадкують аналогічні дозволи від зазначених папок. У разі програми зі стандартним розміщенням компонентів всі параметри індивідуальні параметри для користувача зберігаються в його профілі, шлях до якого програма запитує у системи, а також в галузі реєстру HKEY_CURRENT_USER.
На жаль, не всі програми написані зі стандартним розміщенням компонентів. У такому випадку потрібно дослідження програми як в процесі установки, так і в ході подальшої роботи. Тут можна задіяти як стандартні засоби реєстрації подій і аудиту Windows, так і додаткові утиліти. Існують дві безкоштовні утиліти, розроблені компанією Sysinternals (www.sysinternals.com), Filemon і Regmon. Вони призначені для відстеження операцій з файлами та реєстром. В даному випадку важко застосувати аудит доступу до об'єктів для реєстрації подій безпеки Windows, так як для його використання потрібно налаштування на рівні окремих об'єктів - папок, файлів і розділів реєстру, а їх для знову установлюваної програми ще потрібно виявити. Реєстрацію подій і аудит Windows доведеться проте задіяти: слід увімкнути ведення запису про категорії Process Tracking. Для чого - буде сказано нижче.
Рекомендується запустити програми Filemon (див. Екран 3) і Regmon безпосередньо перед запуском утиліти установки програми і зібрати відомості про операції з файлами та реєстром, що виконуються протягом процесу розгортання. Після цього найголовніше - зберегти отримані протоколи перед тим, як перезавантажувати комп'ютер після установки програми.
Протоколи, одержувані в результаті роботи програм Filemon і Regmon, - це текстові файли у форматі CSV, які можна імпортувати в Excel або Access для аналізу. У цих протоколах фігурують всі операції в хронологічному порядку, які виконувалися на комп'ютері як в ході роботи програми установки, так і в ході роботи системних служб або інших програм, запущених в цей час. Тому обробка протоколів зводиться до двох основних операцій: спочатку слід відфільтрувати всі операції, крім запису файлів і запису до реєстру, а потім відкинути всі операції, крім тих, які ініційовані програмою установки (або службою Microsoft Installer, процес MSIExec) і процесами, породженими процесом установки. Для виявлення цих процесів потрібно проаналізувати журнал аудиту подій категорії Process Tracking.
За рештою записів потрібно скласти звіт з перерахуванням задіяних об'єктів - файлів, папок і розділів реєстру. Цей звіт необхідно експортувати в текстовий файл, після чого мінімальне додаткове оформлення перетворить його в готовий шаблон захисту:
- слід розбити його на дві частини, окремо для файлів, окремо для розділів реєстру;
- перед цими частинами потрібно підставити стандартні заголовки: [Registry Keys] перед переліком розділів реєстру і [File System] перед переліком файлів.
Потім слід підставити загальний стандартний заголовок на початку файлу, кожен рядок взяти в лапки і підставити в кінець рядка після лапок: «0,» D: AR (A; CI; KA ;;; BA) (A; CI; KR ;; ; BU) »» (саме такий текст, тільки зовнішні лапки слід прибрати). Цей рядок можна відтворити на своєму комп'ютері, зробивши якийсь тестовий шаблон з встановленими дозволами на один файл і один розділ реєстру, а потім відкривши відповідний INF-файл в Notepad (див. лістинг 1 ). Наведені в лістингу дозволу відповідають стандартним дозволами за замовчуванням в середовищі Windows Server 2003.
Зайве говорити, що отриманий шаблон налаштувань необхідно спочатку протестувати, перш ніж поширювати через групові політики. У значній частині випадків відразу створити працездатні настройки, швидше за все, не вийде.
Справа в тому, що багато програм зберігають свої проміжні робочі дані безпосередньо в папці програми, а не в папці, зазначеної у змінній оточення% TEMP%. Часто доводиться використовувати такі програми, написані для Windows 95/98 / ME, так як чекати нових версій, написаних з урахуванням вимог багатокористувацької операційної системи, що забезпечує розмежування доступу до ресурсів, з тих чи інших причин не доводиться. Якщо встановити на файли і папки дозволу, зазначені вище (Administrators - Full Control, Users -Read & Execute, успадкувати дозволу від папки на дочірні об'єкти), тоді таку програму можна буде запускати і повноцінно використовувати лише при наявності прав адміністратора на даному комп'ютері. В такому випадку знову доведеться задіяти моніторинг подій, але вже не в процесі установки, а в ході повсякденної роботи програми.
Знову слід використовувати утиліти Filemon і Regmon, увімкнути ведення запису про категорії Process Tracking, щоб виявити дочірні процеси, що запускаються даною програмою, і відстежити їх активність теж. Крім того, необхідно увімкнути ведення запису про категорії Use of User Rights: можливо, для забезпечення працездатності програми доведеться наділити користувачів якимись системними привілеями, які у адміністратора є спочатку.
При обробці протоколів, отриманих при використанні програм Filemon і Regmon, слід:
- залишити записи, які стосуються активності основного процесу програми і його дочірніх процесів, перелік яких дасть аналіз журналів реєстрації Windows в частині подій категорії Process Tracking;
- стандартними засобами тієї програми, в яку імпортовані для обробки протоколи моніторингу в форматі CSV, створити звіт для кожного ресурсу, до якого зверталися розглядаються процеси, і вказати перелік запитаних процесами типів доступу;
- цей звіт слід проаналізувати і додати в створений в результаті моніторингу установки шаблон безпеки містяться в даному звіті файли і розділи реєстру, надавши відповідні дозволи групі Users.
Крім того, потрібно проаналізувати журнал реєстрації подій безпеки Windows в частині подій категорії Use of User Rights, що відносяться до досліджуваних процесів. Якщо там згадуються системні привілеї, які не надані за замовчуванням групі Users, доведеться в шаблон безпеки для програми додати настройки в розділ Local Policies - User Rights Assignment, що надають відповідні права і привілеї групі Users. Краще б цього не робити, оскільки розширення прав групи Users послаблює захист комп'ютера, але якщо інакше необхідна програма не працює, діватися нікуди.
Ще один спосіб
Якщо на машині встановлена Windows XP або Windows Server 2003, можна замість маніпуляцій з Filemon і Regmon модифікувати ярлик програми, щоб вона запускалася в режимі емуляції робочого середовища більш ранньої версії Windows. Але якщо при цьому використовується емуляція НЕ Windows NT / 2000, запуск в такому режимі призводить до розширення прав даного процесу до рівня локального адміністратора або навіть системи, що зводить нанівець весь захист, що забезпечується операційною системою. Тому в корпоративному середовищі зазначеної можливістю користуватися навряд чи варто - надто великий ризик. Втім, рівень ризику оцінювати вам, зіставляти його з придбаним зручністю теж вам, і, хоча в кінцевому рахунку приймати рішення, можливо, доведеться вашому начальнику, за наслідки відповідати знову ж вам. До того ж такі параметри ярлика програми, на відміну від дозволів на файли і реєстр, через шаблони безпеки і групові політики тиражувати неможливо.
Олексій Соцький - викладач навчального центру, має сертифікати MCSE, MCT. З ним можна зв'язатися за адресою: [email protected]