Студопедия — Мета роботи. Оволодіти навиками по налаштуванню міжмережевого екрану FreeBSD
Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Мета роботи. Оволодіти навиками по налаштуванню міжмережевого екрану FreeBSD






Оволодіти навиками по налаштуванню міжмережевого екрану FreeBSD

2 Теоретичні відомості

 

Крім високої надійності та продуктивності, операційна система FreeBSD славиться і своїм firewall'ом - зручним і зрозумілим засобом роботи з протоколом TCP/IP. Далі по тексту ми будемо досить часто використовувати слова "адреса", "порт", "icmp" і т.д., тому тим, для кого ці слова звучать вже дуже незрозуміло, необхідно спочатку ознайомитися з TCP/IP. Для нас же буде важливо, в основному, тільки те, що в заголовку кожного ip-пакету є 32-бітові адреси джерела і призначення, а у пакетах протоколів UDP та TCP так само порти джерела і призначення пакета. З перерахованих вище тільки TCP є протоколом зі встановленням з'єднання, і вимагає пересилання кількох спеціальних пакетів для підтримання зв'язку перед початком корисної передачі даних.
Firewall - це система, яка керує проходженням пакетів даних через систему на основі заданих адміністратором правил та інформації, що міститься в заголовках пакетів. Звичайне використання firewall - заборона проходження небажаних пакетів, наприклад, відключення абонента, котрий не сплатив послуги зв'язку, або закриття частини сервісів локальної мережі від зовнішнього світу. У системі FreeBSD firewall - це набагато більше, ніж просто турнікет в метро - це потужний інструмент управління мережею, що дозволяє, наприклад, підраховувати трафік по будь-яким розумним правилами, які базуються на даних заголовків пакетів протоколів стека TCP/IP, обробляти пакети зовнішніми програмами, ховати за одним комп'ютером цілу мережу і т.п.
На відміну від різноманітних систем firewall для операційних систем сімейства Windows, FreeBSD firewall є частиною самої операційної системи, тому працює значно швидше і надійніше своїх не-UNIX конкурентів (звичайно крім систем, що створені спеціально для обробки мережевого трафіку, такі як Cisco IOS). Але оскільки firewall потрібний далеко не на кожному комп'ютері з FreeBSD (адже FreeBSD - це ще й високопродуктивний файл-сервер, швидкий і надійний сервер додатків, потужна робоча станція), то підтримка firewall не включена в ядро FreeBSD за замовчуванням.

 

Для того щоб увімкнути підтримку Firewall ядром FreeBSD можна внести наступні параметри при збірці ядра:

IPFIREWALL --- Увімкнення підтримки firewall в ядро FreeBSD. Якщо потрібні тільки найпростіші функції, на зразок заборони чи дозволу проходження пакетів, то цю опцію можна не включати - FreeBSD завантажить відповідний модуль автоматично, якщо в /etc/rc.conf дозволено використання firewall, але підтримка можливостей буде мінімальною.
IPFIREWALL_VERBOSE --- При включенні даної опції firewall може записувати всі "події" в лог-файл. Це корисно для аналізу роботи системи і стеження за спробами злому. Деякі особливо обдаровані особистості навіть роблять на цьому системи обліку трафіку, хоча для цього є й менш важкі технології.
IPFIREWALL_VERBOSE_LIMIT = <число> --- Обмеження числа повідомлень, що потрапляють в лог-файл. При відсутності ліміту хакер чи просто зіпсований комп'ютер в мережі здатні в лічені хвилини згенерувати стільки пакетів, що лог-файл firewall'а займе весь наявний дисковий простір.
IPFIREWALL_DEFAULT_TO_ACCEPT --- За замовчуванням при завантаженні системи firewall перебуває в режимі "нікому нічого не можна", тобто весь трафік блокується. Ця опція змушує firewall завантажуватися у режимі "всім можна все". Не рекомендується, якщо Ви точно не знаєте, навіщо воно Вам треба, і не можете обійтися без цієї опції. Прикладом необхідності такої опції може бути використання FreeBSD як операційної системи для бездискових робочих станцій - у цьому випадку за відсутності вказаної опції в ядрі FreeBSD весь трафік буде заблокований до того, як FreeBSD зможе монтувати мережеві диски і завантажити з них справжній набір правил для firewall.
IPDIVERT --- Підтримка можливості передати пакет на обробку зовнішньої програмі. Прикладом такої програми є natd - демон, що маскує локальну мережу і переписує заголовки IP-пакетів. Програма обробки обов'язково повинна бути запущена на цій-же машині.
IPFIREWALL_FORWARD --- Можливість перенаправлення пакетів іншому адресату. За допомогою цієї можливості можна організувати, наприклад, transparent proxy (http-проксі сервер, що працює для всіх клієнтів в примусовому режимі, незалежно від того, звертаються вони до якогось сайту безпосередньо, або "просять" його у проксі-сервера), або перенести web-сервер усередину закритою nat'ом мережі так, щоб він був доступний з зовнішнього світу за адресою сервера доступу.
DUMMYNET --- Система обмеження пропускної здатності певних з'єднань, заснована на затримці проходження пакетів через роутер. Для багатьох системних адміністраторів саме ця можливість стала визначальною при виборі операційної системи - форвардинг пакетів і nat можна організувати на практично будь-якій мережевій операційній системі, але з обмеженням пропускної спроможності мало хто впорається так добре, як FreeBSD.
HZ = <число> <число> dummynet працює, переглядаючи чергу поставлених на очікування пакетів з певною частотою (за замовчуванням - 100 разів на секунду). Ви можете збільшити або зменшити цей параметр, відповідно підвищивши точність обмеження швидкості ціною підвищення навантаження на процесор, або зменшити навантаження на процесор за рахунок зменшення точності обмеження пропускної спроможності. Має сенс міняти цей параметр у бік збільшення тільки якщо при нормальній роботі Ваш процесор завантажений не більше ніж на 10%. Зменшення цього параметра зазвичай не дає сильного виграшу при перевантаженому процесорі, хіба що обмеження смуги пропускання - це основне виконуване сервером завдання. Збільшення цього параметра, до речі, збільшує нагрівання процесора. Надмірне збільшення може навпаки призводити до зниження точності роботи dummynet, тому що процесор може не встигати відпрацьовувати сигнали від таймера.

 

 

Принцип роботи Firewall FreeBSD:

 

Firewall - це захисна стіна, що стоїть між мережним адаптером та операційною системою. Будь-який IP-пакет, перш ніж потрапити на обробку операційної системи (наприклад, для маршрутизації або передачі його web-серверу) проходить через строгий контроль. Будь-який вихідний пакет також натрапляє на цю стіну, і може бути пропущений, відкинутий, порахований або змінений. Якщо пакет проходить через операційну систему наскрізь (маршрут), то його перевірка відбувається як на вході, так і на виході. При складній обробці пакету він може проходити через firewall і більше число разів.
Перевірка пакету проводиться по впорядкованому списку правил, які задаються адміністратором. Кожному правилу привласнюється номер (або вручну адміністратором, або автоматично), і правила перевіряються строго в порядку зростання номерів. Декілька правил можуть мати один і той же номер - в цьому випадку вони перевіряються в тому порядку, в якому вони були занесни до списку. Кожне правило містить умову і дію. Ось загальний вигляд правила firewall:

<номер> <номер> [prob <число>] <дія> [log [loamount <число>]] <протокол> from <звідки> to <куди> <додаткові_умови>
<куди> <додаткові умови>

де:
<номер> --- ціле число в діапазоні від 1 до 65535. Правило з номером 65535 завжди існує, його не можна видалити, і воно визначається параметром ядра IPFIREWALL_DEFAULT_TO_ACCEPT, дозволяючи або забороняючи весь IP-трафік залежно від наявності цього параметра. Правила з іншими номерами повністю керуються адміністратором.
prob <число> --- Дія застосовується з деякою ймовірністю. Ця можливість використовується досить рідко. За допомогою цієї вказівки можна симулювати, наприклад, нестабільну лінію, або різний час проходження пакетів. <число> в даному випадку - дійсне, в діапазоні від 0 до 1 (0-правило не виконується ніколи, 1 - завжди).
<дія>;- одна з наступних команд:
allow, pass, accept, permit --- Синоніми. Дозвіл подальшого проходження пакета. Наступні правила не розглядаються, тобто пакет виходить з firewall (пакет, що проходить комп'ютер "наскрізь", може знову потрапити в firewall на "виході" з системи)
unreach <тип> Заборона проходження пакета. Відправнику пакету відправляється повідомлення (по протоколу ICMP) про невдачу. Тип повідомлення задається параметром "тип":

* Net - мережа адресата не доступна
* Host - абонент не доступний
* Needfrag - необхідна фрагментація пакету
* Host-unknown - немає такої адреси
* Та ін
Після цієї дії інші правила не розглядаються, і пакет припиняє своє існування.

 

Reject --- Дія аналогічно unreach host
deny, drop --- Пакет відкидається без повідомлення відправника.
Reset --- Заборона проходження пакета. Діє тільки для протоколу TCP. За адресою відправника пакету надсилається повідомлення TCP RST, що інформує відправника про закриття TCP-сесії - у даному випадку віддалений абонент "розуміє", що йому відмовили, і може коректно завершити з'єднання без зайвого очікування і повідомлень про помилки. На практиці застосовується досить рідко.
skipto <номер> --- Перейти до розгляду правила з заданим номером. Всі правила, що знаходяться між поточним і цільовим не перевіряються. Пакет не покидає меж firewall і продовжує перевірятися іншими правилами.
Count --- не виконуєніяких дій. Але, як і для будь-якого правила в firewall, в лічильники заноситься кількість і сумарний обсяг пакетів, що задовольняються цим правилом, тому єдине логічне застосування цього правила - підрахунок трафіку, що відповідає назві дії - count. Пакет не виходить з firewall і переходить під владу наступного по порядку правила.
fwd, forward <адреса> --- Перенаправлення пакета за вказаною адресою. Заголовок пакета змінюється. Якщо мається на увазі, що на даний пакет очікується відповідь, то він прийде вже з "нового" адреса - це може викликати проблему в роботі деяких програм, які перевіряють адреса відправника у відповідному пакеті. Тим не менш, ця дуже корисна властивість часто використовується для організації "transparent-proxy" або при перенесенні якихось сервісів на інший комп'ютер, при цьому звертатися до цих сервісів можна і за старою адресою.
divert <порт> --- Перенаправлення пакету на додаткову обробку, програмі запущеної на тому ж комп'ютері, що і firewall. Зовнішня програма може змінити пакет на свій розсуд, знищити його, повернути в firewall для продовження обробки з наступного правила або ввести його в firewall заново для перевірки з самого першого правила. Використовуючи дану можливість firewall'а працюють такі програми, як natd і ipacctd (програма "інтелектуального" підрахунку трафіку).
tee <порт> --- Аналогічний дії divert, але на обробку надсилається копія пакету. Сам пакет продовжує рух за списком правил. Може застосовуватись для підрахунку трафіку, аналізу стану мережі, протоколювання і т.п. Повернення пакету в firewall при такій обробці не бажане, але можливе.
pipe <номер_pipe>, queue <номер_pipe> --- Проходження пакету через "канал" або "черга" dummynet. Використовується для обмеження пропускної здатності, внесення затримок у проходження пакетів. Після "виходу" з dummynet пакет може продовжити подорож за списком правил, або вийти з firewall залежно від установок sysclt net.inet.ip.fw.one_pass. За замовчуванням пакет виходить з firewall (тобто діє як allow). Якщо ядро скомпільовано з опцією IPFIREWALL_VERBOSE, то в системний журнал буде записаний звіт про проходження пакетом цього правила. Дана можливість може виявитися досить корисною, якщо Ви очікуєте атаки хакера або налагоджувати складний набір правил, розібратися в якому вручну не вистачає сил. В протоколі записується час, номер правила і адреси джерела і призначення пакета. logamount - максимальна кількість пакетів, запис про які потрапляє у журнал. За замовчуванням встановлюється рівним значенню опції IPFIREWALL_VERBOSE_LIMIT в ядрі операційної системи.

 


Дія буде зроблено, якщо пакет задовольняє таким умовам:

<протокол> --- назва протоколу, до якого належить даний пакет. Можливі значення - ip або all (для всіх протоколів стека TCP/IP), udp, tcp, icmp, igmp і т.д. Повний список доступних для вказівки протоколів Ви можете подивитися в файлі / etc / protocols.
from <звідки> --- IP-адреса джерела пакета. Для протоколів TCP і UDP так само може бути вказаний і порт. Може бути вказано IP-адресу, доменне ім'я комп'ютера (типу www.hub.ru), або ціла підмережа у форматі IP: MASK або IP / LEN, наприклад 192.168.0.0:255.255.255.0 або 192.168.0.0/24. Є так само два спеціальні слова - any, що означає будь-яку адресу (аналогічно 0.0.0.0 / 0) і me, що означає будь-яка з адрес, що належать середовищу компанії. Номер порту вказується після адреси через пробіл. Кілька номерів портів можна вказати через кому. Перед адресою або номером порту може стояти слово "not", інвертують значення адреси або порту, тобто from not 192.168.0.0/24 означає "всі пакети, що прийшли не з мережі 192.168.0.0/24".
to <куди> --- Адреса призначення пакета. Формат адреси аналогічний попередньому.

З додаткових умов самими потрібними і часто використовуваними є напрямок пакета (вхідний або вихідний) і мережевий інтерфейс, при проходженні через який був "спійманий" пакет. Формат вказівки напряму і інтерфейсу наступний:

<правило...> [in | out] [via <інтерфейс>]

де in чи out - напрямок пакета (вхідний і вихідний) по відношенню до операційної системи, інтерфейс - назва пристрою (rl0, lo0, etc) або IP-адреса цього пристрою (192.168.0.1, 127.0.0.1, etc).

Управління firewall проводиться за допомогою програми /sbin/ipfw, що дозволяє видаляти і додавати правила, керувати dummynet, знімати і обнуляти статистику. Команда може викликатися з наступними наборами параметрів:

/ sbin / ipfw [-adetN] list [число...] - показати поточний список правил. Ключі команди мають таке значення:
-a Показувати поточні значення лічильників пакетів. Більш короткий і осмислений вираз для команди / sbin / ipfw -a list виглядає як / sbin / ipfw show.
-d Показувати динамічні правила. Програми типу natd можуть створювати додаткові правила в firewall, що мають обмежений час життя, і не виводяться при звичайному перегляді. Дана опція дозволяє розібратися в причинах несподіваної не працездатності на перший погляд нормального набору правил, або глибше вникнути в суть роботи деяких "інерційних" правил, про які буде розказано далі.
-de Опція -d показує тільки діючі динамічні правила. При додаванні опції -e показуються також і застарілі динамічні правила, ще не вилучені зі списку.
-N При виводі списку правил ipfw намагається знайти доменні імена для IP-адрес, і дати символічні імена протоколів, зазначеним через номер порту. Наприклад, правило allow tcp from any to 195.54.192.86 80 буде виведено у вигляді allow tcp from anу to jubjub.rinet.ru http -t Показувати час останнього спрацьовування правила. Іноді допомагає при налагодженні firewall.

/ sbin / ipfw [-q] add правило - додає правило в список. Якщо в тілі правила не вказано його номер, то він буде обчислений як номер останнього правила в списку + 100. Прапор-q відключає виведення на екран підтверджуючого повідомлення, що дуже корисно при завданні великої кількості правил з скрипта (наприклад, при старті системи).

 

 

3 Підготовка до роботи

3.1 Ознайомитись з інструкцією.
3.2 Опрацювати теоретичний матеріал за темою роботи.

3.3 Усно дати відповіді на контрольні запитання вхідного контролю.
3.4 Продумати методику виконання роботи.

3.5 Підготувати бланк звіту.

 

 

4 Питання вхідного контролю

4.1 Що таке фаєрвол та як він працює?

4.2 Які параметри роботи Firewall можна включити у збірку ядра та які функції цих

параметрів?

4.3 Порівняйте можливості міжмережевого екрану FreeBSD та Microsoft Windows?

 

 







Дата добавления: 2015-09-07; просмотров: 533. Нарушение авторских прав; Мы поможем в написании вашей работы!



Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...

Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...

Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

СИНТАКСИЧЕСКАЯ РАБОТА В СИСТЕМЕ РАЗВИТИЯ РЕЧИ УЧАЩИХСЯ В языке различаются уровни — уровень слова (лексический), уровень словосочетания и предложения (синтаксический) и уровень Словосочетание в этом смысле может рассматриваться как переходное звено от лексического уровня к синтаксическому...

Плейотропное действие генов. Примеры. Плейотропное действие генов - это зависимость нескольких признаков от одного гена, то есть множественное действие одного гена...

Индекс гингивита (PMA) (Schour, Massler, 1948) Для оценки тяжести гингивита (а в последующем и ре­гистрации динамики процесса) используют папиллярно-маргинально-альвеолярный индекс (РМА)...

Методика исследования периферических лимфатических узлов. Исследование периферических лимфатических узлов производится с помощью осмотра и пальпации...

Роль органов чувств в ориентировке слепых Процесс ориентации протекает на основе совместной, интегративной деятельности сохранных анализаторов, каждый из которых при определенных объективных условиях может выступать как ведущий...

Studopedia.info - Студопедия - 2014-2024 год . (0.014 сек.) русская версия | украинская версия