Головна » Статті » Інформатика [ Додати статтю ]

Мережеві можливості ОС WINDOWS NT
МЕРЕЖЕВІ МОЖЛИВОСТІ ОС WINDOWS NT
13.1. Загальна характеристика операційної системи Windows NT
Windows NT — це 32-розрядна операційна система з пріоритетною багатозадачністю. Вона належить до ОС, які працюють у режимі витіснення, з вбудованими мережевими функціями та системою безпеки. Інші характеристики цієї ОС такі:
наявність графічного інтерфейсу;
сумісність з різними ОС (OS/2, MS-DOS, Windows 3.x, 95, POSIX);
можливість перенесення ОС на RISC- та CISC-процесори;
масштабованість - можна працювати на одно- та багатопроцесорних системах, підтримка кластерів комп'ютерів;
система безпеки створює для кожного застосування повністю незалежне -оточення;
поліпшені можливості локалізації завдяки підтримці стандарту ISO Unicode.
ОС Windows NT буває двох конфігурацій:
Windows NT Workstation (робоча станція Windows NT);
Windows NT Server (сервер Windows NT).
Система Windows NT Workstation підтримує роботу до десяти користувачів. Вона може виконувати серверні функції у невеликих мережах робочих груп. Windows NT Server орієнтовано на виконання серверних функцій у великих мережах з інтенсивними потоками.
ОС WNT має модульну структуру. Головні вирішення, вперше застосовані у ній, були свого часу новаторськими. Багато з них запозичили інші операційні системи, зокрема Windows 95. ОС Windows NT не можна однозначно зачислити ні до однорангових, ні до мереж з призначеним сервером. З одного боку, Windows NT підтримує однорангову модель, і навіть сервер Windows NT не є призначеним (за ним може працювати користувач). З іншого, у мережі WNT можна функційно закріплювати за серверами та робочими станціями певні функції, конфігуруючи їх як файлові сервери, сервери баз даних, застосувань тощо. Така модель є гнучкішою, ніж у системах Netware. Цим пояснюється популярність WNT як ОС для систем керування нижчого та середнього класу складності.
Назва Windows 2000 з маркетингових міркувань замінила Windows NT 5, однак ця система є продовженням NT і її розвитком. У процесі створення цієї системи проектувальники намагалися:*
перенести в W2000 деякі вирішення та можливості W98, яких не було у WNT 4, а саме: повна підтримка Plug and Play та уніфікована драйверна модель, засоби адміністрування;
зменшити загальну вартість (Total Ownership Costs), що відображено у комплексі засобів IntelliMirror, який є розвитком аналогічних засобів W98;
підтримати загальногалузеві тенденції, вирішення та стандарти (служба каталогів Active Directory, підтримка LDAP, динамічна DNS);
запровадити можливості, властиві ОС корпоративного рівня (розподілені файлові системи, зовнішні бібліотеки та міграція даних, підтримка RAID-масивів та ін.).
W2000 використовує ядро та загальну модель функціювання WNT 4.
13.2. Архітектура Windows NT
Для того, щоб ліпше зрозуміти мережеві функції WNT, розглянемо її архітектуру (рис. 43.1).
Рівень апаратних абстракцій (Hardware Abstraction Layer (HAL)) віртуалізує апаратні інтерфейси, робить решту операційної системи незалежною від конкретних особливостей апаратури. Цей рівень допомагає також переносити WNT на іншу апаратну платформу (ідею віртуалізації ми вперше описали на прикладі віртуального термінала, файлу, емуляції систем). Рівень апаратних абстракцій дає змогу "приховати" від інших рівнів ОС особливості реалізації симетричних багатопроцесорних систем.
Ядро (Kernel) координує виконання базових операцій WNT. Воно відповідає за плану-вання та диспетчеризацію роботи процесора(рів), зокрема диспетчеризацію різних потоків керування. Потік керування визначають у контексті процесу, він є деякою послідовністю команд.
Процес у WNT може мати декілька таких потоків, виконання яких відбувається на кількох процесорах. Ядро виконує диспетчеризацію так, щоб найефективніше завантажити наявні процесори та забезпечити пріоритетність опрацювання (визначено 32 рівні пріоритетів, структурованих у два класи: реального часу (real time) та змінний (variable)). Ядро керує двома типами об'єктів.
Об'єкти диспетчеризації використовують для синхронізації системних операцій. Кожен з них має певний сигнальний стан. Об'єктами диспетчеризації є події, мутанти, мутекси, семафори, потоки керування та таймери.
Об'єкти керування застосовують для реалізації функцій керування, однак безпосередньо на диспетчеризацію вони не впливають. До об'єктів керування належать асинхронні виклики процедур, переривання, процеси та профілі.
Ядро спеціально оптимізоване щодо розміру та ефективності функціювання. Воно постійно міститься у пам'яті.
Система виконання (executive) складається з окремих модулів, кожен з яких спроектовано для виконання визначеного набору функцій. Стосовно верхніх рівнів ієрархії у структурі ОС модулі працюють як сервери, за відповідними запитами надаючи сервісне обслуговування. Завдяки цьому досягають можливої оптимізації серверів на виконання функцій, незалежності серверів та їхніх клієнтів, приховування деталей реалізації серверів від клієнтів, єдиних інтерфейсів запиту сервісів. Розглянемо функції окремих модулів.
Диспетчер об 'єктів створює, знищує та стежить за використанням об'єктів процесами системи. До об'єктів належать деякі елементи ОС часу виконання, такі як об'єкти каталогу, об'єкти символьних зв'язків, семафори, події, процеси, потоки керування, порти, файли та ін. Після створення об'єкта диспетчер видає його вказівник та дескриптор. Отже, у структурі WNT значно використана об'єктна парадигма.
Диспетчер процесів простежує об'єкти процесів та потоків керування. Для процесу визначають адресний простір, набір доступних об'єктів, сукупність потоків керування. Кожен потік керування має власний набір регістрів, стек ядра, блок середовища, стек користувача. Диспетчер процесів створює та закінчує процеси, однак не групує їх та не створює між ними відношень породження.
Диспетчер віртуальноїпам 'яті виконує сторінковий обмін процесів. Кожен процес може використовувати до 4 Гбайт власної віртуальної пам'яті, половина з якої відведена для системи, а решта - для програми. Диспетчер віртуальної пам'яті відображає віртуальні адреси в адрес-ному просторі процесу на фізичні сторінки у пам'яті комп'ютера, реалізує режим незалежності адресних просторів різних процесів, через що один процес не може змінювати пам'ять іншого без дозволу.
Засоби виклику локальних процедур. Застосування та підсистеми середовища взаємодіють як клієнти з серверами. Для реалізації такого механізму WNT надає засоби виклику локальних процедур (Local Procedure Call (LPC)), що діють подібно до виклику віддалених процедур (RPC), однак оптимізовані для виконання на локальній машині. Ідеологія виклику повністю відповідає архітектурі DCOM (див. Розділ 27). Взаємодія відбувається за допомогою передавання повідомлень. Процес проходження повідомлень прихований спеціальними затичками (stubs), які приймають запит від застосування, запаковують відповідні параметри та передають їх відповідній серверній підсистемі.
Диспетчеруведення-виведення. Головне призначення цього диспетчера- координування та керування роботою драйверів. WNT використовує драйвери пристроїв, файлової системи, мережеві. Диспетчер реалізує. їхню взаємодію. Кожен з типів драйверів відповідає за логічно завершений набір функцій. Драйвери нижнього рівня керують фізичними пристроями комп'ютера. Драйвери верхніх рівнів не вникають у деталі реалізації та роботи пристроїв, а просто звертаються до драйверів пристроїв згідно з визначеними інтерфейсами. До драйверів верхніх рівнів належать мережеві драйвери, файлові системи, мережеві редиректори.
Драйвери взаємодіють між собою, надсилаючи спеціальні пакети введення-виведення диспетчеру введення-виведення, який або блокує виконання застосування до завершення виведення (синхронне введення-виведення), або дає змогу продовжити роботу відразу ж після розміщення запиту на виведення у черзі (асинхронне введення-виведення). Після завершення асинхронної операції диспетчер сигналізує застосуванню.
Серед драйверів виділяється єдиний диспетчер кешу, функцією якого є ефективне керування кешом - завантаження та вивантаження інформації з кешу для всіх файлових систем та мережевих застосувань, динамічне вибирання розміру кешу залежно від ємності вільної пам'яті, підтримка служб відкладеного фіксування та відкладеного записування (записування інформації або фіксування трансакційних змін у реєстрах відбувається після того, як зменшиться завантаження процесора). WNT підтримує також кілька драйверів файлових систем (FAT, HPFS, NTFS).
Підсистеми середовища працюють у режимі користування. Вони відображають верхній щодо системи виконання рівень абстракції. Головне завдання підсистем середовища - емулювати для застосування роботу у певній операційній системі. Вони є незалежними, захищеними процесами. Збій в окремій підсистемі не зумовить збою інших підсистем або ОС (за винятком центральної підсистеми Win32, збій у якій спричинює зависання системи).
13.3. Файлові системи Windows NT
W2000 підтримує декілька файлових систем - FAT, FAT32, NTFS4, NTFS5.
Файлова система FAT - одна з перших файлових систем, розроблена 1981 р. для MS DOS. Назва її походить від назви головної системної таблиці FAT (File Allocation Table) цієї системи. Спочатку система працювала з невеликими за обсягом дисками (дискетами) (FAT12). Згодом розмір запису FAT збільшили з 12 бітів до 16, і система змогла працювати з розділами обсягом 32 Мбайт. Том FAT має структуру, показану на рис. 43.2.
Першим у томі FAT є завантажувач (bootsrap) (якщо розділ завантажувальний) та блок системних параметрів. Після цього декілька наступних кластерів займають дві копії FAT. Далі є область кореневого каталогу, яка містить записи про файли кореневого каталогу. Кожний запис про файл має 32 байти і містить ім'я файлу (вісім символів назви та три - розширення), байт атрибутів, час зміни, дату зміни, перший блок файлу, розмір файлу. Оскільки розмір кореневого каталогу обмежений, то й кількість файлів у кореневому каталозі обмежена.
Блок — це одиниця форматування (розмітки) диска. Під час форматування диск розділяють на блоки і надалі читати або записувати інформацію можна лише поблоково. Кластер - це певна кількість блоків, яка є найменшою адресованою одиницею для фай-лової системи. Як звичайно, чим більший розмір диска, тим більший розмір кластера.
Інші каталоги, вкладені у кореневий, відображувані як файли, і їхній розмір обмежений розміром файлу.
Окремі біти байта атрибутів визначають, чи файл є файлом каталогу, позначкою тому. Тут же записано чотири атрибути, доступні користувачу: архівний, системний, схований, тільки для читання.
У FAT використано таку схему збереження файлів. FAT розділено на фіксовані комірки, кожна з яких відповідає певному кластеру твердого диска. Адреса комірки - першого кластера файлу - зберігається у каталоговому записі файлу. Якщо файл займає більше, ніж два кластери, то у першій комірці FAT розміщено номер комірки, яка відповідає наступному кластеру файлу, і т. д. Ланцюжок завершується, якщо в комірці записано код FFF.
З принципу дії FAT випливають її переваги та недоліки. FAT пропонує просту схему збереження та відшукання інформації, яка економно використовує дискові ресурси. Водночас
схема дає змогу зберігати файли окремими несуміжними фрагментами, що збільшує
час доступу та потребує періодичної дефрагментації;
інформацію з обмеження доступу обмежує тільки байт атрибутів;
не підтримувані довгі імена, потоки та інші вирішення, характерні для серверних ОС.
Файлова система NTFS
Загальна характеристика. Файлова система NTFS (New Technology File System) - це оригінальна система, яку створено вперше у WNT. Вона забезпечує ліпші можливості щодо зберігання, контролювання за доступом, поновлення інформації. За можливостями NTFS є серверною.
Головні відмінності NTFS від FAT такі: :
завдяки будові NTFS забезпечує швидший доступ до даних, особливо для невеликих файлів;
інформація про права доступу зберігається разом з файлом. Файл має власника;
підтримка використання твердих дисків великих розмірів. Максимальний розмір тому рекомендують робити до 2 Тбайт, максимальний теоретичний розмір файлу -1 екзабайт (263-1). FAT32 підтримує томи максимальним розміром до 32, a FAT - до 2 Гбайт;
підтримувана гнучка схема атрибутів файлу, яку можна розширювати;
відповідно до об'єктно-орієнтованого принципу побудови WNT NTFS також має об'єктну будову. Всю інформацію подають як набір файлових об'єктів. Навіть службові дані
самої системи є файловими об'єктами;
система підтримує відкладене записування на диск. Структура системних таблиць і файлів тому. Головну таблицю керування файловою системою NTFS називають MFT (Master File Table). Вона складається з фіксованих записів розміром 1 кбайт, кожний з яких відповідає одному файловому об'єкту. Перші 16 записів таблиці (і відповідних файлів) системні. Тут зберігають саму MFT ($Mft), її копію (SMftMirr), файл реєстрації (SLogFile), який використовують для відстежування трансакцій та поновлення, інфор-мацію тому (ім'я та ін., $Volume), таблицю імен атрибутів та дескрипторів ($AttrDef), кореневий каталог ($), карту використання кластерів диска (SBitmap), завантажувальний файл ($Boot), список адрес зіпсутих кластерів тому ($BadClus) (рис. 43.3).
Подальші записи відповідають звичайним файлам файлової системи. Копію MFT застосовують, якщо оригінал зіпсуто.
Файл реєстрації використовуєть для захисту файлів від збоїв. Він забезпечує трансак-ційність виконання операцій з файлами. Інформація про том визначає версію та ім'я тому. Таблиця атрибутів містить список усіх атрибутів (застосовують для великих файлів). У коре-невому каталозі, на відміну від FAT, зберігається індексна інформація. Невеликі каталоги повністю містяться у записі MFT, а великі організовані у вигляді індексної структури B-tree і містять вказівники на зовнішні кластери.
Карта кластерів дає змогу гнучко виділяти дисковий простір для файлу, шукати послідовності кластерів. Якщо том є завантажувальним, то у таблиці наявний завантажувальний файл. Таблицю зіпсутих кластерів використовують для швидкої заміни зіпсутих кластерів диска на справні (механізм hot-fixing, див. аналогічний у Netware).
Структура запису. Інформація про кожен файл файлової системи міститься у таблиці
MFT. З іншого боку, можна сказати, що кожен файл складається з двох частин: резидентної, відображеної відповідним записом MFT, і (якщо файл за розміром не ввійшов у запис MFT) зовнішньої. Зовнішня частина може бути відображена однією або декількома послідовностями суміж-них кластерів (пробіг, run).
MFT зберігається у пам'яті. Це пришвидшує шукання потрібного файлу, читання його системної інформації. Завдяки зберіганню інформації про всі файли у пам'яті та індексуванню каталогів можна пришвидшити роботу і з каталогами. Структура кожного запису така, як зображено на рис. 43.3.
Стандартна інформація про файл містить прапорці файлу (тільки для читання, схований, системний), час створення, час останнього досту-пу та зміни, лічильник постійних зв'язків файлу.
Ім'я файлу охоплює його назву у форматі Unicode. Один файл може мати декілька назв. Якщо файл містить декілька потоків, то вони відображені окремим атрибутом.
Дескриптор безпеки зберігає інформацію про тих, хто має право доступу до файлу, ці права, власника файлу.
Кожна структурна одиниця запису, як і дані, є атрибутом файлу. Набір атрибутів файлу можна розширювати. Наприклад, для файлів-каталогів використовують такі атрибути, як Index Root та Index Allocation.
Записування/читання файлів з диска. Драйвер NTFS є одним з драйверів уведення-виведення, які працюють під керуванням диспетчера введення-виведення. Це дає змогу розглядати різні типи файлових систем та мережеві файлові системи однаково (які, прямо кажучи, файловими системами у звичайному розумінні не є), додавати у ланцюжок опрацювання файлу нові драйвери, які виконують додаткові функції (наприклад, підтримку RAID-дисків різних рівнів, читання після записування, Hot Fix Area та ін.). Власне драйвер диска, який керує запи-суванням/читанням та співпрацює з контролером диска, - останній драйвер у ланцюжку (рис. 43.4).
NTFS є поновлювальною файловою системою. Тому кожну операцію щодо зміни файлової системи (таку, як записування файлу) розглядають як трансакцію та протоколюють у журналі трансакцій. У цьому разі звертаються до сервісу журналу трансакцій, який і виконує всю роботу з журналом.
Диспетчер кешу виконує функцію відкладеного записування та упереджувального читання. У випадку читання файлу відбувається читання певної кількості суміжних кластерів, які розміщені у кеші. У разі наступної спроби читати інформацію система спочатку шукає потрібні дані у кеші, і, якщо не знаходить (cache miss), то читає інформацію з диска.
Дані, готові для записування, також розміщені у кеші. Записування на диск буде виконане з запізненням. Такий підхід дає змогу за один раз записувати більше даних, оптимізувати процес записування й виконувати його періодично згідно з визначеними параметрами роботи диспетчера кешу. Періодичність записування може залежати і від інших чинників (наприклад, перепов-
нення кешу, вимикання станції). Диспетчер кешу співпрацює з диспетчером віртуальної пам'яті та сервісом журналу трансакцій.
Томи та робота з ними. Як звичайно, твердий диск поділяють на розділи, серед яких є головні (їх використовують для завантаження ОС). Головний розділ може бути розділений на логічні диски (томи). На одному диску може бути до чотирьох головних розділів (у принципі, з різними ОС).
У WNT 4 була система томів, яка ґрунтувалася на системі розділів та логічних дисків. Базовий том у цій системі — це логічний диск.
У WNT 5 підтримувано для сумісності базові томи, однак уведено і нові, динамічні томи.
Динамічні томи бувають:
прості (організовані на одному диску, можуть складатися з декількох ділянок). Простий том може бути поширено на вільні ділянки того ж диска або на інші диски. В останньому випадку том стає складеним;
складені (об'єднують простір на декількох дисках (до 32));
дзеркальні;
з чергуванням;
tomRAID-5.
Характерною особливістю динамічних томів є змога збільшення розміру тому без зупинки і перевантаження системи.
Інші механізми NTFS.
Потоки даних. NTFS дає змогу зберігати в одному файлі декілька потоків (фактично, окремих файлів). Усі потоки мають спільний дескриптор безпеки та системні дані. Один з потоків є головним, він не має імені і до нього звертаються, коли звертаються до файлу за його іменем. Якщо треба працювати з якимось іменованим потоком, то треба задати його ім'я. Потоки зберігаються як додаткові атрибути файлу. Приклад використання потоків: збереження фото-. графії та її мініатюри, коректне виконання зміни файлу (тимчасовий файл зберігається як потік), коментарі та опис файлу тощо.
Відкладене (асинхронне) записування. Драйвер файлової системи NTFS тісно співпрацює з диспетчером кешу. Як звичайно, записування інформації на диск відбувається не відразу. Інформація для записування надходить до диспетчера кешу, який виконує накопичене записування пізніше, зі зменшенням активності застосувань. Якщо протягом цього часу файл зміню-ється, то зміни відбуваються у кеші, шо зменшує загальну кількість записів.
Пункти сполучень (Junction points). Аналогічно до системи UNIX NTFS 5 дає змогу відобразити у порожній каталог локального комп'ютера довільний ресурс мережі. Таким ресурсом можуть бути томи або каталоги.
Жорсткі зв язки. Один файл відтворено під різними іменами у різних каталогах файлової системи. Лічильник жорстких зв'язків.
Пункти переопрацювання (reparcepoints). У NTFS 5 є змога асоціювати з каталогом або файлом додатковий атрибут - пункт переопрацювання, який відображає на певну програму-фільтр, яку потрібно запустити в разі відкриття каталогу або файлу. Фільтр файлової системи може додатково доопрацювати файл та, наприклад, заборонити доступ до нього. Фільтри використовують у NSS (Natural Storage System) - поліпшеній версії OLE. Розмір атрибута -16 Кбайт, що дає змогу, крім вказівника на фільтр, задати додаткові параметри його роботи.
NSS. У старій версії OLE у файлі зберігалися як старий варіант файлу, так і змінений, що різко збільшувало розмір файлу. NSS записує новий варіант як окремий потік, а потім фільтр файлової системи знищує стару частину файлу.
Поновлення після збою та збереження цілісності. NTFS належить до поновлювальних файлових систем. У її роботі використано багато принципів та механізмів з реляційних баз даних (індексування каталогів). Процедури зміни файлів розглядають як трансакцію з виконанням відповідних записів у журналі реєстрації. Якщо збій виникне під час виконання файлової операції, то журнал дозволить зробити відкат трансакції.
Розподілене відстежування зв'язків. У WNT широко використовують вказівники на файли (Ink-файли) та зв'язки OLE. Раніше достатньо було перенести сервер зв'язку (файл, на який посилається вказівник) в інший каталог, щоб клієнт не зміг його бачити. У NTFS 5 сервери зв'язку можна довільно перейменовувати, переносити в інші каталоги, на інші машини мережі у межах домену. У цьому разі зв'язок зберігається.
Розподілені файлові системи. NTFS 5 підтримує розподілені файлові системи DFS (Distributed File System). Вони є аналогом NFS і дають змогу створити єдиний файловий простір, балансувати навантаження між серверами.
43.4. Мережева архітектура Windows NT
Архітектура мережевих засобів WNT відповідає еталонній моделі взаємодії відкритих систем. її можна розділити на рівні (рис. 43.5).
На нижньому рівні мережевої архітектури розташовані драйвери адаптерів. Це фрагменти коду, що сполучають WNT з мережею через мережеві адаптери. Драйвери адаптерів постачають їхні виробники. Вони взаємодіють з вищими рівнями, дотримуючись вимог інтерфейсу NDIS.
Інтерфейс NDIS - це стандартизована специфікація, яка дає змогу через один адаптер передавати пакети кількох транспортних протоколів. Розробка цього інтерфейсу, як і інтерфейсу TDI, що є вище, була зумовлена потребами дотримання вимог еталонної моделі, забезпечення незалежності рівнів, стандартизації їхньої взаємодії.
Транспортні протоколи реалізовані у вигляді окремих драйверів пристроїв. Вони взаємодіють з адаптером через NDIS-сумісні драйвери пристроїв. У складі WNT є такі транспортні протоколи:
NBT - транспортний протокол, створений на базі немаршрутизованого протоколу NETBIOS;
TCP/IP - протокольний стек (див. Розділ 13);
1 · NWlink - NDIS-сумісна версія протоколу SPX/IPX мереж Novell Netware;*
Appletalk — підтримує сервіси Macintosh на WNT,
Над транспортними протоколами є інтерфейс драйвера транспорту (Transport Driver Interface (TDI)). Він визначає стандартний механізм доступу до функцій транспортного рівня для таких сеансових компонент, як редиректори та сервери. Отже, він виконує аналогічні до NDIS функції. TDI не є окремою програмною компонентою, а тільки специфікацією, згідно з якою створені транспортні драйвери.
Сеансовий рівень у мережевій моделі WNT репрезентують редиректори та сервери. Вони виконані у вигляді драйверів файлової системи. Такий підхід дає змогу використовувати однакові функції АРІ користувача для звертання до локальних та мережевих дисків. Редиректор разом з диспетчером уведення-виведення бере участь у переспрямуванні звертання до ресурсу. У разі доступу до ресурсу процес безпосередньо звертається до диспетчера введення-виведення, який визначає, чи ресурс міститься у мережі, та передає запит редиректору. Редиректор надсилає запит мережевим драйверам нижнього рівня. У WNT може працювати кілька редиректорів -по одному для взаємодії з кожним типом мереж. Функцією редиректора також є поновлення
мережевого сполучення у разі його розірвання. Сервер WNT — це програмна компонента, завданням якої є обслуговування запитів. Вона підтримує сполучення, що їх запитує редиректор клієнта, та забезпечує доступ до ресурсів. Драйвер сервера взаємодіє з драйвером локальної файлової системи.
Вище від рівня редиректорів, які працюють у привілейованому режимі, розміщена структура провайдерів. Постачальники послуг забезпечують взаємодію застосувань з мережею. Вони співпрацюють з редиректорами. WNT має вбудований провайдер для зв'язку з іншими системами WNT. Провайдери інших систем можна інсталювати окремо. Головне призначення провайдерів - допомога у шуканні файлів за їхніми позначеннями. Структура провайдерів має дві додаткові компоненти, які спрямовують запити відповідному провайдеру:
провайдер множинних UNC (Multiple UNC Provider (MUP));
маршрутизатор множинних провайдерів (MPR).
Провайдер множинних UNC одержує назву ресурсу у форматі UNC:
\\server\share\subdirect017\filename.
Це компонента, що виконується у привілейованому режимі. Коли застосування зверта-ється до ресурсу з іменем UNC, MUP звертається до всіх зареєстрованих провайдерів. Якщо провайдер підтверджує, що він може налагодити сполучення з відповідним ресурсом, то MUP надсилає йому весь запит.
Маршрутизатор множинних провайдерів виконує команди формату Wnet, який є складовою частиною інтерфейсу Win32 АРІ, і подає різноманітні файлові системи в єдиному * форматі.
13.5. Архітектура системи безпеки WNT
Система безпеки WNT сертифікована за рівнем С2. Головні її характеристики такі:
власник ресурсу має змогу керувати доступом до нього;
ОС захищає об'єкти від несанкціонованого доступу. Після вивільнення пам'яті або
знищення файлу інформація стає недоступною;
користувач, входячи у систему, вводить унікальні ім'я та пароль; ця інформація є перепусткою для всіх його подальших дій і всіх дій його процесів;
адміністратор системи має змогу контролювати всі події, пов'язані з безпекою;
система захищає себе від модифікації системних файлів та системної інформації на стадії виконання.
Систему безпеки можна вивчати як на рівні окремої станції, так і на рівні мережі WNT. У її основі є локальна система безпеки. Розглянемо її структуру (рис. 43.6).
Загальна характеристика локальної системи безпеки. Головні компоненти локальної системи безпеки такі:
процеси входження у систему. Приймають запити користувачів на входження у систему та ініціюють перевіряння повноважень користувача. Процеси входження опрацьовують запити локального або віддаленого користувача;
розпорядник локальної безпеки. Це головна компонента керування системи безпеки. Вона розпізнає користувача, створює для нього маркери доступу, керує політикою контролю та реєструє котрольні повідомлення монітора безпеки у спеціальному журналі;
диспетчер бюджету безпеки підтримує базу даних бюджетів користувачів та груп, взаємодіє з розпорядником локальної безпеки;
монітор безпеки. На відміну від попередніх компонент, він працює у привілейованому режимі, перевіряє правомірність звертання процесу до ресурсу кожного разу під час спроби звертання і дає або не дає дозволу. Отже, монітор безпеки реалізує політику безпеки на нижньому рівні.
Головні принципи організації локальної системи безпеки. Призначенням системи безпеки WNT є контроль за доступом до ресурсів системи. У спеціальній БД системи, зберігається інформація про користувачів, їхні групи, ресурси та права доступу. Процеси, що виконуються у WNT, асоціюються з певним користувачем, який їх запустив (діють від його імені).
Аналогічно до інших систем безпеки адміністратор може задавати права доступу до ресурсів. Перелік прав залежить від типу ресурсу. Наприклад, для файлу можуть бути такі права: ,,
читання (read); |
знищення (delete);
записування (write);
змінювання прав (change permission);
виконання (executive);
монопольне використання (take ownership); ¦ *
відсутність доступу (no access).
Як бачимо з переліку, ці права суттєво відрізняються від прав ОС Windows 95. Особливе значення мають права монопольного використання та явного задания відсутності доступу, вони ліпше захищають ОС.
Крім звичайних прав доступу до ресурсів, у WNT передбачені права на виконання певних системних дій (архівування, зміна системного часу, запуск системи та ін.).
Кожного користувача та групу ідентифікують за допомогою унікального ідентифікатора безпеки (Security ID (SID)). Коли користувач входить у систему, створюється маркер доступу. У нього записують ім'я та SID користувача, перелік назв груп, до яких він належить, та їхні SID. Після цього кожен процес, що виконується у системі від імені користувача, має копію маркера доступу. Інформацію з нього використовують для перевірки прав доступу процесу до ресурсу. Такий процес називають суб 'єктом користувача. Кажуть, що він діє в контексті безпеки цього користувача. Це означає, що суб'єкт має права доступу до ресурсів, визначені правами цього користувача.
Деякі серверні процеси WNT можуть діяти від імені конкретного користувача. У цьому випадку вони тимчасово позичають атрибути його безпеки. Таку техніку називають перевтіленням (impersonation). Наприклад, коли сервер звертається до ресурсу на вимогу процесу-суб'єкта користувача, то відбувається перевтілення, і права доступу тимчасово переходять до серверного процесу.
Процес входження користувача у систему. Користувач, розпочинаючи роботу у системі, входить у неї за допомогою набору клавіш Ctrl-Alt-Del. Ця комбінація захищає процес розпізнавання від програм, що імітують процес входження користувача з метою зафіксувати його ім'я та пароль. Потім користувач уводить своє ім'я та пароль. Ці дані надходять у пакет розпізнавання, який перевіряє базу даних бюджетів. Якщо бюджет є локальним (тобто міститься у локальній базі), то відбувається порівняння імен та паролів, якщо ж його не виявлено у базі, то пакет розпізнавання може або викликати інший, альтернативний пакет розпізнавання, або видати помилку.
Після підтвердження достовірності користувача Диспетчер бюджету безпеки повертає пакетові SID користувача та всіх його груп. Ця інформація потрапляє до локального розпорядника безпеки, який і створює маркер доступу. Сеанс входження у систему, створений попередньо пакетом розпізнавання, викликає підсистему Win32, яка формує процес-суб'єкт для користувача з приєднаним маркером доступу.
Права доступу до об'єктів. Об'єктам ОС WNT можна призначити права доступу. Кожен об'єкт має спеціальний дескриптор безпеки - базу даних з такими структурними елементами:
ідентифікатор безпеки власника (користувач або група);
контрольований список керування доступом (Access Control List (ACL)), що ідентифікує об'єкти та права доступу їх до конкретного об'єкта;
системний ACL, що керує переліком контрольних подій та повідомлень, які генерує система.
Серед об'єктів виділяють контейнерні (можуть містити інші об'єкти) та неконтейнерні. Якщо якісь права призначені контейнерному об'єкту (наприклад, каталогу), то їх можуть успадковувати всі вкладені об'єкти (каталоги та файли). Успадкування можна обмежити під час задания прав.
Кожен список ACL складається з окремих елементів АСЕ (Access Control Entry). АСЕ визначає права доступу для окремого користувача або групи. Є три типи АСЕ:
Access Allowed — дозволяє доступ згідно з маскою доступу;
Access Denied- забороняє доступ згідно з маскою доступу;
System A udit — використовують для генерування повідомлень, які записують у журнал безпеки.
Крім типу, кожен АСЕ має маску доступу - перелік наявних прав доступу. Конкретні права у ньому можуть залежати від типу об'єкта (специфічні типи) та не залежати від нього (стандартні типи). Набори специфічних та стандартних прав доступу формують загальні (geтипи прав доступу.
Права доступу у разі звертання процесу в контексті певного користувача до певного об'єкта перевіряють так. Процес формує запит до об'єкта, тобто визначає потрібну маску доступу запиту - набір операцій, які він просить виконати з об'єктом. Ідентифікатори об'єкта, процесу та маска доступу надходять до монітора безпеки, який по черзі переглядає окремі АСЕ зі списку ACL об'єкта, керуючись такими правилами:
якщо АСЕ не стосується цього користувача, то монітор його не розглядає, а переходить до наступного АСЕ;
якщо АСЕ має тип Access Denied і його маска доступу збігається з маскою доступу запиту, то запит відхиляють. Розгляд ACL припиняється;
якщо доступ відхилено попереднього етапу, однак користувач вимагає прав ReadControl або write_dac, тоді, якщо користувач є власником об'єкта, доступ дозволяють;
якщо АСЕ має тип Access Allowed і його маска доступу збігається з маскою запиту, то доступ дозволяють, і перегляд ACL припиняється;
якщо ACL закінчився, а дозволу не було, то запит відхиляють.
Контроль подій безпеки. WNT має гнучку систему, яка дає змогу простежувати події, пов'язані з системою безпеки. Конкретну конфігурацію подій визначає адміністратор системи (для опрацювання великого списку подій можуть бути потрібні значні системні ресурси). Розрізняють системні події та події, визначені застосуваннями. їх реєструють у системному реєстрі. Вони мають імена та ідентифікатори, їх генерують відповідні програмні модулі.
Робочі групи та домени. Windows NT дає змогу згрупувати комп'ютери двома спосо-бами:
з використанням робочих груп;
з використанням доменів.
Робоча група-це найпростіший спосіб об'єднання комп'ютерів. Машини робочої групи підтримують власну політику безпеки та бази даних бюджетів користувачів. Користувача мережі робочої групи розпізнають через його ім'я та пароль, які є перепусткою і на всі інші комп'ютери робочої групи. Використання механізму робочих груп доцільне у невеликих мережах, де проблеми безпеки та обмеження доступу не мають важливого значення.
Домен - це група серверів, що провадять спільну політику безпеки та поділяють бази даних бюджетів користувачів. Один з комп'ютерів (найчастіше під WNT Server) є головним контролером домену (Primary Domain Controller (PDC)). Він зберігає централізовані бази даних бюджетів усього домену і може виконувати розпізнавання. Для більшої надійності інформація дублюється на інших серверах - вторинних контролерах домену (Backup Domain Controller (BDC)), що також можуть вести розпізнавання користувача. Вони заміняють первинний конт-ролер, якщо той виходить з ладу. Користувач мережі реєструється один раз, його розпізнає один з контролерів домену.
Якщо мережа достатньо велика (понад 10 000 користувачів), то один PDC більше не може підтримувати базу бюджетів. У системі доводиться створювати кілька доменів та задавати відношення між ними. Між двома доменами можуть бути довірчі відносини. Домен, що довіряє (довіритель) іншому домену (довірений домен), дає змогу користувачам довіреного домену користуватися його ресурсами, навіть якщо ці користувачі не мають у домені-довірителі бюджету. Довірений домен передає домену-довірителю інформацію про групи та користувачів, розпізнаних у ньому.
У мережі з багатьма доменами відносини довіри потрібно задавати явно. Якщо домен А довіряє домену В, це не означає, що домен В довіряє домену А. Крім того, відносини довіри не є транзитивними: якщо домен А довіряє домену В, а В довіряє С, це не означає, що А довіряє С.
Використання довірчих відносин між доменами дає змогу визначати бюджети користувачів тільки один раз - у довіреному домені.
Отже, як робочі групи, так і домени є "пласкими" структурами. Фахівці-практики вважають, що адміністрування доменних структур невиправдано складне. Фірма Microsoft планує перейти до ієрархічних систем групування комп'ютерів, які добре зарекомендували себе в службах мережевих каталогів eDirectory та LDAP у своїй службі каталогів Active Directory (див. Розділ 23).
Категорія: Інформатика | Додав: КрАсАв4іК (30.12.2012)
Переглядів: 810 | Рейтинг: 0.0/0
Всього коментарів: 0
Додавати коментарі можуть лише зареєстровані користувачі.
[ Реєстрація | Вхід ]