Забезпечення безпеки мережі, Криптографія, Security & Hack, статті

У локальній мережі взаємне розпізнавання комп’ютерів відбувається за кількома ознаками. Причиною тому – тривала еволюція мережних технологій і протоколів. Втім, на сьогодні TCP/IP, Будучи найбільш гнучким і універсальним протоколом мережевих комунікацій, практично витіснив своїх конкурентів (NetBEUI, IPX).

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


Така архітектура пакета, хоча й є досить ефективною, таїть певну загрозу безпеки. Щоб розібратися з цим питанням докладніше, розглянемо, як відбувається упізнання одного ПК іншим.


На ім’я


У мережах Windows кожен комп’ютер має унікальне ім’я – “smb name” або “nebios name”, яке ви задаєте самостійно разом з ім’ям групи. Доступ до ресурсів мережі Windows відбувається згідно з їх іменами. А як відбувається прив’язка мережевого імені комп’ютера до IP-адресою його мережевої карти? При завантаженні ОС відбувається реєстрація комп’ютера: Microsoft придумала для цього спеціальний протокол, згідно з яким в мережевому сегменті є комп’ютер, який зберігає таблицю імен ресурсів у мережі. Називається такий хост “головним браузером мережі”. Кожен комп’ютер звертається до такого браузеру і каже: “Я комп’ютер VASYA. Моя адреса 192.168.0.43”. При випадковому збігу імен або адрес опреационная система автоматично оключит мережеві функції на неправильно сконфигурированном ПК.


По IP-адресі


На більш низькому рівні (згадаємо “матрьошку”) адресація ресурсів буде проводитися за IP-адресою. Ім’я комп’ютера – занадто загальне поняття, що не дає можливості задіяти всі функції транспортного протоколу. Наприклад, IP-адресація позвляет використовувати маршрутизацію пакетів з однієї мережі в іншу або використовувати засоби фільтрації (брандмауер). Як відбувається визначення IP-адреси комп’ютера по його імені, ви вже знаєте. А якщо вже доводилося інсталювати Windows, то знаєте також, що адреса мережевої карти можна ввести або вручну, або за допомогою автоматичних засобів. Однак IP-адреса – це ще не останній рівень мережевої адресації.


За фізичним адресою мережевої карти


Кожна мережева карта маркується унікальним в межах мережі MAC-адресою – 12-значним шістнадцятковим числом. Перш ніж відправити пакет у локальну мережу, драйвер мережевої карти визначає по IP-адресою точки призначення фізичну адресу мережевої карти комп’ютера адресата і позначає пакет цим MAC-адресою. З іншого боку мережі мережева карта, яка отримала пакет зі своїм MAC-адресою, приймає його і пропускає по ланцюжку: драйвер – операційна система – додаток.


Яким чином можна дізнатися MAC-адресу за адресою IP? Для цього теж існує відповідний протокол – ARP (Adress Resolution Protocol). Працює він за методом широкомовного розсилання. Коли потрібно дізнатися фізичну адресу мережевої карти, ініціюється посилка пакета із запитом: “А який MAC-адресу у ресурсу з адресою 192.168.0.xxx?”. Відповідний цією адресою комп’ютер поверне відповідь із запитуваною фізичним адресою. Далі певне таким чином співвідношення “IP-адреса – MAC-адресу” буде занесено в ARP-таблицю мережевої карти, і подальший широкомовний запит буде вже не потрібен.


Захист IP-адрес


Як бачите, ідентифікація відбувається багато в чому на довірчій основі. Спочатку визначається відповідність мережевого імені та IP-адреси. На цьому етапі можливе шахрайство: комп’ютер зловмисника може зареєструватися під чужим ім’ям, а може і просто ввести ПК, инциирующий запит smb-імені, в оману, відіславши йому свою адресу. У результаті безліч мережевих з’єднань буде встановлено з підробленими комп’ютером.


Така атака носить назву “людина в середині”. Вона стає можливою в результаті підробки IP-адреси, а її зміст у тому, що між спілкуються по мережі комп’ютерами вклинюється – непомітно для обох – Хост хакера. Якщо ви збираєтеся убезпечити свою мережу від злому, то на першому етапі має стояти забезпечення правильного відповідності Windows-імен та мережевих адрес.


Взагалі, система стандартів описує чотири типи мережевих вузлів за типом дозволу адрес. Вузли “b” і “m” використовують для цього широкомовні розсилання, а тому становлять потенційну загрозу безпеці. Інші вузли – “p” і “h” – використовують захищені механізми для визначення адрес. Ці механізми включають звернення до сервера WINS і використання файлу LMHOSTS. Тип вузла даного комп’ютера можна перевірити в ключі реєстру Hkey_Local_Machine System CurrentControlSet Services VxD MSTCP NodeType:



Кращий спосіб уникнути проблем з підміною IP-адрес – завести в мережі сервер Windows-імен. В такому випадку комп’ютер-клієнт буде реєструвати своє ім’я на такому сервері – і всі інші ПК не будуть користуватися широкомовним запитом, а стануть звертатися безпосередньо до сервера і отримувати у нього потрібну інформацію. На малюнку нижче показано, як налаштувати свій комп’ютер на роботу з сервером імен.


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


Ще один спосіб уникнути проблем з дозволом імен – використовувати в мережі DNS-сервер і позбутися від клієнтів Win9x. У системах Windows 2000/XP можна задіяти сервер інтернет-імен для іменування хостів в мережі. Правда, в цьому випадку можна зіткнутися з іншою проблемою – “штормом udp-екетов”. Така атака заснована на неможливості перевірити правильність повернутого сервером DNS відповіді. Так що з точки зору безпеки краще використовувати WINS.


Адреси мережевих карт під загрозою


Ми говорили, що на самому нижньому рівні адресації лежить фізичну адресу мережевої карти. Біда в тому, що в той час, коли драйвер мережевої карти спробує визначити MAC-адресу мережного пристрою, щоб підписати пакет, будуть задіяні довірчі відносини. А саме: ARP-протокол.


Чи можна методами, аналогічними тим, які використовують “p” – і “h”-вузли, зробити роботу протоколу ARP безпечної? Відповідь негативна. На сьогоднішній момент немає навіть спроб створити щось на зразок сервера MAC-адрес. З іншого боку, існують ще деякі (більше клопітні, ніж використання централізованого механізму) способи підвищення безпеки мережі. Головні можливості закладені в системній утиліті arp, яка поставляється з ОС Windows. За допомогою цієї утиліти можна жорстко задати таблицю ARP-адрес. Тобто системний адміністратор може написати скрипт (на кшталт того, що наведено нижче), щоб комп’ютер хакера не зміг у результаті широкомовного запиту надіслати свій MAC-адресу для іншого IP-адреси:



rem очищаємо всю таблицю
arp -d *
rem жорстко ставимо mac-адреси
arp -s 192.168.0.1 00-aa-bb-cc-dd-e1

arp -s 192.168.0.9 00-aa-bb-cc-dd-e9


На жаль, такий скрипт потрібно буде прописати на кожному хості. А якщо в якому-небудь комп’ютері ви поміняєте мережну картку або її IP-адреса, доведеться зробити відповідні зміни на всіх комп’ютерах мережі. Чи згодні ви платити таку ціну за безпеку? До речі, це ще не все …


Липові фізичні адреси


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


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


Втім, висновок залишається тим же: навіть якщо вам вдалося забезпечити адекватне визначення соответсвий “ім’я ресурсу – його IP-адреса – фізичну адресу”, у хакера все одно залишається ще один козир. Причому з точки зору системи підміна MAC-адреси є найнебезпечнішою – адже це, можна сказати, паспорт мережевого пристрою, його унікальний ідентифікатор. У ОС немає можливості перевірити правильність того чи іншого MAC-адреси, на відміну від правильності імені ресурсу або його IP-адреси.


Що ж робити?


Комутатор як основа мережевої безпеки


Ми прийшли до висновку, що забезпечити безпеку мережі одними тільки програмними методами неможливо. Основою, базисом, на який будуть спиратися засоби захисту ОС, має стати мережеве обладнання.


Сьогодні в переважній кількості випадків локальні мережі будуються з використанням комутаторів (switch). Цей пристрій має ряд корисних властивостей, які роблять локальну мережу більш ефективною і безпечною. По-перше, комутатор відсилає мережні пакети за принципом “точка-точка” – тобто вони не потрапляють у загальний цикл, де можуть бути проаналізовані хакером. По-друге, у нього є власна таблиця ARP – Таблиця фізичних і IP-адрес. Заповнюється вона автоматично: як тільки комп’ютер включається, він реєструється в мережі – і комутатор використовує дану інформацію для формування таблиці.


Що це дає? Припустимо, комп’ютеру потрібно дізнатися фізичну адресу ресурсу з IP 192.168.0.1. Він формує відповідний широкомовний запит і відсилає його в мережу. Комутатор перехоплює запит і, використовуючи свою таблицю, відсилає його одному лише комп’ютера з адресою 192.168.0.5. Хост хакера залишається на голодному пайку. Таким чином комутатор, припиняючи широкомовні розсилання, значно збільшує надійність мережевих з’єднань.


А як бути з MAC-адресами? Дійсно, у зломщика залишається можливість підміни цього ідентифікатора. І тут саме час зауважити, що комутатори бувають керованими і не керованими. Саме останні придбали – завдяки своїй ціні – широке поширення. Всі дані, пов’язані з мережним адресам, не керованими комутаторами заповнюються автоматично. Крім того, ці свитчи не мають методами контролю MAC-адрес.


Так що, якщо необхідно забезпечити безпеку на самому високому рівні, слід зупинити свій вибір на керованому комутаторі. Крім іншого, такий пристрій дозволяє прив’язати MAC-адресу мережної карти до певного порту комутатора. Наприклад, можна вказати, що мережева карта з адресою 00-a0-00-00-00-e1 підключена до п’ятого порту. А це зв’язує руки зломщикові – адже пакети, що відправляються на певний фізичну адресу, будуть доставлені потрібного комп’ютера. При такій схемі принцип безпеки мережі виглядає так: за допомогою WINS забезпечуємо правильне вирішення IP-адреси по імені ресурсу, комутатор (керований і не керований) забезпечує визначення MAC-адреси по його IP, і, нарешті, керований комутатор прив’язує відповідний MAC-адресу до потрібного комп’ютера.


Якщо говорити про пристрої популярних виробників мережевого устаткування, то можна запропонувати, скажімо, 24-портові комутатори третього рівня Planet WGS3-2620 або WGS3-404. А у D-Link функціями контролю MAC-адрес розпорядженні DES-2108 на вісім Ethernet-портів.


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


Звичайно, кращим із способів забезпечення конфіденційності документів є шифрування. Але для мережевих додатків такод підхід часто не застосуємо. Ще один вихід – шифрування трафіку за допомогою IP Sec. Непоганий спосіб, однак він вимагає додаткового переоснащення комп’ютерів. І навіть при ісользованіі шифрування пакетів вам потрібно буде використовувати відповідний комутатор – хоча б для того, щоб бути впевненим у правильності доставки пакетів.


Команда nbtstat – Інтрументи адміністратора


Системному адміністратору досить регулярно доводиться ламати голову над тією чи іншою проблемою в мережі. А між тим Windows поставляється з декількома утилітами, які дозволяють на першому етапі локалізувати причину неполадок.


Ось приклад: немає доступу до мережного ресурсу HADSHARE. Дізнаємося спочатку, зареєстровано чи ім’я Сomputer в мережі. Робимо це за допомогою команди nbtstat-a HAD. Якщо вдається виявити це ім’я, ми отримуємо необхідну інформацію про вузол. Якщо ім’я комп’ютера в мережі визначається, то далі командою net view had можна дізнатися перелік ресурсів, розкритих для мережі, а також з’ясувати, чи можливий доступ до них.

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*