Який протокол використовує tcp порт 25. Основи мережевих портів

Джерела: Вікіпедія, Майкрософт, portscan.ru

Як дізнатися, які порти відкриті на комп'ютері?

  1. Для Windows: Пуск → cmd → Запустити від імені адміністратора → netstat -bn
  2. В антивіруснику, такому як Avast, є можливість переглянути активні порти в Брандмауері: інструменти -> Брандмауер -> Мережні з'єднання.

Також корисні команди netstat:

Для того, щоб розглянути статтю Ethernet і статистику для всіх протоколів, типу following command:

netstat -e -s

Для відображення статистичних даних тільки для TCP і UDP протоколів, типу following command:

netstat -s -p tcp udp

Для того, щоб відтворити активні TCP зв'язки і процеси ідентифікації every 5 seconds, type the following command:

nbtstat -o 5

Для того, щоб відтворити активні TCP зв'язки і процеси ID, використовуючи числову форму, типу following command:

nbtstat -n -o

Для сокетів TCP допустимі такі значення стану:

CLOSED Закрито. Сокет не використовується.
LISTEN (LISTENING) Чекає на вхідні з'єднання.
SYN_SENT Активно намагається встановити з'єднання.
SYN_RECEIVED Йде початкова синхронізація з'єднання.
ESTABLISHED З'єднання встановлено.
CLOSE_WAIT Віддалена сторона відключилася; очікування закриття сокету.
FIN_WAIT_1 Сокет закритий; вимкнення з'єднання.
CLOSING Сокет закритий, потім віддалена сторона відключилася; очікування на підтвердження.
LAST_ACK Віддалена сторона відключилася, потім сокет закритий; очікування на підтвердження.
FIN_WAIT_2 Сокет закритий; очікування відключення віддаленої сторони.
TIME_WAIT Сокет закритий, але чекає пакети, які ще знаходяться в мережі для обробки

Список портів, що найчастіше використовуються

Порт у комп'ютерних мережахє кінцевою точкою зв'язку ОС. Цей термін також застосовується і для апаратних пристроїв, однак у програмному забезпеченні він позначає логічну конструкцію, що ідентифікує конкретний вид послуг або процес. Порт завжди пов'язаний з IP-адресою хоста або типом протоколу зв'язку. Він завершує призначення адреси сеансу зв'язку. Порт ідентифікується для кожного протоколу та адреси за допомогою 16-бітного числа, яке також відоме як номер порту. Часто конкретні номери портів застосовуються визначення конкретних послуг. З кількох тисяч перерахованих 1024 відомих номерів захищено відповідно до спеціальної угоди. Вони визначають конкретні типи послуг на хості. Протоколи, які переважно використовують порти, застосовуються керувати процесами. Як приклад можна навести протокол управління передачею TCPабо User Datagram Protocol із комплекту Internet протоколів.

Значення

Порти TCP не потрібні за прямими посиланнями типу "точка-точка", коли на кожному кінці комп'ютери можуть одночасно працювати тільки з однією програмою. Необхідність у них з'явилася після того, як ці машини виявилися здатними виконувати в один і той же час більше однієї програми. Вони виявилися підключені до сучасних мереж із пакетною комутацією. У моделі клієнт-серверної архітектури порти, додатки та мережеві клієнтипідключаються до ініціації обслуговування. Вони надають мультиплексні послуги після того, як початковий обмін інформацією зв'язується з номером порту. Звільняється шляхом перемикання кожного екземпляра обслуговування запитів до виділеної лінії. Здійснюється підключення до конкретного номера. Завдяки цьому додаткові клієнти можуть обслуговуватись без жодного очікування.

Деталі

Протоколи передачі даних UDP і TCP використовуються для того, щоб вказати у своїх заголовках сегментів номер порту призначення та джерело. Номер порту – це 16-розрядне число без знака. Воно може бути в межах від 0 до 65535. TCP порти не можуть використовувати номер 0. Для UDP порт джерела не обов'язковий. Рівне нуль значення означає його відсутність. Цей процесзв'язує вхідні або вихідні канали за допомогою транспортного протоколу, номера порту та IP адреси через інтернет сокет. Цей процес також відомий як зв'язування. Він дає можливість прийому та передачі інформації через мережу. Мережеве ПЗ операційної системивикористовується передачі вихідних даних всіх портів додатків до мережі. Також воно здійснює переадресацію мереж, що прибувають, пакетів шляхом зіставлення номера та IP адреси. До певної IP адреси та комбінації портів, використовуючи один і той же транспортний протокол, можна прив'язати лише один процес. Збої в роботі додатків, які також називають конфліктами, виникають у тих випадках, коли відразу кілька програм намагаються зв'язатися з тими самими номерами портів на тій же IP адресі, використовуючи той самий протокол.

Як вони застосовуються

Програми, що реалізують спільні служби, часто використовують спеціально зарезервований і відомий список портів UDP і TCP для прийому запитів на обслуговування клієнтів. Цей процес також відомий під назвою прослуховування. Він включає отримання запиту з добре відомого порту і встановлення діалогу між клієнтом і сервером один до одного при використанні одного і того ж номера локального порту. Інші клієнти можуть продовжувати підключення. Це можливо, оскільки з'єднання TCP ідентифікується як ланцюжок, що складається з локального та віддаленого портів та адрес. Стандартні порти UDP і TCP можуть бути визначені за згодою IANA або Internet Assigned Numbers Authority. Як правило, ядро ​​мережевих сервісів, перш за все це World Wide Web, використовує невеликі номери портів, менше 1024. Багато ОС для додатків для прив'язки до них потрібні спеціальні привілеї. З цієї причини вони часто вважаються критичними для мереж IP. Кінцевий клієнт з'єднання з іншого боку, як правило, використовує більшу їх кількість, виділених для короткострокового використання. З цієї причини існують так звані ефемерні порти.

Структура

Порти TCP закодовані у заголовку пакета транспортного пакета. Вони легко можуть бути інтерпретовані не тільки приймаючими та передаючими ПК, але й іншими компонентами мережевої інфраструктури. Міжмережні екрани, зокрема, налаштовані на розрізнення пакетів залежно від номерів портів призначення та їх джерела. Класичним прикладом є перенаправлення. Спроби підключення послідовно до діапазону портів одному комп'ютері також відомі як їх сканування. Подібні процедури, як правило, пов'язані або зі спробами зловмисного збою, або з тим, що мережеві адміністратори спеціально шукають можливі вразливості для того, щоб запобігти таким нападам. Дії, спрямовані на відкриття TCP порту, реєструються та контролюються за допомогою комп'ютерів. Ця техніка використовує цілий ряд запасних з'єднань для забезпечення безперебійної взаємодії з сервером.

Приклади використання

Основний приклад, у якому активно застосовуються порти UDP і TCP, це поштова система Інтернет. Сервер використовується для роботи з електронною поштою. Загалом він потребує двох послуг. Перший сервіс застосовується для транспортування електронною поштою та з інших серверів. Це досягається за допомогою Simple Mail Transfer Protocol (SMTP). Додаток служби SMTP зазвичай прослуховує порт TCP номер 25 для того, щоб обробляти вхідні запити. Інша послуга є POP або IMAP. Вони необхідні для клієнтських програм в електронній пошті на машинах користувачів, щоб отримувати з сервера повідомлення електронної пошти. Прослуховуються службами POP номери з порту TCP 110. Всі зазначені вище служби можуть запускатися на тому самому хост-комп'ютері. Номер порту, коли це відбувається, відрізняє сервіс, що запитується віддаленим пристроєм. Якщо номер порту прослуховування сервера визначено коректно, цей параметр для клієнта визначається динамічного діапазону. Клієнти та сервер окремо в деяких випадках використовують певні порти TCP, призначені в IANA. Як наочний приклад можна навести DHCP. Тут клієнтом у разі використовується UDP 68, а сервером UDP 67.

Використання в URL-адресах

Іноді номери портів добре видно в інтернеті або інших уніфікованих покажчиках інформаційних ресурсів, на кшталт URL. HTTP за промовчанням використовує порт TCP 80, а HTTPS – порт 443. Також існують інші варіації. Так, наприклад, URL http://www.example.com:8080/pathвказує на те, що веб-браузер замість сервера HTTP підключається до 8080.

Список портів UDP та TCP

Як було зазначено раніше, IANA чи InternetA ssigned Numbers Authority, відповідає за глобальну координацію DNS-Root, адресації IP та інших ресурсів інтернет протоколу. Ці процедури включають реєстрацію часто використовуваних портів для відомих інтернет-сервісів. Всі номери портів розділені між собою на три діапазони: добре відомі, зареєстровані та приватні чи динамічні. Відомими називають порти, що мають номери від 0 до 1023. Їх також називають системними. Вимоги, які пред'являються до нових значень у даному діапазоні, є суворішими, ніж для інших реєстрацій.

Приклади

До прикладів портів, що у списку відомих, можна віднести:

  • TCP 443 порт – HTTPS;
  • 21 - File Transfer Protocol;
  • 22- Secure Shell;
  • 25 - простий протокол передачі пошти STMP;
  • 53 – система доменних імен DNS;
  • 119 - протокол передачі мережевих новин або NNTP;
  • 80 – протокол передачі гіпертексту HTTP;
  • 143 - Internet Message Access Protocol;
  • 123 - протокол мережного часу NTP;
  • 161 - простий протокол керування мережею SNMP.

Зареєстровані порти обов'язково мають номери від 1024 до 49151. Internet Assigned Numbers Authority підтримує офіційний список всіх відомих та зареєстрованих діапазонів. Частотні або динамічні порти знаходяться в діапазоні від 29 152 до 65 535. Одним з варіантів використання даного діапазону є тимчасові порти.

Історія створення

Концепція номерів портів розробили ранніми творцями ARPANET. Вона розроблялася за умов неформального співробітництва між авторами програмного забезпечення та системними адміністраторами. Тоді ще не використовувався термін «номер порту». Номерний ряд віддаленого хоста був 40-бітне число. Перші 32 біти нагадували сьогоднішню адресу IPv4. Найбільш значущими у своїй була перші 8 біт. Менш значної частини числа (це біти з 33 по 40) позначали об'єкт під назвою AEN. Він був прототип сучасного номера порту. Вперше створення каталогу номерів сокету було запропоновано 26 березня 1972 року. Адміністраторів мережі тоді закликали описати кожен постійний номер щодо мережевих послуг та його функцій. Даний каталог згодом був опублікований RFC 433 взимку 1972 року. До нього увійшов список хостів, їх номери портів та відповідна функція, яка використовується у кожному вузлі мережі. Вперше офіційні значення номерів портів було задокументовано у травні 1972 року. Тоді ж було запропоновано і спеціальну адміністративну функцію для ведення даного реєстру. До першого списку портів TCP увійшло 256 значень AEN. Вони були поділені на такі діапазони:

- від 0 до 63 - стандартні функції всієї мережі;

- від 64 до 127 - хост-специфічні функції;

- Від 128 до 239 - функції, зарезервовані для майбутнього використання;

- Від 240 до 255 - будь-яка експериментальна функція.

Терміном AEN на початку існування ARPANET також називали ім'я сокета, яке застосовувалося з початковим протоколом з'єднання та компонентом програми управління мережею або NCP. У цьому випадку NCP був попередником сучасних інтернет-протоколів, які використовують порти TCP/IP.

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

Блокування мережевих програм

Поверхня атаки по мережі - загальноприйнятий термін опису вразливості мережі. Багато мережевих нападів проходять через вразливі програми, і можна суттєво зменшити площу атаки, скоротивши кількість активних програм у мережі. Іншими словами, слід відключити служби, що не використовуютьсявстановити брандмауер на виділеній системі для перевірки законності трафіку і скласти вичерпний список управління доступом (access control list - ACL) для брандмауера на периметрі мережі.

Кожен відкритий мережевий порт представляє програму, яка прослуховує мережу. Поверхню атаки кожного сервера, підключеного до мережі, можна зменшити, відключивши всі необов'язкові мережні служби та програми. Версія Windows Server 2003 перевершує попередні версії операційної системи, оскільки в ній за замовчуванням активізується менше мережевих служб. Однак аудит все ж таки необхідний, щоб виявити знову встановлені програмита зміни в конфігурації, які відкривають зайві мережеві порти.

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

Сканування портів

Сканування портів - процес виявлення прослуховуючих програм шляхом активного опитування мережевих портів комп'ютера або іншого мережного пристрою. Вміння читати результати сканування та порівнювати мережеві звіти з результатами хост-опитування портів дозволяє скласти ясну картину трафіку, що проходить через мережу. Знання мережевої топології – важлива умова підготовки стратегічного плану сканування конкретних галузей. Наприклад, скануючи діапазон зовнішніх IP-адрес, можна зібрати цінні дані про зломщика, що проник з Internet. Тому слід частіше сканувати мережу та закрити всі необов'язкові мережні порти.

Зовнішнє сканування портів брандмауера дозволяє виявити всі служби, що відгукуються (наприклад, Web або електронна пошта), розміщені на внутрішніх серверах. Ці сервери також слід захистити. Налаштуйте звичний сканер портів (наприклад, Network Mapper - Nmap) для перевірки потрібної групи портів UDP або TCP. Як правило, сканування портів TCP - процедура більш надійна, ніж сканування UDP, завдяки глибшій зворотнього зв'язкуз орієнтованими на з'єднання протоколами TCP. Існують версії Nmap як Windows, так і Unix. Запустити базову процедуру сканування просто, хоча в програмі реалізовані і більш складні функції. Для пошуку відкритих портів на тестовому комп'ютері я запустив команду

Nmap 192.168.0.161

На екрані 1 показано результати сеансу сканування - у разі комп'ютера Windows 2003 у стандартній конфігурації. Дані, зібрані в результаті сканування портів, показують наявність шести відкритих портів TCP.

Порт Протокол Опис
1 20 FTP Data File Transfer Protocol – протокол передачі файлів. Порт для даних.
2 21 FTP Control File Transfer Protocol – протокол передачі файлів. Порт для команд.
3 22 SSH Secure SHell – «безпечна оболонка». Протокол віддаленого керування операційною системою.
4 23 telnet TERMINAL NETwork. Протокол реалізації текстового інтерфейсу через мережу.
5 25 SMTP Simple Mail Transfer Protocol – простий протокол передачі пошти.
6 42 WINS Windows Internet Name Service. Служба зіставлення NetBIOS-імен комп'ютерів з IP-адресами вузлів.
7 43 WHOIS "Who is". Протокол отримання реєстраційних даних про власників доменних імен та IP адрес.
8 53 DNS Domain Name System – система доменних імен.
9 67 DHCP Dynamic Host Configuration Protocol - протокол динамічного налаштуваннявузла. Отримання динамічних ІР.
10 69 TFTP Trivial File Transfer Protocol – простий протокол передачі файлів.
11 80 HTTP/Web HyperText Transfer Protocol – протокол передачі гіпертексту.
12 110 POP3 Post Office Protocol Version 3 - протокол отримання електронної поштиверсія 3.
13 115 SFTP SSH File Transfer Protocol. Протокол захищеної передачі.
14 123 NTP Network Time Protocol. Протокол синхронізації внутрішнього годинника комп'ютера.
15 137 NetBIOS Network Basic Input/Output System. Протокол забезпечення мережевих операцій введення/виводу. Служба назв.
16 138 NetBIOS Network Basic Input/Output System. Протокол забезпечення мережевих операцій введення/виводу. Служба з'єднання.
17 139 NetBIOS Network Basic Input/Output System. Протокол забезпечення мережевих операцій введення/виводу. Служба сесій.
18 143 IMAP Internet Message Access Protocol. Протокол прикладного рівня для доступу до електронної пошти.
19 161 SNMP Simple Network Management Protocol – простий протокол мережного управління. Керування пристроями.
20 179 BGP Border Gateway Protocol, протокол граничного шлюзу. Протокол динамічної маршрутизації.
21 443 HTTPS HyperText Transfer Protocol Secure) - протокол HTTP, що підтримує шифрування.
22 445 SMB Server Message Block. Протокол віддаленого доступу до файлів, принтерів та мережевих ресурсів.
23 514 Syslog System Log. Протокол відправлення та реєстрації повідомлень про системні події, що відбуваються.
24 515 LPD Line Printer Daemon. Протокол віддаленого друку на принтері.
25 993 IMAP SSL Протокол IMAP, що підтримує шифрування SSL.
26 995 POP3 SSL Протокол POP3 підтримує шифрування SSL.
27 1080 SOCKS SOCKet Secure. Протокол отримання захищеного анонімного доступу.
28 1194 OpenVPN Відкрита реалізація технології Віртуальної Приватної Мережі(VPN).
29 1433 MSSQL Microsoft SQL Server- Система управління базами даних. Порт доступу до бази.
30 1702 L2TP (IPsec) Протокол підтримки віртуальних приватних мереж. Також набір протоколів забезпечення захисту даних.
31 1723 PPTP Тунельний протокол захищеного з'єднання із сервером типу точка-точка.
32 3128 Proxy В даний момент порт часто використовується проксі-серверами.
33 3268 LDAP Lightweight Directory Access Protocol – полегшений протокол доступу до каталогів (службі каталогів).
34 3306 MySQL Доступ до MySQL баз даних.
35 3389 RDP Remote Desktop Protocol – протокол віддаленого робочого столу для Windows.
36 5432 PostgreSQL Доступ до PostgreSQL базданих.
37 5060 SIP Протокол встановлення сеансу та передачі мультимедіа вмісту.
38 5900 VNC Virtual Network Computing – система віддаленого доступу до робочого столу комп'ютера.
39 5938 TeamViewer TeamViewer – система забезпечення дистанційного контролюкомп'ютера та обміну даними.
40 8080 HTTP/Web Альтернативний порт для протоколу HTTP. Іноді використовують проксі-сервери.
41 10000 NDMP Популярний порт: Webmin, SIP-голос, VPN IPSec over TCP.
42 20000 DNP
Екран 1. Базовий сеанс сканування Nmap
  • Порт 135 використовується функцією відображення кінцевих точок RPC, реалізованої в багатьох технологіях Windows - наприклад, додатках COM/DCOM, DFS, журналах подій, механізмах реплікації файлів, формування черг повідомлень та Microsoft Outlook. Цей порт повинен бути блокований у брандмауері на периметрі мережі, але важко закрити його та одночасно зберегти функціональність Windows.
  • Порт 139 використовується сеансовою службою NetBIOS, яка активізує браузер пошуку інших комп'ютерів, служби спільного використання файлів, Net Logon та службу сервера. Його важко закрити, як порт 135.
  • Порт 445 використовується Windows для спільної працііз файлами. Щоб закрити цей порт, слід блокувати File and Printer Sharing for Microsoft Networks. Закриття порту не заважає з'єднанню комп'ютера з іншими віддаленими ресурсами; однак інші комп'ютери не можуть підключитися до цієї системи.
  • Порти 1025 та 1026 відкриваються динамічно та використовуються іншими системними процесами Windows, зокрема, різними службами.
  • Порт 3389 використовується Remote Desktop, яка не активована за замовчуванням, але на моєму тестовому комп'ютері активна. Щоб закрити порт, слід перейти до вкладки Remote у діалоговому вікні System Properties і скинути прапорець Allow users to connect remotely to this computer.

Обов'язково слід виконати пошук відкритих портів UDP та закрити зайві. Програма сканування показує відкриті порти комп'ютера, які можна побачити з мережі. Аналогічні результати можна отримати за допомогою інструментів, які розташовані на хост-системі.

Хост-сканування

Окрім використання мережевого сканера портів, відкриті порти на хост-системі можна виявити за допомогою наступної команди (запускається на хост-системі):

Netstat-an

Ця команда працює як у Windows, так і UNIX. Netstat видає список активних портів комп'ютера. У Windows 2003 Windows XP слід додати параметр -o для отримання відповідного ідентифікатора процесу (program identifier - PID). На екрані 2 показані вихідні результати Netstat того ж комп'ютера, сканування портів якого виконувалося раніше. Слід звернути увагу на те, що закрито кілька портів, які раніше були активними.

Аудит журналу брандмауера

Ще один корисний спосібвиявлення мережевих додатків, які надсилають або отримують дані по мережі, - збирати та аналізувати більше даних у журналі брандмауера. Записи Deny, в яких наводиться інформація із зовнішнього інтерфейсу брандмауера, навряд чи будуть корисні через «шумовий трафік» (наприклад, від хробаків, сканерів, тестування по ping), засмічує Internet. Але якщо записувати в журнал дозволені пакети з внутрішнього інтерфейсу, можна побачити весь вхідний і вихідний мережевий трафік.

Щоб побачити «сирі» дані трафіку в мережі, можна встановити мережний аналізатор, який підключається до мережі та записує всі виявлені мережеві пакети. Найпоширеніший безкоштовний мережевий аналізатор - Tcpdump для UNIX (версія для Windows називається Windump), який легко встановлюється на комп'ютері. Після встановлення програми слід налаштувати її для роботи в режимі прийому всіх мережних пакетів, щоб реєструвати весь трафік, а потім підключити до монітора порту на мережному комутаторі та відстежувати весь трафік через мережу. Про налаштування монітора порту буде розказано нижче. Tcpdump - надзвичайно гнучка програма, за допомогою якої можна переглядати мережевий трафік з використанням спеціалізованих фільтрів і показувати лише інформацію про IP-адреси та порти або всі пакети. Важко переглянути мережні дампи у великих мережах без допомоги відповідних фільтрів, але слід бути обережними, щоб не втратити важливі дані.

Об'єднання компонентів

Досі ми розглядали різні методита інструменти, за допомогою яких можна знайти програми, що використовують мережу. Настав час об'єднати їх та показати, як визначити відкриті мережеві порти. Вражаюче, як «балакучі» комп'ютери в мережі! По-перше, рекомендується познайомитися з документом Microsoft«Service overview and network port requirements for the Windows Server system» ( http://support.microsoft.com/default.aspx?scid=kb;en-us;832017), в якому перераховані протоколи (TCP та UDP) та номери портів, що використовуються додатками та більшістю основних служб Windows Server. У документі описані ці служби та використовувані ними асоційовані мережеві порти. Рекомендується завантажити та роздрукувати це корисне для адміністраторів мереж Windowsдовідковий посібник.

Налаштування мережевого аналізатора

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

Для цього потрібно налаштувати монітор порту (різні постачальники називають його span port або mirrored port) у комутаторі. Встановити монітор порту в комутаторі Cisco Catalyst компанії Cisco Systems легко. Потрібно зареєструватися на комутаторі та активізувати режим Enable, потім перейти в режим configure terminal та ввести номер інтерфейсу порту комутатора, на який слід надсилати весь контрольований трафік. Нарешті, необхідно вказати всі порти, що відстежуються. Наприклад, наступні команди забезпечують моніторинг трьох портів Fast Ethernetта пересилання копії трафіку до порту 24.

Interface FastEthernet0/24 port monitor FastEthernet0/1 port monitor FastEthernet0/2 port monitor FastEthernet0/3 end

У даному прикладімережевий аналізатор, підключений до порту 24, буде переглядати весь вихідний та вхідний трафік комп'ютерів, підключених до перших трьох портів комутатора. Для перегляду створеної конфігурації слід ввести команду

Write memory

Початковий аналіз

Розглянемо приклад аналізу даних, які проходять через мережу. Якщо для мережевого аналізу використовується комп'ютер Linux, то можна отримати вичерпне уявлення про тип та частоту пакетів у мережі за допомогою такої програми, як IPTraf у режимі Statistical. Деталі трафіку можна з'ясувати за допомогою програми Tcpdump.

Протокол TCP/IP є фундамент Internet, з допомогою якого комп'ютери відправляють і приймають інформацію з будь-якої точки земної кулі, незалежно від географічне розташування. Звернутися до комп'ютера з TCP/IP в іншій країні так само просто, як і до комп'ютера, що знаходиться в сусідній кімнаті. Процедура доступу в обох випадках ідентична, хоча для з'єднання з машиною в іншій країні може знадобитися на кілька мілісекунд більше. В результаті громадяни будь-якої країни можуть легко робити покупки в Amazon.com; проте через логічну близькість ускладнюється завдання інформаційного захисту: будь-який власник підключеного до Internet комп'ютера в будь-якій точці світу може спробувати встановити несанкціоноване з'єднання з будь-якою іншою машиною.

Обов'язок ІТ-фахівців – встановити брандмауери та системи виявлення підозрілого трафіку. Під час аналізу пакетів витягується інформація про IP-адреси відправника та призначення та задіяні мережеві порти. Значення мережевих портів не поступається IP-адрес; це найважливіші критерії для відокремлення корисного трафіку від фальшивих і шкідливих посилок, що надходять у мережу та виходять із неї. Основна частина мережевого трафіку Internet складається з пакетів TCP і UDP, які містять інформацію про мережеві порти, що використовуються комп'ютерами для того, щоб спрямовувати трафік від однієї програми до іншої. Необхідна умова безпеки брандмауера та мережі – вичерпне розуміння адміністратором принципів використання цих портів комп'ютерами та мережевими пристроями.

Вивчаємо порти

Знання основних принципів роботи мережевих портів знадобиться будь-кому системному адміністратору. Маючи базові знання про пристрій портів TCP і UDP, адміністратор може самостійно виконати діагностику мережі, що відмовила, або захистити комп'ютер, якому належить звернутися в Internet, не викликаючи мережевого інженера або консультанта з брандмауерів.

У першій частині цієї статті (що складається із двох частин) дається опис основних понять, необхідні розгляду мережевих портів. Буде показано місце мережевих портів у спільній мережевої моделіта роль мережевих портів та NAT (Network Address Translation - трансляція мережевих адрес) брандмауера у з'єднаннях комп'ютерів компанії з Internet. І нарешті, будуть вказані точки мережі, в яких зручно ідентифікувати та фільтрувати мережевий трафік відповідними мережевими портами. У другій частині розглядаються деякі порти, які використовуються широко поширеними програмами та операційними системами, і розповідається про деякі інструменти для пошуку відкритих портів мережі.

Короткий огляд мережевих протоколів

TCP/IP - набір мережевих протоколів, якими комп'ютери встановлюють зв'язок друг з одним. Набір TCP/IP - не більше ніж фрагменти програмного коду, встановлені в операційній системі та відкривають доступ до цих протоколів. TCP/IP є стандартом, тому програми TCP/IP на комп'ютері Windowsповинні успішно обмінюватись даними з аналогічним додатком на машині UNIX. У початковий період розвитку мереж, 1983 р., інженери розробили семирівневу модель взаємодії OSI для опису процесів мережевого обміну комп'ютерів, від кабелю до додатка. Модель OSI складається з фізичного, канального, мережного, транспортного, сеансового представлення даних та прикладного рівнів. Адміністратори, які постійно працюють з Internet і TCP/IP, в основному мають справу з мережевим, транспортним та прикладним рівнями, але для успішної діагностики необхідно знати й інші рівні. Незважаючи на солідний вік моделі OSI, нею, як і раніше, користуються багато фахівців. Наприклад, коли мережевий інженер говорить про комутатори рівнів 1 або 2, а постачальник брандмауерів - про контроль на рівні 7, вони мають на увазі рівні, визначені в моделі OSI.

У цій статті розповідається про мережеві порти, розташовані на рівні 4 - транспортному. У наборі TCP/IP ці порти використовуються протоколами TCP та UDP. Але перш ніж перейти до докладний описодного рівня, необхідно коротко ознайомитись із сім'ю рівнями OSIі тією роллю, що вони виконують у сучасних мережах TCP/IP.

Рівні 1 та 2: фізичні кабелі та адреси MAC

Рівень 1, фізичний, представляє власне середовище, в якому поширюється сигнал, наприклад, мідний кабель, волоконно-оптичний кабель або радіосигнали (у випадку Wi-Fi). Рівень 2, канальний описує формат даних для передачі у фізичному середовищі. На рівні 2 пакети організуються в кадри і можуть бути реалізовані базові функції керування потоком даних та обробки помилок. Стандарт IEEE 802.3, більш відомий як Ethernet, найпоширеніший стандарт рівня 2 для сучасних локальних мереж. Звичайний мережевий комутатор - пристрій 2 рівня, за допомогою якого кілька комп'ютерів фізично підключаються і обмінюються даними один з одним. Іноді два комп'ютери не можуть встановити з'єднання один з одним, хоча IP-адреси здаються коректними: причиною неполадки можуть бути помилки в кеші протоколу перетворення адрес ARP (Address Resolution Protocol), що свідчить про несправність на рівні 2. Крім того, деякі бездротові точки доступу (Access Point, AP) забезпечують фільтрацію адрес MAC, що дозволяє з'єднання з бездротовою AP тільки мережевим адаптерамз конкретною MAC-адресою.

Рівні 3 та 4: IP-адреси та мережні порти

Рівень 3, мережевий, підтримує маршрутизацію. У TCP/IP маршрутизація реалізована в IP. IP-адреса пакета належать до рівня 3. Мережеві маршрутизатори- пристрої рівня 3, які аналізують IP-адреси пакетів і пересилають пакети іншому маршрутизатору або доставляють пакети локальні комп'ютери. Якщо в мережі виявлено підозрілий пакет, то спочатку потрібно перевірити IP-адресу пакета, щоб встановити місце походження пакета.

Разом із мережевим рівнем 4-й рівень (транспортний) - хороша відправна точка для діагностики мережевих несправностей. В Internet рівень 4 містить протоколи TCP і UDP та інформацію про мережному порті, який пов'язує пакет із конкретним додатком. Мережевий стек комп'ютера використовує зв'язок мережного порту TCP або UDP з програмою, щоб направити мережевий трафік до цієї програми. Наприклад, TCP-порт 80 пов'язані з додатком Web-сервера. Така відповідність портів із додатками відома як служба.

TCP та UDP різняться. По суті, TCP забезпечує надійне з'єднаннядля обміну даними між двома програмами. Перш ніж розпочати обмін даними, дві програми повинні встановити зв'язок, виконавши трикроковий процес встановлення сязі TCP. Для протоколу UDP більшою мірою характерний підхід «активізувати та забути». Надійність зв'язку для додатків TCPзабезпечується протоколом, а додатку UDP доводиться самостійно перевіряти надійність з'єднання.

Мережевий порт є числом від 1 до 65535, зазначене і відоме обом додаткам, між якими встановлюється зв'язок. Наприклад, клієнт зазвичай посилає незашифрований запит на сервер за цільовою адресою на TCP-порт 80. Зазвичай комп'ютер посилає запит DNSна DNS-сервер за цільовою адресою на UDP-порт 53. Клієнт та сервер мають IP-адресу джерела та призначення, а також мережевий порт джерела та призначення, які можуть відрізнятися. Історично всі номери портів нижче 1024 року отримали назву «відомих номерів портів» і зареєстровані в організації IANA (Internet Assigned Numbers Authority). У деяких операційних системах лише системні процеси можуть використовувати порти цього діапазону. Крім того, організації можуть зареєструвати в IANA порти з 1024 по 49151, щоб зв'язати порт зі своїм додатком. Така реєстрація забезпечує структуру, яка допомагає уникнути конфліктів між програмами, які прагнуть використовувати порт з одним номером. Однак загалом ніщо не заважає застосуванню запросити конкретний порт, якщо він не зайнятий іншою активною програмою.

Історично склалося так, що сервер може прослуховувати порти з малими номерами, а клієнт - ініціювати з'єднання від порту з великим номером (понад 1024). Наприклад, Web-клієнт може відкрити з'єднання з Web-сервером через порт призначення 80, але асоціювати довільно обраний порт-джерело, наприклад TCP-порт 1025. Відповідаючи клієнту, Web-сервер адресує пакет клієнту з портом-джерелом 80 і портом призначення 1025. Комбінація IP-адреси та порту називається сокетом (socket), вона має бути унікальною в комп'ютері. З цієї причини при організації Web-сервера з двома окремими Web-сайтами на одному комп'ютері необхідно використовувати кілька IP-адрес, наприклад address1:80 і address2:80, або налаштувати Web-сервер на прослуховування декількох мережевих портів, таких як address1:80 та address1:81. Деякі Web-сервери забезпечують роботу кількох Web-сайтів через один порт, запитуючи хост-заголовок, але насправді ця функція виконується додатком Web-сервера на вищому рівні.

У міру того як в операційних системах і програмах з'являлися мережеві функції, програмісти почали використовувати порти з номерами вище 1024, без реєстрації всіх програм в IANA. Виконавши в Internet пошук будь-якого мережного порту, зазвичай, вдається швидко знайти інформацію про додатках, які використовують цей порт. Або можна провести пошук за словами Well Known Ports і відшукати безліч сайтів зі списками найбільш типових портів.

При блокуванні мережних додатків комп'ютера або усуненні вад у брандмауері основна частина роботи припадає на класифікацію та фільтрацію IP-адрес рівня 3, а також протоколів і мережевих портів рівня 4. Щоб швидко відрізняти легальний і підозрілий трафік, слід навчитися розпізнавати 20 найбільш широко використовуваних на портів TCP та UDP.

Вміння розпізнавати мережеві порти та знайомство з ними не обмежується призначенням правил для брандмауера. Наприклад, деякі виправлення системи безпеки Microsoft описують процедуру закриття портів NetBIOS. Цей захід дозволяє обмежити поширення «хробаків», що проникають через уразливі місця операційної системи. Знаючи, як і де слід закрити ці порти, можна зменшити загрозу безпеці мережі під час підготовки до розгортання важливого виправлення.

І відразу до рівня 7

В даний час рідко доводиться чути про рівень 5 (сеансовий) і рівень 6 (подання даних), але рівень 7 (прикладний) - гаряча тема серед постачальників брандмауерів. Новітня тенденція у розвитку мережевих брандмауерів- контроль на рівні 7, який описує методи, що використовуються для аналізу роботи програми з мережевими протоколами. Аналізуючи корисну інформацію мережного пакета, брандмауер може визначити законність трафіку, що проходить через нього. Наприклад, Web-запит містить оператор GET усередині пакета рівня 4 (TCP-порт 80). Якщо у брандмауері реалізовані функції рівня 7, можна перевірити коректність оператора GET. Інший приклад - багато однорангові (P2P) програми обміну файлами можуть захопити порт 80. В результаті стороння особа може налаштувати програму на використання порту на власний вибір - швидше за все, порту, який повинен залишатися відкритим у даному брандмауері. Якщо співробітникам компанії потрібен вихід в Internet, необхідно відкрити порт 80, але щоб відрізнити законний Web-трафік від трафіку P2P, спрямованого кимось у порт 80, брандмауер повинен забезпечувати контроль на рівні 7.

Роль брандмауера

Описав мережні рівні, можна перейти до опису механізму зв'язку між мережними додатками через брандмауери, приділивши особливу увагу мережевим портам, що використовуються при цьому. У наступному прикладі клієнтський браузер встановлює зв'язок з Web-сервером з іншого боку брандмауера, як співробітник компанії звертається до Web-серверу в Internet.

Більшість Internet-брандмауерів працює на рівнях 3 і 4, щоб дослідити, а потім дозволити або блокувати вхідний та вихідний мережевий трафік. Загалом адміністратор складає списки керування доступом (ACL), які визначають IP-адреси та мережеві порти блокованого або дозволеного трафіку. Наприклад, щоб звернутися до Web, потрібно запустити браузер і націлити його на Web-сайт. Комп'ютер ініціює вихідне з'єднання, надсилаючи послідовність IP-пакетів, що складаються із заголовка та корисної інформації. Заголовок містить інформацію про маршрут та інші атрибути пакета. Правила брандмауера часто складаються з урахуванням інформації про маршрут і зазвичай містять IP-адреси джерела та місця призначення (рівень 3) та протокол пакету (рівень 4). При переміщеннях по Web IP-адреса призначення належить Web-серверу, а протокол і порт призначення (за замовчуванням) - TCP 80. IP-адреса джерела є адреса комп'ютера, з якого користувач виходить у Web, а порт джерела - зазвичай динамічно призначається число , що перевищує 1024. Корисна інформація не залежить від заголовка та генерується додатком користувача; у разі це запит Web-серверу на надання Web-страницы.

Брандмауер аналізує вихідний трафік і дозволяє його відповідно до правил брандмауера. Багато компаній дозволяють весь вихідний трафік зі своєї мережі. Такий підхід спрощує налаштування та розгортання, але через відсутність контролю даних, що залишають мережу, знижується безпека. Наприклад, «троянський кінь» може заразити комп'ютер у мережі підприємства та надсилати інформацію з цього комп'ютера іншому комп'ютеру в Internet. Має сенс скласти списки керування доступом для блокування такої вихідної інформації.

На відміну від прийнятого в багатьох брандмауерах підходу до вихідного трафіку, більшість із них налаштована на блокування вхідного трафіку. Як правило, брандмауери дозволяють вхідний трафік лише у двох випадках. Перший - трафік, що надходить у відповідь вихідний запит, надісланий раніше користувачем. Наприклад, якщо вказати в браузері адресу Web-сторінки, брандмауер пропускає в мережу програмний код HTML та інші компоненти Web-сторінки. Другий випадок - розміщення в Internet внутрішньої служби, такої як поштовий сервер, Web- або FTP-вузол. Розміщення такої служби зазвичай називається трансляцією порту чи публікацією сервера. Реалізація трансляції порту в різних постачальників брандмауерів є різною, але в основі лежить єдиний принцип. Адміністратор визначає службу, таку як TCP-порт 80 для Web-сервера та внутрішній сервер для розміщення служби. Якщо пакети надходять до брандмауера через зовнішній інтерфейс, Що відповідає даній службі, механізм трансляції портів пересилає їх на конкретний комп'ютер мережі, прихований за брандмауером. Трансляція порту використовується у поєднанні зі службою NAT, описаною нижче.

Основи NAT

Завдяки NAT численні комп'ютери компанії можуть спільно займати невеликий простір загальнодоступних IP-адрес. DHCP-сервер компанії може виділяти IP-адресу з одного з блоків приватних, Internet-немаршрутизованих IP-адрес, визначених у документі Request for Comments (RFC) № 1918. Декілька компаній також можуть спільно використовувати один простір приватних IP-адрес. Приклади приватних IP-підмереж - 10.0.0.0/8, 172.16.0.0/12 та 192.168.0.0/16. Маршрутизатори Internet блокують будь-які пакети, що направляються в одну з приватних адрес. NAT - функція брандмауера, з допомогою якої компанії, у яких використовуються приватні IP-адреси, встановлюють зв'язок коїться з іншими комп'ютерами в Internet. Брандмауер знає, як транслювати вхідний і вихідний трафік для приватних внутрішніх IP-адрес, щоб кожен комп'ютер мав доступ в Internet.

ДОДАТКИ UDP

Протокол UDP, крім багатьох інших програм, також підтримує роботу Trivial File Transfer Protocol (TFTP), Simple Network Management Protocol (SNMP) та Routing Information Protocol (RIP).
TFTP (Простий протокол передачі файлів). В основному він застосовується для копіювання та інсталяції операційної системи на комп'ютер із файл-сервера,

TFTP. Протокол TFTP є меншою програмою, ніж протокол передачі файлів (File Transfer Protocol — FTP). Як правило, TFTP використовується в мережах для простої передачі файлів. У TFTP включений свій власний механізм контролю помилок та порядкової нумерації і, отже, цей протокол не потребує додаткові сервісина транспортному рівні.

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

Протокол маршрутної інформації — протокол внутрішньої маршрутизації, що означає його використання в межах організації, але не в Інтернеті.

ДОДАТКИ TCP

Протокол TCP, крім багатьох інших програм, також підтримує роботу FTP, Telnet та Simple Mail Transfer Protocol (SMTP).

FTP (Протокол передачі файлів) — повнофункціональна програма, яка використовується для копіювання файлів за допомогою запущеної клієнтської програми на одному комп'ютері, пов'язаного з програмою FTP-сервера на іншому віддаленому комп'ютері. За допомогою цієї програми файли можуть бути прийняті та надіслані.

Telnet дозволяє встановлювати термінальні сеанси з віддаленим пристроєм, як правило, з вузлом UNIX, маршрутизатором або комутатором. Це дає мережевому адміністратору можливість керувати мережевим пристроємніби воно було в безпосередній близькості, а для управління використовувався послідовний порт комп'ютера. Корисність Telnet обмежується системами, які використовують символьний режим синтаксису командного. Telnet не підтримує керування графічним оточенням користувача.

SMTP (Простий протокол електронної пошти) — це протокол передачі електронної пошти для Інтернету. Він підтримує передачу повідомлень електронної пошти між поштовими клієнтамита поштовими серверами.

ДОБРЕ ВІДОМІ ПОРТИ
Добре відомі порти призначаються IANA і лежать у діапазоні від 1023 і нижче. Вони призначені програмам, які є основними для Інтернету.

ЗАРЕЄСТРУВАНІ ПОРТИ
Зареєстровані порти каталогізовані IANA і розташовані в діапазоні від 1024 до 49151. Ці порти використовуються ліцензованими програмами, такими як Lotus Mail.

ДИНАМІЧНО ПРИЗНАЧЕНИЕ ПОРТИ
Порти, що динамічно призначаються, отримують номери від 49152 до 65535. Номери для цих портів призначаються динамічно на час тривалості певного сеансу.