Тема Принципи створення захисту Навчальний посібник Internet для користувача частина 2, НУДПСУ
« Назад1.2. Принципи створення захисту
Досліджуючи мережеві атаки можна зробити висновок, що головним моментом їх реалізації та захисту від них є розуміння ролі та функцій мережевих протоколів та портів. В мережі Internet найбільш поширеним є набір (стек) протоколів TCP/IP. В TCP/IP маршрутизація реалізована на рівні протоколу IP. Відповідно еталоній моделі мережевих протоколів OSI, IP-адреса пакета належать третьому рівню. Відповідно мережні маршрутизатори, які аналізують 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-сервера на більше високому рівні 7. В міру того як в операційних системах і додатках з'являлися мережні функції, програмісти почали використати порти з номерами вище 1024, без реєстрації всіх додатків в IANA. Виконавши в Internet пошук для будь-якого мережного порту, як правило, вдається швидко знайти інформацію про додатки, які використають цей порт. Або ж можна провести пошук за словами Well Known Ports і відшукати безліч сайтів зі списками найбільш типових портів. При блокуванні мережевих додатків комп'ютера або усуненні вад у брандмауері основна частина роботи доводиться на класифікацію й фільтрацію IP-адрес рівня 3, а також протоколів і мережевих портів рівня 4. Щоб швидко відрізняти легальний і підозрілий трафік, варто навчитися розпізнавати 20 найбільш широко використовуваних на підприємстві портів TCP і UDP. В теперішній час рідко доводиться чути про рівень 5 (сеансовий) і рівень 6 (подання даних), але рівень 7 (прикладний) - гаряча тема серед постачальників брандмауерів. Новітня тенденція в розвитку мережевих брандмауерів - контроль на рівні 7, що описує методи, використовувані для аналізу роботи додатки з мережними протоколами. Аналізуючи корисну інформацію мережного пакета, брандмауер може визначити законність минаючі через нього трафіка. Наприклад, Web-запит містить оператор GET усередині пакета рівня 4 (TCP-порт 80). Якщо в брандмауері реалізовані функції рівня 7, то можна перевірити коректність оператора GET. Інший приклад - багато однорангові (P2P) програми обміну файлами можуть захопити порт 80. У результаті стороння особа може настроїти програму на використання порту по власному виборі - швидше за все, порту, що повинен залишатися відкритим у даному брандмауері. Якщо співробітникам компанії потрібний вихід в Internet, необхідно відкрити порт 80, але, щоб відрізнити законний Web-трафік від трафіка P2P, спрямованого кимсь у порт 80, брандмауер повинен забезпечувати контроль на рівні 7. Більшість 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, описаної нижче. Мережні порти можуть дати найважливішу інформацію про додатки, які звертаються до комп'ютерів по мережі. Знаючи додаток, який використовує мережу, і відповідні мережні порти, можна скласти точні правила для брандмауера, і настроїти хост-компьютеры таким чином, щоб вони пропускали тільки корисний трафік. Побудувавши профіль мережі й розмістивши інструменти для розпізнавання мережного трафіка, можна більш ефективно виявляти зломщиків - іноді просто аналізуючи генерований ними мережевий трафік. Поверхня атаки по мережі - загальноприйнятий термін для опису уразливості мережі. Багато мережевих нападів проходять через вразливі додатки, і можна істотно зменшити площу атаки, скоротивши число активних додатків у мережі. Інакше кажучи, варто відключити невикористовувані служби, встановити брандмауер на виділеній системі для перевірки законності трафіка й скласти вичерпний список керування доступом (access control list - ACL) для брандмауера на периметрі мережі. Кожний відкритий мережевий порт представляє додаток, що прослуховує мережу. Поверхня атаки кожного сервера, підключеного до мережі, можна зменшити, відключивши всі необов'язкові мережні служби й додатки. Версія Windows Server 2003 перевершує попередні версії операційної системи, тому що в ній за замовчуванням активізується менше мережевих служб. Однак аудит все-таки необхідний, щоб виявити знову встановлені додатки й зміни в конфігурації, які відкривають зайві мережні порти. Кожний відкритий порт - потенційна лазівка для зломщиків, які використають пробіли в хост-приложении або тайкома звертаються до додатка з ім'ям і паролем іншого користувача (або застосовують інший законний метод аутентифікації). У кожному разі, важливий перший крок для захисту мережі - просто відключити невикористовувані мережні додатки. Деякі протоколи бажано відфільтрувати через їхню потенційну небезпеку. Робота з ними допускається лише на спеціально виділених машинах. Наведемо ряд рекомендацій, щодо використання найбільш відомих портів: - Порт 23 (Telnet), не повинен використовуватися взагалі або використовуватися тількі для дослідницьких цілей на одному комп'ютері в межах локальної мережі. - Порти 20 і 21 (FTP) краще закрити скрізь, але, у крайньому випадку, їх можна відкрити при необхідності на одному FTP-сервері. - Порт 25 (SMTP) звичайно дозволяється тільки на центральному поштовому сервері. - Порт 53 (DNS) відкривається тільки для серверів імен (первинного й вторинного). - Порт 520 (RIP) може бути використаний для перенапрямку потоку даних. Якщо можна обійтися без протоколу маршрутизації RIP, це варто зробити. - Порти 70 (Gopher) і 80 (WWW) повинні бути відкриті тільки для шлюзів відповідних додатків. - Порт 119 (NNTP - служба новин) повинен використатися тільки сервером новин. - Порт 79 (Finger) бажано закрити, тому що через нього може бути отримана корисна для хакера персональна інформація. - Порт 69 (TFTP) беззастережно повинен бути закритий для будь-яких зовнішніх користувачів. Відкриття для внутрішніх користувачів повинне здійснюватися у випадку гострої потреби для обраних IP-адрес. - Порт 540 (UUCP) краще заблокувати через його уразливість (сама послуга застаріла і її безпека не вдосконалюється). З повагою ІЦ “KURSOVIKS”! |