Сканування портів, як метод перевірки захисту сервера
Оценка пользователей: / 5
ПлохоОтлично 
There are no translations available.

Сканування портівСканування портів - одна з найважливіших методик перевірки захисту веб-серверів від злому.
Введення в сканування портів почнемо з теорії, але спочатку визначимо поняття "порт".
Порт - це адреса сервера на вузлі, адреса якого зберігається в заголовку протоколу IP. На одному вузлі (IP-адресу) можуть бути розташовані різні сервери, наприклад HTTP-сервер (порт № 80), SMTP-сервер (порт № 25), SSH-сервер (порт № 22). Інформація про запущені на сайті сервісах може бути отримана шляхом сканування портів.
Датаграмний протокол UDP призначений для обміну повідомленнями без достовірності доставки, а також без гарантії збереження порядку повідомлень. Протокол управління передачею TCP усуває недоліки UDP. У протоколі TCP після відправлення запиту на з'єднання (SYN-пакета) віддалена сторона відповідає підтвердженням (SYN/ACK-пакетом, якщо порт відкритий) або відмовою (RST-пакетом, якщо закритий). Якщо порт відкритий, у відповіді міститься ідентифікаційний номер пакета (номери наступних пакетів збільшуються). Інформування віддаленої сторони про ідентифікаційний номер наших пакетів переводить з'єднання в стан "встановлено".
Існує кілька методик сканування портів TCP. Самим примітивним способом сканування портів, є спроба відкрити з'єднання з кожним із потрібних портів. Недоліком даного методу сканування портів є швидкість (потрійне рукостискання, що було описано вище, вимагає багаторазової передачі пакетів в обидві сторони).
Для прискорення процесу сканування портів можна скористатися побудовою мережних RAW-пакетів. У скануванні портів такі пакети дозволяють генерувати нештатні ситуації: посилки SYN, SYN/ACK, FIN-пакетів, пакетів без прапорів взагалі або пакетів з встановленими усіма можливими прапорами. Також RAW-пакети дозволяють виконати мережеву атаку, так званий IP-spoofing (підробка адреси відправника), яка застосовується в прихованому скануванні портів.
Сканування портів типу SYN-атака ґрунтується на формуванні SYN-пакетів на необхідні порти і аналізі відповідей. На сьогодні сканування портів даним методом є найшвидшим.
Ще одним різновидом сканування портів є посилка FIN-пакетів. На такі пакети цільова машина відповість RST-пакетом незалежно, порт відкритий або закритий. Сканування портів даним методом складніше виявити, хоча результат не показує відкритість порту. Сканування показує доступність (фільтрацію) порту - ігнорування з'єднань (відсутність якої-небудь відповіді від цільової машини).
Описані техніки сканування портів містять посилку на цільову машину пакетів з Вашої реальної IP-адреси. Для його приховування при скануванні портів використовується прихована атака. Для прихованого сканування портів потрібен зомбі: вузол з низьким трафіком і особливістю призначення ідентифікаційних номерів при встановленні з'єднання. Для проведення даної атаки як зомбі підходять мережеві win-принтери чи комп'ютери з ОС Windows всіх версій аж до Vista. Зазвичай ідентифікаційні номери призначаються випадково, але в перерахованих вузлах-зомбі новим з'єднанням видається наступний id (замість випадкового). Для сканування портів потрібно дізнатися id пакета у зомбі, отримавши відповідь на SYN/ACK-пакет (повернеться RST-пакет). Потім на цільову машину надсилається SYN-пакет від імені зомбі (застосовуючи ip-spoofing). Сканування портів відбувається по одному порту. Якщо порт відкритий, цільова машина пошле зомбі SYN/ACK-пакет, на що той відповість RST-пакетом і id-пакета збільшиться на одиницю.
Якщо на цільовій машині порт закритий або відфільтрований (немає відповіді або відповідь RST-пакетом), то id-пакета у зомбі не зміниться. Завершується потайне сканування портів для одного порту аналізом відповіді від зомбі на SYN/ACK-пакет. Якщо id пакета відрізняється на одиницю, то порт закритий або відфільтрований, якщо на два - значить відкритий. Сканування портів даним методом є найповільнішим типом сканування портів, проте є найбільш захищеним видом сканування портів.
Існують ще кілька методик сканування портів, а як інструмент, автор рекомендує nmap. В інструменті nmap реалізовані не тільки всі відомі техніки сканування портів, а й інструменти для виявлення зомбі-машин, які використовуються для скритного сканування портів.
Для захисту від сканування портів в Linux можна в мережевому фільтрі (підсистемі ядра) вимагати ігнорування всіх пакетів, крім встановлених з'єднань, що зведе нанівець сканування портів, використовуючи пакети з наперед невірно встановленими прапорами. Дозволити вхідні з'єднання адміністраторським службам тільки для довірених адрес, це зробить непотрібним будь-які види сканування портів, але також обмежить і можливості з адміністрування. Альтернативою цьому є установка пасток на сканування портів, яка спрацьовує при відкритті з'єднання на деяких часто сканованих портах.
Експерименти зі сканування портів слід проводити в спеціально побудованій для цього мережі або на машинах, адміністратори яких дозволили Вам сканування портів. Пам'ятайте, що при виявленні сканування портів на Вас можуть написати скаргу, а це потягне за собою покарання з боку провайдера.
Автор Ірина Покотило, магістрант НТУУ «КПІ»
 
>
КнигаНовости Практика поискаПартнерыО нас
Підтримка та дизайн: Могильний С.С. Шаблон: Joomla Templates by BuyHTTP Joomla Hosting