Теорія операційної системи

:: Меню ::

Головна
Представлення даних в обчислювальних системах
Машинні мови
Завантаження програм
Управління оперативною пам'яттю
Сегментна і сторінкова віртуальна пам'ять
Комп'ютер і зовнішні події
Паралелізм з точки зору програміста
Реалізація багатозадачності на однопроцесорних комп'ютерах  
Зовнішні пристрої
Драйвери зовнішніх пристроїв
Файлові системи
Безпека
Огляд архітектури сучасних ОС

:: Друзі ::

Карта сайту
 

:: Статистика ::

 

 

 

 

 

До Аэропорта можно добраться за 20-25 минут на маршрутном такси или рейсовым в том числе выставок

Аутентифікація в мережі

Коли користувач працює з консолі комп'ютера або з терміналу, фізично прикріпленого до термінального порту, модель сесій є цілком прийнятною. При реєстрації користувача створюється сесія, що асоціюється з даним терміналом, і далі проблем немає. Аналогічно немає жодних проблем при підключенні через мережу з комутацією каналів, наприклад, при "дозвоні" через модем, підключений до телефонної мережі (звичайно ж, за умови, що ми довіряємо зв'язківцям). Коли з'єднання розривається, сесія вважається закінченою.
У мережах з комутацією пакетів, до яких відносяться більшість сучасних мережевих протоколів (Tcp/ip, Ipx/spx, Iso/osi і т. д.), взагалі немає фізичного поняття з'єднання. В кращому разі мережевий протокол надає можливість створювати віртуальні з'єднання з "надійним" зв'язком, в яких гарантується відсутність втрат пакетів і зберігається порядок їх вступу. З таким віртуальним з'єднанням цілком можна асоціювати сесію, як це зроблено в протоколах telnet, rlogin/rsh і ftp.

Протокол telnet
Протокол telnet використовується для емуляції алфавітно-цифрового терміналу через мережу. Користувач встановлює з'єднання і реєструється у видаленій системі так само, як він реєструвався б з фізично підключеного терміналу. Наприклад, в системах сімейства Unix створюється віртуальний пристрій, псевдотермінал (pseudotermina/) /dev/ptyxx, що повністю емулює роботу фізичного терміналу, і система запускає ту ж програму ідентифікації користувача /bin/login, яка використовується для фізичних терміналів. При закінченні сесії з'єднання розривається і псевдотермінальний пристрій визволяється.

Віртуальні сесії вимушені покладатися на те, що мережевий протокол забезпечує дійсно гарантоване з'єднання, тобто що жодна стороння машина не може уклинитися в з'єднання і прослухати його іді послати свої підроблені пакети. Забезпечення безпеки на цьому рівні або вимагає довіри до мережевої інфраструктури фізичного, канального і мережевого рівнів (лініям зв'язку, комутаторам і маршрутизаторам), або зводиться до використання шифрування і криптографічного підпису пакетів.
У протоколах, що використовують датаграмні з'єднання, засобами протоколу віртуальну сесію створити неможливо. Зазвичай в цьому випадку кожен пакет містить ідентифікатор користувача або сесії, від імені якого (в рамках якої) цей пакет посланий. Такий підхід застосовується в протоколах роботи з файловими серверами NFS і NCP (Netware Core Protocol, використовуваний файловими серверами Novell Netware). Датаграмні протоколи виявляються декілька більш уразливі для підробки пакетів і інших шкідливих дій.

Підпис пакетів в NCP
Наприклад, NCP, що працює через датаграмний протокол IPX, реалізує свій власний механізм підтримки сесій: всі пакети даної сесії мають 8-бітовий номер, і пакети з неправильними номерами просто ігноруються. Одна з техніки злому Netware 3.11 (так звана "Голландська атака") полягає в посилці протягом короткого часу 256 пакетів з різними номерами — хоч би один пакет виявиться вдалим. Для боротьби з такими діями в Netware 3.12 був введений криптографічний підпис пакетів в межах сесії.

Проблема додатково ускладнюється тією обставиною, що в мережі частенько взаємодія відбувається між системами, кожна з яких дозволяє одночасну роботу декількох користувачів. Часто виникає бажання вимагати від користувача реєстрації лише в одній з систем, а доступ в останні системи надавати автоматично.
Зазвичай для автоматичної реєстрації використовується модель доверяємих систем (trusted hosts). Якщо система В довіряє системі А, те всі користувачі, зареєстровані на системі А, автоматично дістають доступ до системи В під тими ж іменами (мал. 12.2). Інколи аналогічну можливість можна надавати кожному користувачеві окремо — він повідомляє, що при реєстрації входу з системи А пароля запрошувати не треба. Різновидом моделі доверяємих систем можна вважати єдину базу облікових записів, що розділяється між машинами.

Мал. 12.2. Доверяємиє системи

Міжмашинна довіра в rlogin/rsh
Протоколи rlogin/rsh, що забезпечують запуск окремих команд або командного процесора на видаленій системі, використовують файл /etc/hosts.equiv або .rhosts у домашньому каталозі користувача на видаленій системі. Файл /etc/hosts.equiv містить імена всіх машин, яким наша система повністю довіряє. Файл .rhosts складається з рядків формату
імя.удаленной.машини ім'я користувача
При цьому імя.удаленной.машини не може бути довільним, воно зобов'язане міститися у файлі /etc/hosts, в якому зібрані імена і адреси всіх видалених машин, "відомих" системі. Та ж вимога обов'язкова і для машин, перерахованих в /etc/hosts.equiv.
Наприклад, користувач fat на машині iceman.cnit.nsu.ru набирає команду
rlogin -i fat Indy.cnit.nsu.ru
— увійти до системи lndy.cnit.nsu.ru під ім'ям fat. Якщо домашній каталог користувача fat на цільовій машині містить файл .rhosts у якому є рядок iceman.cnit.nsu.ru fat то користувач fat дістане доступ до системи Indy без набору пароля. Того ж ефекту можна добитися для всіх однойменних користувачів, якщо /etc/hosts.equiv містить рядок ice man.cnit.nsu.ru
Якщо ж fat набере команду
rlogin -1 root Indy.cnit.nsu.ru,

а в домашньому каталозі користувача root файлу .rhosts немає або він не містить наведеного вище рядка, команда rlogin зажадає введення пароля, незалежно від вмісту файлу /etc/hosts.equiv. Потрібно відзначити, що адміністратори зазвичай взагалі не дозволяють використовувати rlogin для входу під ім'ям root, бо цей користувач є адміністратором системи і володіє дуже великими привілеями.

Модель доверяємих систем забезпечує велика зручність для користувачів і адміністраторів і в різних формах надається багатьма мережевими ОС. Наприклад, в протоколі розділення файлів SMB. вживаному в системах сімейства Ср/м, Linux і ін., використовується своєрідна модель аутентифікації, яку можна розглядати як специфічний випадок доверяємих систем.

Аутентифікація SMB
Аутентифікація в SMB заснована на понятті домена (domain). Кожен ресурс (каталог, принтер і т. д.), що розділяється, належить до певного домена, хоча і може бути захищений власним паролем. При доступі до кожного нового ресурсу необхідно підтвердити ім'я користувача і пароль, після чого створюється сесія, пов'язана з цим ресурсом. Для створення сесії використовується надійне з'єднання, що надається транспортним протоколом, — іменована труба NETBEUI або сокет TCP. Введення пароля при кожному доступі незручне для користувача, тому більшість клієнтов— просто запам'ятовують пароль, введений при реєстрації в домені, і при підключенні до ресурсу насамперед пробують його. Завдяки цьому удається створити у користувача ілюзію однократної реєстрації. Крім того, якщо сесія по якихось причинах опинилася розірвана, наприклад із-за перезавантаження сервера, то можна реалізувати прозоре для користувача відновлення цієї сесії.
З точки зору клієнта немає сенсу говорити про міжмашинну довіру — клієнтові в середі SMB ніхто не довіряє і цілком справедливо: звичайно це система класу ДОС, не заслуговуюча довіри. Проте сервери зазвичай передовіряють перевірку пароля і ідентифікацію користувача виділеній машині, званій контроллером домена (domain controller). Домен зобов'язаний мати один основний (primary) контроллер і може мати декілька резервних (backup), кожен з яких зберігає репліки (періодично синхронізуємиє копії) бази облікових записів. Під час вступу запиту на з'єднання сервер отримує у клієнта ім'я користувача і пароль, але замість звірки з власною базою даних він пересилає їх контроллеру домена і приймає рішення про прийняття або відмову в аутентифікації на підставі вердикту, винесеного контроллером.
Лише контроллери домена зберігають у себе базу даних про користувачів і паролі. При цьому основний контроллер зберігає основну копію бази, а резервні сервери — її дублікати, використовувані лише в тих випадках, коли основний сервер вимкнений або втрачений. Завдяки тому, що всі дані зібрані в одному місці, можна централізований управляти доступом до багатьом серверам, тому домени представляють неоцінимі переваги при організації великих багатосерверних мереж.

З точки зору безпеки доверяємиє системи мають два серйозні недоліки.

  1. 1. Прорив безпеки на одній з систем означає, по суті, прорив на всіх системах, які довіряють першою (мал. 12.3).
  2. 2. Виникає додатковий тип атаки на систему безпеки: машина, яка видає себе за доверяємую, але немає такий (мал. 12.4).

Мал. 12.3. Прорив безпеки в мережі з доверяємимі системами

12.4. Імітація доверяємой системи

Перша проблема є практично неминучою платою за дозвіл автоматичній реєстрації. Найяскравіше ця проблема була проілюстрована згаданим вище "Черв'яком Моріса" (Компьютерпресс 1991], який, проникнувши в одну з систем, використовував вміст файлів .rhosts і /etc/hosts.equiv для проникнення в довіряючі системи, покладаючись на те, що міжсистемну довіру зазвичай роблять взаємною. Тому в середі з високими вимогами до безпеки часто прагнуть обмежити число доверяємих систем, подібно до того, як відсіки кораблів розділяють водонепроникними перегородками.
Друга проблема може бути частково вирішена використанням засобів, пре-достаапяємих мережевими протоколами, наприклад, прив'язкою всіх логічних імен доверяємих систем до їх мережевих адрес канального рівня. У протоколах Tcp/ip це може бути зроблено з використанням протоколу аrр (Address Resolution Protocol — протокол дозволу адрес), проте надія на це слабка: багато мережевих карт мають адреси, що набудовуються, а багато реалізацій мережевих протоколів допускають відправку пакетів з підробленою адресою відправника.
Витонченіший і набагато надійніший метод заснований на використанні алгоритму двохключового шифрування RSA або родинних йому механізмів.

 

:: Реклама ::

 

:: Посилання ::


 

 

 


Copyright © Kivik, 2017