Організація брандмауера для підприємства за допомогою утиліти ipfw
Загальний опис та характеристика брандмауера. Створення системи захисту комп’ютерів та комп'ютерних мереж або окремих вузлів від несанкціонованого доступу. Вивчення програмних утиліт ipfw та dummynet. Процес обмеження доступу працівників до інтернету.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | украинский |
Дата добавления | 28.01.2014 |
Размер файла | 80,4 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Зміст
Вступ
1. Брандмауер: утиліти ipfw та dummynet
1.1 Опис та характеристика брандмауера
1.2 Загальний опис впроваджуваного програмного продукту
1.3 Вимоги замовника
2. Розробка стратегії впровадження та реалізації проекту
3. Установка і настройка сервера
Висновки та пропозиції
Реферат
Текстова частина бакалаврської роботи: 21 сторінка, 1 рисунок, 5 джерел.
Об'єкт дослідження - утиліта ipfw.
Мета дослідження - організація брандмауера для підприємства.
Метод дослідження - техніко-економічний із використанням комп'ютерних технологій.
Для мережі проведено обґрунтування використання утиліти ipfw. Розроблено стратегію настройки брандмауера. Розглянуто питання пов'язані з настройкою брандмауера утилітою ipfw на прикладі конкретної організації в місті Одеса.
Ipfw, dummynet, локальна мережа, глобальна мережа, правило, скрипт, nat, порт.
Вступ
При об'єднанні мереж з різним рівнем захищеності правила хорошого адміністратора вимагають установки елементарних засобів захисту, якими майже завжди є брандмауери.
Брандмауери дозволяють запобігти несанкціонованому доступу до даних підприємства через зовнішні точки доступу. Технології брандмауерів вже 10 років. Розробка цієї технології почалася з реалізації простих списків управління доступом на мережевих маршрутизаторах. Але ACL-маршрутизатори виявилися недостатньо придатними для цих цілей, оскільки складні мережеві протоколи, такі як протокол передачі файлів (FTP), відкривали хосту одержувача зворотний канал. Так з'явився хост-орієнтований брандмауер. Змагання технологій брандмауерів тривало кілька років, але до 90-х років стало очевидно, що найкращим рішенням є пакет-орієнтовані брандмауери з фіксацією стану, оскільки вони володіють більшою гнучкістю, сумісністю з багатьма протоколами і високою продуктивністю.
Ще одним явищем останніх років стала заміна брандмауерів простими спеціалізованими мережевими пристроями. Швидкість передачі по мережі збільшилася на два порядки, з 10 Мбіт до 1 Гбіт. Додатковою перевагою подібних пристроїв є відносна легкість розгортання та управління, що пов'язано зі зменшенням залежності від операційної системи.
За минулі п'ять років між брандмауерами різних виробників відмінностей стало істотно менше. Більшість продуктів підтримує фільтрацію пакетів з фіксацією стану та забезпечує функціонування віртуальних закритих мереж. Такі операційні системи, як Windows XP/7,Vista, Solaris 8 і Linux, мають вбудовані брандмауери, які мають недостатню масштабованість. Ця проблема неминуча при розгортанні брандмауерів великомасштабних систем. Дана сфера діяльності обширна і різноманітна, тому в даний час на ринку не домінує жоден з продуктів.
Віртуальні закриті мережі з'явилися дещо пізніше брандмауерів. Тут все залежить від розташування кінцевої точки корпоративної VPN. Якщо шлюз VPN знаходиться за брандмауером, то трафік через брандмауер доведеться передавати в зашифрованому вигляді. В іншому випадку, якщо одержувачем є мережа, а не конкретна адреса, шифрування всієї інформації здійснюється тільки в тунелі. Для великого підприємства недостатньо об'єднати функціональні можливості брандмауера і VPN в єдине ціле, недостатньо навіть системи виявлення вторгнення.
Найкраще рішення забезпечення безпеки передбачає наявність декількох рівнів управління доступом, і брандмауер - найбільш важливий з них. Оскільки протягом кількох наступних років компоненти архітектури систем безпеки стануть більш досконалими, брандмауери доведеться істотно розвинути, щоб вони відповідали вимогам, що пред'являються до засобів забезпечення безпеки прикладного рівня.
1. Брандмауер: утиліти ipfw та dummynet
1.1 Опис та характеристика брандмауера
Брандмауер - це система або комбінація систем, що дозволяють розділити мережу дві або більш за частини і реалізувати набір правив, визначають умови проходження пакетів з однієї частини в іншу. Як правило, цей кордон проводиться між локальною мережею підприємства і Internet, хоча її можна провести і усередині локальної мережі підприємства. Брандмауер таким чином пропускає через себе весь трафік. Для кожного прохідного пакету брандмауер приймає рішення пропускати його або відкинути. Для того, щоб брандмауер міг приймати ці рішення, йому необхідно визначити набір правил.
Термін брандмауер (firewall) прийшов в інформаційні технології (ІТ) з будівельної галузі, де він означає споруду, що перешкоджає поширенню вогню при пожежі з однієї частини будівлі в іншу. У ІТ брандмауер визначається як програмно-апаратний комплекс, що забезпечує розділення мереж і обмежуючий доступ з однієї мережі в іншу. Брандмауери встановлюються в місцях зіткнення різних мереж. Брандмауер аналізує трафік, що проходить через нього, і у відповідність із заданими налаштуваннями або пропускає його, або немає.
Firewall - комплекс апаратних чи програмних засобів, за допомогою яких здійснюється контроль і фільтрація мережевих пакетів на різних рівнях моделі OSI відповідно до заданих правил.
Брандмауер допомагає запобігти проникненню хакерів або зловмисних програм у ваш комп'ютер через мережу або Інтернет. Брандмауер також запобігатиме надсиланню зловмисного програмного забезпечення з вашого комп'ютера на інші.
Одночасне використання кількох брандмауерів може спричинити конфлікти. Краще використовувати лише один брандмауер.
Система брандмауера може бути маршрутизатором, персональним комп'ютером, хостом, або групою хостів, створеної спеціально для захисту мережі або підмережі від неправильного використання протоколів і служб хостами, що знаходяться поза цією підмережі. Зазвичай система брандмауера створюється на основі маршрутизаторів верхнього рівня, звичайно на тих, які з'єднують мережу з Інтернетом, хоча може бути створена і на інших маршрутизаторах, для захисту тільки частини хостів або підмереж.
Брандмауер може реалізовувати ряд політик доступу до сервісів, але типова політика може забороняти доступ до мережі з Інтернету, і вирішувати тільки доступ до Інтернету з мережі. Інший типовою політикою може бути дозвіл деякого доступу з Інтернету, але тільки до обраних систем, таких як інформаційні сервера і поштові сервери. Брандмауери часто реалізують політик доступу до сервісів, які дозволяють користувачам мережі працювати з Інтернету з деякими обраними хостами, але цей доступ надається, тільки якщо він поєднується з посиленою аутентифікацією.
Основним завданням мережевого екрану є захист комп'ютерних мереж або окремих вузлів від несанкціонованого доступу. Також мережеві екрани часто називають фільтрами, так як їх основне завдання - не пропускати (фільтрувати) пакети, не підходять під критерії, визначені в конфігурації. Деякі мережеві екрани також дозволяють здійснювати трансляцію адрес - динамічну заміну внутрішньомережевих (сірих) адрес або портів на зовнішні, використовувані за межами ЛВС.
Всі брандмауери можна розділити на три типи:
- пакетні фільтри (packet filter);
- шлюзи прикладного рівня (application gateways);
- шлюзи рівня з'єднання (circuit gateways).
Залежно від рівня, на якому відбувається контроль доступу, існує поділ на мережеві екрани, що працюють на:
- мережевому рівні, коли фільтрація відбувається на основі адрес відправника і одержувача пакетів, портів транспортного рівня моделі OSI та статичних правил, заданих адміністратором;
- сеансовому рівні (також відомі як stateful) - відстежують сеанси між додатками, не пропускають пакети порушують специфікації TCP / IP, часто використовуваних у зловмисних операціях - скануванні ресурсів, зломи через неправильні реалізації TCP / IP, обрив / уповільнення з'єднань, ін'єкція даних.
- рівні додатків, фільтрація на підставі аналізу даних програми, що передаються усередині пакета. Такі типи екранів дозволяють блокувати передачу небажаної і потенційно небезпечної інформації на підставі політик і налаштувань.
Мережеві екрани підрозділяються на різні типи залежно від таких характеристик:
- чи забезпечує екран з'єднання між одним вузлом і мережею або між двома або більше різними мережами;
- на рівні яких мережевих протоколів відбувається контроль потоку даних;
- відслідковуються чи стану активних сполук чи ні.
Брандмауер :
- не захищає вузли мережі від проникнення через «люки» (англ. back doors) або уразливості ПО;
- не забезпечує захист від багатьох внутрішніх загроз, в першу чергу - витоку даних;
- не захищає від завантаження користувачами шкідливих програм, в тому числі вірусів;
Для вирішення останніх двох проблем використовуються відповідні додаткові кошти, зокрема, антивіруси. Зазвичай вони підключаються до файрвола і пропускають через себе відповідну частину мережевого трафіку, працюючи як прозорий для інших мережевих вузлів проксі, або ж отримують з файрвола копію всіх даних, що пересилаються. Однак такий аналіз вимагає значних апаратних ресурсів, тому зазвичай проводиться на кожному вузлі мережі самостійно.
1.2 Загальний опис впроваджуваного програмного продукту
Робота с ipfw
Налаштування ядра для підтримки ipfw.
Для того, щоб ядро виконувало фільтрацію пакетів, потрібно, щоб в його склад були включені відповідні модулі.
Для цього необхідно поправити файл конфігурації ядра і зібрати ядро системи, файл якого знаходиться в директорії /usr/src/sys/i386/conf/. У нім потрібно додати такі рядки:
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=10
options IPFIREWALL_DEFAULT_TO_ACCEPT
і зібрати його. Останні три опції є необов'язковими. Перша опція повинна використовуватися завжди, якщо потрібно включити підтримку ipfw в ядро.
Для підтримки модуля dummynet потрібно додати опцію DUMMYNET в конфігураційний файл ядра:
options DUMMYNET
Додаткові параметри, які можуть бути корисні при тонкому налаштуванні dummynet, це NMBCLUSTERS і HZ. Перший дозволяє вказати об'єми мережевих буферів, а другий - точність (granularity) таймера.
Якщо шлюз виконує трансляцію адрес за допомогою демона natd, потрібно щоб ядро могло забезпечити передачу йому пакетів за допомогою так званих divert-сокетів. Підтримка divert-рад в ядрі включається за допомогою опції IPDIVERT:
options IPDIVERT
Таблиця 1.1 Опції конфігурації ядра, що відносяться до фільтру пакетів
Опція |
Призначення |
|
IPFIREWALL |
Включити в ядро код, який виконує фільтрацію пакетів |
|
IPFIREWALL_VERBOSE |
Дозволити заносити інформацію про пакети в syslog. Якщо ця опція не включена, опція log в правилах ipfw нічого не дасть. |
|
IPFIREWALL_VERBOSE_LIMIT=10 |
Якщо кількість записів занесених в журнал одним правилом перевищує вказану межу (в даному випадку, 10), записи припиняють заноситися. Для того, щоб почати заносити їх знов, потрібно скинувши лічильник за допомогою команди zero. |
|
IPFIREWALL_DEFAULT_TO_ACCEPT |
Перетворити правило за умовчанням в allow. Якщо ця опція не вказана, правило за умовчанням встановлене в deny. |
|
IPDIVERT |
Підтримка divert-сокетів. Необхідна для роботи natd (точніше для того, щоб natd могло працювати правильно). |
|
DUMMYNET |
Вбудовувати в ядро модуля dummynet. Модуль використовується для обмеження величини інформаційних потоків. |
|
HZ |
Точність таймера |
DUMMYNET - це системний засіб, який дає можливість управління мережевим трафіком, що проходить через різні мережеві інтерфейси, шляхом вживання імітації різної ширини смуги пропускання, обмеження розміру черги, імітації затримок і втрат пакетів.
Dummynet об'єкту система дозволяє контролю трафіку, котрий проходить через різних мережевих інтерфейсів, застосовуючи пропускну спроможність і розмір черги обмежені реалізації різного планерування і управління чергою полізавісимості, і емуляції затримок і втрат. Dummynet об'єкт був спочатку реалізований у вигляді тестування інструмент для TCP. Пізніше вона була модифікована для роботи в IP і подоланні рівнів, інтегрований з IPFW. Пакетний фільтр і розширені для підтримки декількох черг і планерування політики.
До складу ядра FREEBSD входить модуль dummynet, який дозволяє емулювати канал зв'язку, що володіє:
- обмеженою смугою пропускання;
- затримкою поширення;
- вірогідністю втрати пакету;
- чергою пакетів заданого розміру.
У простому випадку завдання регулювання трафіку формулюється так: через наш шлюз проходить інформаційний потік A величиною V(A). Ми хочемо обмежити цей потік яким-небудь значенням Vmax. Тобто, грубо кажучи, зробити так, щоб все, що виходить за межі значення Vmax, просто знищувалося.
Кожному потоку призначається спеціальний буфер, що працює за принципом черги. Буфер наповнюється з тією швидкістю, з якою в нього поступають дані (Vin), а спустошується з швидкістю, що не перевищує задану (Vout). В тому випадку, якщо Vin знаходиться в допустимих межах, потік проходить через буфер в повному об'ємі. Якщо ж буфер наповнюється швидшим, ніж спустошується, може настати такий момент, коли він буде повністю заповнений і дані, що знов поступають, просто знищуватимуться. Можна не лише обмежувати трафік, але і вносити, наприклад, затримку в нього, або знищувати пакети із заданою вірогідністю. Як правило, це робиться для вирішення яких-небудь експериментаторських завдань, але інколи може бути корисно і в чисто практичних цілях.
Засоби, які управляють трафіком так само, називають трафік-шейперамі (traffic-shaper), формувачами або регулювальниками трафіку.
Налаштування трафік-шейпера :
Налаштування трафік-шейпера на основі dummynet виробляється за допомогою утиліти ipfw. Для того, щоб направити який-небудь трафік через канал dummynet, потрібно:
- створити канал;
- указать, який саме трафік має бути в канал направлений;
- набудувати канал на роботу із заданими параметрами.
Два перші кроки поєднуються в одному і виконуються командою ipfw add pipe. Наприклад, команда: # ipfw add pipe 1 tcp from any to 192.168.15.1 out створює канал 1 (pipe 1) і направляє через нього весь tcp-трафік, відправлений не поважно ким (from any) хосту 192.168.15.1 (to 192.168.15.1); при цьому трафік має бути витікаючим (out).
Для того, щоб набудувати сам канал pipe, потрібно дати команду ipfw pipe. Наприклад, команда: # ipfw pipe 1 bw 10KB
Обмежує смугу пропускання каналу pipe 1 значенням 10 Кб/с. Канал міг би мати і інші параметри, які в цьому випадку мали бути вказані як додаткові аргументи команди парами параметр значення.
Для того, щоб обмежити потік даних, який передається з Інтернету на машину в мережі, потрібно регулювати вихідний потік з шлюзу на цю машину. У тому випадку, коли потрібно обмежити швидкість передачі інформації з Інтернету на хост, що знаходиться в локальній мережі, слід змінювати швидкість вихідного потоку. Тобто швидкість того потоку, який вирушає з шлюзу на хост. Не можна зменшити швидкість, з якою дані передаються з Інтернету. Це викликає питання: навіщо знищувати інформацію після того, як вона вже попала в нашу мережу? Адже вона вже пройшла по вхідному каналу і вже зайняла там якесь місце? Все дійсно так, але в цьому випадку набирають чинності механізми регулювання потоку TCP, які не дозволять наступного разу відправляти хосту інформації більше, ніж він здатний прийняти.
Таблиця 1.2 Параметри каналу dummynet
bw |
Максимальна смуга пропускання каналу. Може бути вказана додаткова одиниця виміру: Mbyte, Kbyte, Kbit, Mbit. |
|
delay |
Затримка поширення в мс. |
|
mask (опис-маски) |
Маска для створення ідентифікатора. З'єднання з різними ідентифікаторами потрапляють в різні канали. Параметром опису-маски є поєднання параметрів dst-ip маска, src-ip маска, dst-port маска, src-port маска, proto маска або all. |
Проглянути інформацію про канал можна за допомогою команди:
# ipfw pipe 1 list
00001: 80.000 Kbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail
mask: 0x00 0x00000000/0x0000 -> 0x00000000/0x0000
BKT Prot ___Source IP/port____ ____Dest. IP/port____ Tot_pkt/bytes Pkt/Byte Drp
0 tcp 192.168.15.199/80 192.168.15.254/52995 12365 15440683 0 0 1
Вона видає не лише відомості про канал, але і про з'єднання, які проходять через цей канал.
Всі пакети, які відповідають якому-небудь правилу автоматично враховуються системою фільтрації. Поглянути, чому дорівнюють лічильники для кожного з правил можна командою ipfw: # ipfw -a list 65535 4386 844198 allow ip from any to any
Ключ -a команди заставляє її показувати не лише список правив, але і лічильники кожного з них. Рядок містить три числа: номер правила (65535), кількість пакетів (4386) і байт (844198), які збіглися з правилом.
Якщо все, що потрібно зробити з трафіком, - це підрахувати його (тобто до нього не потрібно застосовувати жодних інших дій, для даного типа трафіку у фільтру немає спеціального правила), слід використовувати дію count.
Наприклад, для того, щоб підрахувати весь трафік, який прямує з підмережі 192.168.15.0 і який проходить через даний хост, потрібно додати правило: # ipfw add count ip from 192.168.15.0/24 to any
Це правило не торкнеться жодних останніх правил фільтрації, які йдуть за ним. Наприклад, якщо далі явним чином вирішується проходження трафіку з 192.168.15.1 і забороняється з 192.68.15.2, вони працюватимуть як і до цього.
Правила підрахунку трафіку краще всього ставити в початок ланцюжка, тобто там, де вони врахують всі пакети, навіть ті з них, які будуть після відкинуті.
1.3 Вимоги замовника
брандмауер несанкціонований утиліта інтернет
Компанія замовник вирішила зробити роботу своїх працівників більш продуктивною. Для цього дирекція фірми захотіла обмежити своїх працівників в доступі до популярних інтернет-ресурсів. Також потрібно було захистити внутрішню мережу від несанкціонованого доступу з зовнішніх мереж. Компанія хоче щоб система була розгорнута швидко. Так як фірма має обмежений бюджет і не може собі витрачувати великі суми грошей на програмне забезпечення і його установку, яка проводиться спеціалістами в галузі адміністрування комп'ютерних систем.
Компанія замовник має мережу на 130 комп'ютерів.
При виборі системи враховувалось: стабільність роботи, мала ціна проекту, малий час установки і настройки системи. Замовник вибрав систему FreeBSD.
Потрібно:
- закрити доступ співробітникам на певні сайти - соціальні мережі та інші;
- заборонити вихід в мережу інших небажаних програмам;
- відкрити з зовні 80 порт (http) для доступу до майбутнього сайту;
- зробити прийом вхідних повідомлень електронної пошти;
- заборонити вихід в мережу інших небажаних програмам;
- відкрити доступ із зовні до сервера для адміністрування через ssh.
Брандмауер будемо ставити за допомогою утиліти ipfw. Ця утиліта дозволить настроїти всі параметри задані замовником згідно гнучкої системи правил, які використовуються в цій утиліті. Утиліта ipfw зарекомендувала себе як система надійна, не гірша ніж аналогічні системи цього масштабу, і в той же час значно дешевша ніж інші системи.
2. Розробка стратегії впровадження та реалізації проекту
Конфігурація брандмауера IPFW може бути «закритою» або «відкритою».
Відкрита конфігурація:
Діє політика «що не заборонене, то дозволено» - все, окрім явно забороненого трафіку, пропускається.
Закрита конфігурація:
Діє політика «що не дозволене, то заборонено» - все, окрім явно дозволеного трафіку, забороняється.
До кожного вхідного і вихідного пакету застосовуються правила ipfw. Якщо хост працює як шлюз (gateway), пакети, що перенаправляються шлюзом, обробляються програмою ipfw двічі. Якщо хост працює як міст (bridge), пакети, що перенаправляються мостом, обробляються програмою ipfw один раз.
Команди ipfw - звичайний засіб для створення одного правила, або додавання або видалення активного внутрішнього правила firewall, поки він завантажений. Проблема використання даного методу полягає в тому, що доки ваша система не вимкнеться або зависне, всі правила які були додані, або змінені, або видалені, загубляться. Команда ipfw все ще дуже корисна, для виведення використовуваних правил firewall на консольний екран.
Конфігурація брандмауера задається у вигляді списку пронумерованих правил, який є видимим для кожного пакету доки не буде знайдено відповідність, - тоді виконується задане відповідним правилом дія. Залежно від дії і деяких установок в системі, пакети можуть повертатися на брандмауер для обробки правилами, починаючи з наступного за тим, що спрацював. Всі правила застосовуються до всіх інтерфейсів, так що завдання написання набору правив з мінімально необхідною кількістю перевірок покладається на системного адміністратора.
Конфігурація завжди включає стандартне правило (DEFAULT) з номером 65535, яке не можна змінювати і яке відповідає будь-якому пакету. З цим стандартним правилом може бути зв'язане дія deny або allow, залежно від конфігурації ядра. Пакети потрапляють в ipfw з різних місць в стеку протоколу (залежно від джерела і адресата пакету, можливо, що ipfw викликається безліч разів для одного і того ж пакету). Пакет, що прийшов в систему мережевого захисту, порівнюється з кожним з правил набору правив в системі мережевого захисту. Коли знайдена відповідність правилу, виконується відповідна дія.
Кожен пакет можна фільтрувати на основі наступної, пов'язаної з ним інформації:
Таблиця 2.1 Характеристики та параметри пакету
Протокол IPv4 |
TCP, UDP, ICMP та інші |
|
Вихідна і цільова ip-адреси |
(можливо, замасковані) |
|
Вихідний і цільовий порт |
списки, діапазони або маски |
|
Направлення |
(що входить або виходить) |
|
Інтерфейс передачі і прийому |
по імені або адресі |
|
Різні поля IP заголовка |
version, type of service, datagram length, identification, fragment flag (non-zero IP offset), Time To Live |
|
Різні поля TCP заголовка |
прапорці TCP (SYN, FIN, ACK, RST, etc.), sequence number, acknowledgment number, window |
|
Типи ICMP |
для ICMP пакетів |
Фільтрувати пакети на основі вихідної ip-адреси або вихідного порту tcp/udp небезпечно, оскільки адресу і номер порту легко підроблювати.
Якщо набір правил включає одне або декілька правив з опцією keep-state, то програма ipfw передбачає роботу із збереженням стану (stateful behaviour), тобто при успішному зіставленні створюватиме динамічні правила, відповідні конкретним параметрам (адресам і портам) пакету, що зіставився.
Ці динамічні правила з обмеженим часом існування перевіряються, починаючи з першого входження правила check-state або keep-state, і зазвичай використовуються для відкриття брандмауера на вимогу лише для допустимого трафіку.
Зі всіма правилами (включаючи динамічні) пов'язано декілька лічильників: лічильник пакетів, лічильник байтів, лічильник журналу (log count) і тимчасова відмітка (timestamp), що зберігає час останнього зіставлення. Лічильники можна видати або скинути за допомогою команд ipfw.
Правила додаються за допомогою команди add; віддаляються поодинці - за допомогою команди delete, і все відразу - за допомогою команди flush; видаються, у тому числі, можливо, із значеннями лічильників, за допомогою команд show і list. Нарешті, значення лічильників можна скинути за допомогою команд zero і resetlog.
При розробці правил треба враховувати наступні істотні моменти:
- пам'ятати, що фільтруються як вхідні, так і вихідні пакети.
- пам'ятати про необхідність дуже уважно тестувати набір правив. При цьому украй бажаний доступ до консолі.
- не забувати про інтерфейс закільцьовування (loopback interface).
Коли пакет приходить на наш брандмауер, то він спершу потрапляє на мережевий пристрій, перехоплюється відповідним драйвером і далі передається в ядро. Далі пакет проходить ряд таблиць і потім передається або локальному додатком, або переправляється на іншу машину.
TCP з'єднання завжди встановлюється передачею трьох пакетів, які ініціалізували і встановлюють з'єднання, через яке в подальшому передаватимуться дані.
ICMP пакети слідують через ланцюжок icmp_packets. Тут ми просто пропускаємо все ICMP пакети з зазначеним кодом повідомлення за правилом 210.
Користувачі локальної мережі і Інтернет можуть підключатися до Web-сервера і до служби SSH (Secure SHell - захищена консоль, яка використовується для віддаленого управління системою)за правилом 400.
Дозволяється прийом вхідних повідомлень електронної пошти, якщо встановлено поштовий сервер.
Дозволимо з'єднання з локальної мережі в Інтернет. Для цього нам буде потрібно виконати перетворення мережевих адрес (NAT).
Користувачам з адресою 192.168.0.2 - 192.168.0.21 дозволяється проходження будь-якого трафіку до користувача і від користувача. Якщо ми захочемо "відключити" користувача, він зможе працювати тільки за власним Web-сервером.
Користувач 192.168.0.2 першою чергою може посилати DNS-запит - UDP-пакет на адресу сервера (192.168.0.1) на порт 53 (domain).
Відповідь локального DNS-сервера - UDP-пакет з адреси 192.168.0.1, порт 53, на адресу 192.168.0.2, то він змушений буде послати запит своєму DNS-серверу,котрий стоїть вище - UDP-пакет з адресою джерела 193.232.100.100 на адресу 195.34.32.10.
Наступним етапом відкриття сторінки буде TCP-з'єднання з сервером на порт 80 (http). Користувач, що отримує від DNS-сервера IP-адресу сервера (195.54.192.86) відправить TCP-пакет з адресою відправника 192.168.0.2 і адресою призначення 195.54.192.86, порт 80. Цей пакет пройде по firewall , що дозволить користувачеві будь-який трафік, після чого потрапить в систему маршрутизації, яка спробує відправити його через зовнішній інтерфейс - тобто знову потрапить в firewall, але вже як вихідний. На цьому своєму другому шляху він добереться до правила 500, де його адреса призначення буде переправлена на 127.0.0.1, порт 3128, після чого він потрапить до proxy-сервера. Proxy-сервер згенерує відповідний пакет, з адресою призначення 192.168.0.1, який за правилом 350 буде відправлений користувачеві.
Firewall повинен володіти інформацією про всі популярні додатки і вбудовані служби системи, які потребують доступі в мережу або Інтернет: ви не повинні отримувати повідомлення про те, що Internet Explorer або Microsoft Outlook намагаються підключитися до Інтернету відразу після установки firewall. Правильний firewall знає, що їм доступ дозволений автоматично, і потурбує вас тільки в разі реальної загрози. Брандмауер не повинен помітно знижувати продуктивність системи - зовсім уникнути її втрат, на жаль, не вдасться, але цілком можливо звести їх до мінімуму.
Хороший firewall може помітно впливати на продуктивність системи, тільки коли рівень захисту вище середнього. Однак тут багато чого залежить і від конфігурації комп'ютера, на якому він встановлений, і від інтенсивності роботи з мережею.
3. Установка і настройка сервера
Сервер для надання користувачам мережі 192.168.0.0/24 доступу в мережу Інтернет, що захищає сервер від небажаних з'єднань із зовнішніх мереж, і надає доступ адміністратора сервера для конфігурування системи з будь-якої точки .
#!/bin/sh
ipfw='/sbin/ipfw -q'
ournet='192.168.0.1/24'
uprefix='192.168.0'
ifout='rl0'
ifuser='rl1'
Значення змінних командного інтерпретатора, що описують відповідно, клієнтську мережу (ournet), загальну частину всіх адрес наших клієнтів (uprefix), назва "зовнішнього" і "внутрішнього" інтерфейсів (ifout і ifuser). Такі змінні дозволять уникнути випадкових помилок, і дозволять легко змінити налаштування firewall у випадку, наприклад, виходу з ладу мережевої карти, і заміни її на мережеву карту іншого виробника.
${ipfw} flush
${ipfw} add 100 check-state
check-state - перевіряє пакет по динамічному набору правил. Якщо знайдена відповідність, подальший пошук припиняється, інакше - переходиться до наступного правила. Якщо правило check-state не знайдено, динамічний набір правил перевіряється з першого правила keep-state.
Правило з позначкою keep-state дозволяє запам'ятати задовольняюче правилу з'єднання на деякий час: якщо пакет відповідає правилу keep-state, то firewall створює динамічне правило, що дозволяє проходження пакетів між адресами, зазначеними в першому пакеті. Наступні пакети подовжують життя тимчасового правила ще на деякий час. Якщо активність з'єднання припиняється - правило зі списку зникає, і з'єднання переривається.
${ipfw} add 200 deny icmp from any to any in icmptype
5,9,13,14,15,16,17
${ipfw} add 210 reject ip from ${ournet} to any in via ${ifout}
Правила з номерами 200 і 210 служать для підвищення хакеростійкості системи: правило 200 забороняє появу пакетів з адресою, що належить внутрішній мережі, на "зовнішньому" інтерфейсі, тому що улюблена зброя хакера - представити свій "смертельний" пакет ніби він прийшов з локальної мережі, для якої ступінь довіри вище. Правило 210 заборонить проходження деяких ICMP-пакетів: icmptype 5 - це пакет ICMP-REDIRECT, який може бути використаний при атаці типу "фальшивий маршрутизатор", решта icmptype - просто розкриють хакеру деяку "зайву" з нашої точки зору інформацію.
${ipfw} add 300 allow ip from any to any via lo
${ipfw} add 310 allow tcp from me to any keep-state via ${ifout}
Правило 310 дозволяє проходження TCP-пакетів з локальної машини на будь-яку іншу машину, запам'ятовуючи з'єднання у тимчасовому правилі. Таким чином, дозволяється проходження і "зворотних" пакетів від "викликаної" машини. Тимчасові правила перевіряються Firewall при проходженні через правило check-state - тому ми і помістили його на перше місце.
${ipfw} add 320 allow icmp from any to any
${ipfw} add 330 allow udp from me to any domain keep-state
${ipfw} add 340 allow udp from any to me domain
${ipfw} add 350 allow ip from me to any
Правила 300-350 забезпечують працездатність самої системи. Правило 300 дозволяє проходження будь-яких пакетів всередині системи (lo - локальний інтерфейс системи, що має адресу 127.0.0.1. Використовується системою для звернення до себе самої). 320 правило дозволяє проходження будь-яких ICMP-пакетів, тому що їх виникнення погано передбачається, але їх втрата загрожує збоями в роботі - наприклад, icmp-пакет є єдиним способом повідомити "викликаючому" комп'ютеру, що "викликаюча" адреса не доступна.
Правило 340 дозволяє проходження пакетів DNS із зовнішніх мереж на сервер. Це має сенс, якщо сервер є DNS-сервером, що підтримує одну або декілька DNS-зон для мережі Інтернет - наприклад, зону вашої мережі. Якщо ви не реєстрували для вашої мережі домен, то це правило можна прибрати.
Правило 350 дозволяє серверу посилати будь-які пакети куди завгодно.
${ipfw} add 400 allow tcp from any to me http,https,ssh
${ipfw} add 410 allow tcp from not ${ournet} to me smtp
Правила 400 і 410 дозволяють користуватися деякими сервісами, що надаються системою. Правило 400 дозволяє всім (і користувачам локальної мережі, і Інтернет) підключатися до Web-сервера і до служби SSH (Secure SHell - захищена консоль, яка використовується для віддаленого управління системою). Правило 410 дозволяє прийом вхідних повідомлень електронної пошти, якщо у Вас встановлено поштовий сервер.
${ipfw} add 500 fwd 127.0.0.1,3128 tcp from ${ournet} to any http out
via ${ifout}
${ipfw} add 510 divert natd ip from ${ournet} to any out via ${ifout}
Правила 500 і 510 забезпечують додаткову обробку користувацького трафіка. Правило 500 "завертає" весь http-трафік на локальний проксі-сервер (якщо він є, якщо ні - то правило не потрібно). Правило 510 відправляє весь вихідний трафік користувачів на "переробку" системі NAT для трансляції адрес.
${ipfw} add 1002 allow ip from ${uprefix}.2 to any via ${ifuser}
${ipfw} add 1002 allow ip from any to ${uprefix}.2 via ${ifuser}
${ipfw} add 1003 allow ip from ${uprefix}.3 to any via ${ifuser}
${ipfw} add 1003 allow ip from any to ${uprefix}.3 via ${ifuser}
${ipfw} add 1004 allow ip from ${uprefix}.4 to any via ${ifuser}
${ipfw} add 1004 allow ip from any to ${uprefix}.4 via ${ifuser}
Правила 10хх управляють доступом до Інтернету окремих користувачів. Користувачеві з адресою 192.168.0.2 відповідають два правила з номером 1002, дозволяють проходження будь-якого трафіку до користувача і від користувача. Якщо ви хочете "відключити" користувача (наприклад, за несплату) - просто видаліть ці правила (однією командою - / sbin / ipfw delete 1002), і користувач зможе працювати тільки з вашим власним Web-сервером.
Користувач 192.168.0.2 бажає подивитися сторінку www.hub.ru (вважаємо, що на сервері працює transparent-proxy і DNS). Першою чергою користувач посилає DNS-запит - UDP-пакет на адресу сервера (192.168.0.1) на порт 53 (domain). Правила 100-330 пакет проходить не затримуючись, тому він їм не задовольняє. Правило 340 дозволяє проходження пакета з будь-якої адреси на локальний DNS, тому шлях запиту на цьому закінчується. Відповідь локального DNS-сервера - UDP-пакет з адреси 192.168.0.1, порт 53, на адресу 192.168.0.2, записи про сервер www.hub.ru, то він змушений буде послати запит своєму вищестоячому DNS-серверу - UDP-пакет з адресою джерела 193.232.100.100 на адресу 195.34.32.10 (для прикладу взято DNS-сервер MTU), який пройде за правилом 330, породивши тимчасове правило, що дозволяє проходження зворотного пакета.
Наступним етапом відкриття сторінки буде TCP-з'єднання з сервером www.hub.ru на порт 80 (http). Користувач, що отримав від DNS-сервера IP-адресу сервера www.hub.ru (195.54.192.86) відправить TCP-пакет з адресою відправника 192.168.0.2 (порт типу 1026) і адресою призначення 195.54.192.86, порт 80. Цей пакет пройде по firewall до правила 1002, що дозволяє користувачеві будь-який трафік, після чого потрапить в систему маршрутизації, яка спробує відправити його через зовнішній інтерфейс - тобто знову потрапить в firewall, але вже як вихідний. На цьому своєму другому шляху він добереться до правила 500, де його адреса призначення буде переправлена на 127.0.0.1, порт 3128, після чого він потрапить до proxy-сервера. Proxy-сервер згенерує відповідний пакет, з адресою призначення 192.168.0.1, який за правилом 350 буде відправлений користувачеві. Після того, як proxy-сервер зрозуміє, яку саме сторінку хоче отримати користувач (для цього користувачеві і proxy-серверу доведеться обмінятися ще кількома пакетами по тій-же схемі), proxy почне власне tcp-з'єднання з сервером www.hub.ru - Відправить tcp-пакет з адреси 193.232.100.100 на адресу 195.54.192.86, порт 80. Цей пакет пройде за правилом 310, породивши динамічне правило. Відповідь www.hub.ru буде пропущена цим динамічним правилом при перевірці правила з номером 100 - check-state. Якщо потрібно виставити однакові обмеження для великої кількості користувачів, то вводити сотні правил, що відрізняються тільки одною адресою може виявитися досить виснажливим заняттям. Для спрощення таких завдань FreeBSD пропонує додатковий параметр mask, дозволяє згрупувати абонентів на основі їх IP-адреси: адреса комбінується (не виключне побітове АБО) з маскою, і значення, яке вийщло в результаті є ідентифікатором групи.
net.inet.ip.fw.enable - логічна (булева) змінна (значення 0 і 1). Показує, чи включено використання firewall в поточний момент. Дозволяє включати і вимикати firewall в будь-який момент часу;
net.inet.ip.fw.autoinc_step - ціла змінна. Задає крок автоматичного приросту номерів правил firewall при вводі без примусової вказівки номера;
net.inet.ip.fw.verbose і net.inet.ip.fw.verbose_limit - аналогічні відповідним опцій ядра;
net.inet.ip.dummynet.hash_size - ціла змінна.
Відповідає розміру хеш-таблиці, використовуваної dummynet для зберігання черг. Збільшення цього значення прискорює роботу dummynet при великій кількості черг, в обмін на оперативну пам'ять. Значення за замовчуванням - 64;
net.inet.ip.dummynet.max_chain_len - ціла змінна, значення за замовчуванням - 16. Кількість черг, здатних одночасно зберігатися в одній комірці хеш-таблиці. При перевищенні цього значення порожні черги видаляються. #${ipfw} add 65535 deny ip from any to any
Для конфігурації черги використовуйте команду: /sbin/ipfw queue config pipe weight ,
де - довільно вибраний адміністратором ідентифікатор з діапазону 1-6553
Щоб "пропустити" трафік через канал, скористайтеся командами: /sbin/ipfw add pipe або /sbin/ipfw add quqeue , наприклад /sbin/ipfw add pipe 1 ip from any to 192.168.0.2 зажене в канал номер 1 весь трафік, що йде до користувача 192.168.0.2.
Адреса комбінується (побітове, що не виключає, АБО) з маскою, і значення, що вийшло в результаті, є ідентифікатором групи.
Створить окремі канали для "парних" і "непарних" адрес, тобто адреси 192.168.0.2 і 192.168.0.4 ділитимуть один канал 64 кбіт, а адреси 192.168.0.3 і 192.168.0.5 - інший.
Висновки та пропозиції
Настройка брандмауера в корпоративній мережі будь-якого підприємства чи закладу - це багатоступенева задача, розв'язання якої потребує знання новітніх комп'ютерних технологій. У цій випускній роботі показано на прикладі настроювання програмного брандмауера з допомогою ipfw та dummynet. Результати роботи такі.
1) Встановили брандмауер ipfw.
2) Налаштували заборону на окремі ресурси окремій групі користувачів.
Размещено на Allbest.ru
Подобные документы
Аналіз фізичної організації передачі даних по каналах комп'ютерних мереж, топологія фізичних зв'язків та організація їх сумісного використання. Методи доступу до каналів, настроювання мережевих служб для здійснення авторизації доступу до мережі Інтернет.
дипломная работа [2,6 M], добавлен 12.09.2010Особливості захисту персональних комп'ютерів від несанкціонованого доступу (НДС). Спеціальне програмне забезпечення захисту інформації. Захист від НСД шляхом запису ключа за логічними межами файла. Процес підготування програми на мові ассемблера.
курсовая работа [33,3 K], добавлен 08.08.2009Визначення поняття і дослідження структури топології комп'ютерних мереж як способу організації фізичних зв'язків персональних комп'ютерів в мережі. Опис схеми топології типів шина, зірка і кільце. Багатозначність структур топології комп'ютерних мереж.
реферат [158,1 K], добавлен 27.09.2012Особливості архітектури комп'ютерних мереж. Апаратні та програмні засоби комп'ютерних мереж, їх класифікація та характеристика. Структура та основні складові комунікаційних технологій мереж. Концепції побудови та типи функціонування комп'ютерних мереж.
отчет по практике [1,2 M], добавлен 12.06.2015Огляд і архітектура обчислювальних мереж, переваги їх використання та обґрунтування вибору. Пошук несправностей в мережах на базі операційної системи Windows, виявлення причин. Особливості методів захисту від несанкціонованого доступу в мережі TCP/IP.
курсовая работа [2,8 M], добавлен 28.01.2011Поняття та завдання комп'ютерних мереж. Розгляд проекту реалізації корпоративної мережі Ethernet шляхом створення моделі бездротового зв’язку головного офісу, бухгалтерії, філій підприємства. Налаштування доступу інтернет та перевірка працездатності.
курсовая работа [2,2 M], добавлен 20.03.2014Способи здійснення атак на відмову та пароль. Захист інформації від несанкціонованого доступу та від її витоку в комп'ютерних системах. Використання міжмережевих екранів, системи виявлення вторгнень, засобів аналізу захищеності в комунікаційних системах.
презентация [300,2 K], добавлен 14.08.2013Історія створення комп’ютерних комунікацій та принципи їх побудови. Характеристика устаткування для створення комп’ютерних мереж. Поняття адресації, види протоколів, їх розвиток, комбінування та особливості використання. Стандарти бездротових мереж.
курс лекций [1,3 M], добавлен 04.06.2011Визначення функціонального профілю захищеності комп’ютеризованої системи від несанкціонованого доступу і вимог до захищеності інформації від витоку технічними каналами. Вибір та обґрунтування необхідних фізичних та організаційних засобів захисту.
курсовая работа [2,4 M], добавлен 22.11.2014Огляд та конфігурація комп’ютерних мереж - двох або більше комп’ютерів, об’єднаних кабелем таким чином, щоб вони могли обмінюватись інформацією. Характеристика мереживих пристроїв иа середовища передачі даних. Під’єднання до мережі NetWare та Internet.
дипломная работа [1,5 M], добавлен 15.02.2010