русс | укр

Мови програмуванняВідео уроки php mysqlПаскальСіАсемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование


Linux Unix Алгоритмічні мови Архітектура мікроконтролерів Введення в розробку розподілених інформаційних систем Дискретна математика Інформаційне обслуговування користувачів Інформація та моделювання в управлінні виробництвом Комп'ютерна графіка Лекції


Формат правил IPFW


Дата додавання: 2014-11-28; переглядів: 811.


 

Загальний вигляд формату правил ipfw є такий:

[prob match probability] action [log[logamout number]] proto from src tu dst [interface – spec] [options]

Кожен пакет може бути відсортировано на підставі інформації, пов’язаної із :

-інтерфейсом приймання/передавання (за іменем чи адресою);

-інтерфейсом приймання/передавання (вхідні та вихідні) (можлива маска);

-ip-адресою джерела до отримувача (IP,TCP, UDP, ICMP);

-портами джерела та отримувача (список, діапазон або маска);

-протоколом;

-портами джерела або отримувача;

 

prob match probability (0:1)

 

Число з плаваючою точкою (від 0 до1 ) – вказівка відповідної ймовірності. Це може бути корисним для низки додатків типу випадкового зниження доставки пакета або (у відповідності до концепції віртуальної мережі dummynet) для модулювання багатокількісних шляхів інтервалу, який спричинює ушкодження доставленим пакетам.

Allow – дозволяє пакетам, відповідним даному правилу, закінчити перевірку; аналогами є pass (пропустити), permit (дозволити) та accеpt (прийняти).

Deny – відкидає пакети, відповідні даному правилу; зупиняє пошук; drop – аналог deny.

Reject – (deprecated, засуджений) – відкидає пакети, відповідні даному правилу й надсилає ICMP - повідомлення, яке перевіряє хост на досяжність; закінчує перевірку.

Unreach code – відкидає пакет, відповідний даному правилу, й надсилає ІСМР - повідомлення про недосяжність хоста з кодом code, де code – число від 0 до 225 або один з наступних псевдонімів (кодових слів), net (мережа), host (хост), protocol (протокол), port (порт), needfrag (необхідний фрагмент), scrfail (збій джерела), net – unknown (мережа невідома), host – unknown (хост невідомий), isolated (ізольований), net – prohib, host – prohib, tosnet, toshost, filter – prohib, host – precedence, (домінування хосту) або precedence – cutoff (домінування зупину); завершує перевірку.

Reset – лише для пакетів tcp; відкидє пакети, відповідні даному правилу, та надсилає TCP reset (RST) повідомлення.

Count – модифікація лічильників для всіх пакетів, відповідно правилу; перевірка продовжується із наступного правила.

Check – state – перевіряє пакет на приналежність до динамічних правил; якщо приналежність віднайдено – перевірка зупиняється, або ж виконується перехід до наступного правила; якщо ж жодного правила check-state віднайдено не було, динамічні установки перевіряються до першого правила keep-state.

Divert port – переадресовування пакетів, відповідних даному правилу, на divert граничне вікно в порт (port); перевірка завершується.

Tee port – надсилання копій пакетів, відповідних даному правилу, на divert port-граничне вікно в порт (port); перевірка закінчується; оригінал пакета приймається.

Fwd ipaddr [,port] – змінити next-hop (наступний стрибок) для відповідних пакетів на IP-адресу ipaddr, яка може бути IP-адресою в точково-десятковій нотації чи іменем хоста. Якщо IP-адреса ipaddr відсутня в безпосередньо підімкненій до хосту мережі, то маршрут визначається за локальною таблицею маршрутизації відповідної IP-адреси, яка використовувалась замість нього. Якщо IP-адреса ipaddr є локальна, то здійснюється введення пакета в систему з віддаленого хоста й спрямовування його до порту port на локальній машині. Локальна ІР-адреса сокета зберігається та встановлюється вихідна ІР-адреса для пакета, який був адресатом; це призначено для роботи з прозорими проксі-серверами. Якщо ІР-адреса ipaddr не є локальною, то номер порту (якщо його зазначено) ігнорується й правило застосовується щодо пакетів, відправлених з системи; це також відбиває адреси до локальних портів, якщо пакети згенеровано локально. Перевірка завершується, якщо є відповідність цьому правилу; якщо номер порту не задано, то його в пакеті зазначається в такий спосіб, щоби пакет для порту зовнішнього хосту Y було відправлено до локального порту Y; системне ядро має бути скомпільовано з опцією IPFIREWALL_FORWARD.

Pipe pipe nr – пропустити пакет через dummynet (фіктивну мережу) “pipe” з певними параметрами – смуга пропускання, затримка тощо; пошук заквершується, але якщо змінну sysctl net.ionet.ip.fw.one pass не встановлено, то пакети знову проходять через брандмауер з перегляданням наступного правила.

Queue queue_nr – пропустити пакет за правилами dummynet “queue”, черга номер queue_nr ( для смуги пропускання, обмеженої з використанням WF2Q).

Skipto number – послідовно пропустити всі правила з номерами, меншими, аніж number, пошук продовжується з першого правила, номер котрого є більший, аніж number Log [logamount number].

Якщо ядро було скомпільовано з IPFIREWALL_VERBOSE та коли пакет є відповідний даному правилу з ключовим словом log, повідомлення буде записано до журналу syslogd засобом LOG_SECURITY; примітка: за замовчуванням вони додаються до файла /var/log/sequrity; якщо ядро скомпільоване з опцією IPFIREWALL_VERBOSE_LIMIT, то за замовчуванням запис до журналу припиниться після числа пакетів, зазначених в опції та отриманих для цього конкретного кола входу й значення змінної net.inet.ip.fw.verbose_limit буде встановлено це число; але якщо використовується опція logamount number, буде встановлено значення менше, аніж net.inet.ip.fw.verbose_limit, а значення 0 знімає обмеження, очищуючи при цьому лічильник пакетів, після чого можна знову надавати можливість реєстрування; реєстрування через консоль і встановлення динамічної межі виконуються завдяки програми sysctl та грунтується на MIB змінній net.inet.ip.fw.

proto — ІР-протоколи, які визначаються іменем чи номером (повний список наиведеной в файлі /etc/protocols ); ip або ключове слово all вказує на відповідність всім протоколам.

 

scr и dst:

any | me | [not] address / mask [ports].

Ключове слово any вказує на відповідність будь-якій ІР-адресі; ключове слово me вказує на відповідність будь-якій ІР-адресі, привласненій конфігурованій системі.

 

address/mask може бути визначено в такий спосіб:

ipno – ІР-адреса у точково-десятковій нотації (192.168.0.2), вказує на конкретний комп’ютер у мережі;

ipno/bits — ІР-адреса з маскою (довжиною мережної частини) у вигляді 1.2.3.4/24; у цьому разі будуть підходитимуть всі ІР-адреси від 1.2.3.0 до 1.2.15.225;

inno/mask – IP-адреса з маскою у вигляді 1.2.3.4:255.255.240.0; в цьому записі вказується на відповідність всім ІР-адресам від 1.2.0.0 до 1.2.15.225.

Зміст відповідності може бути інвертовано, для чого використовується модифікатор not перед адресою; при цьому встановлюється відповідність всім адресам, які не потрапляють до зазначеного діапазону.

З протоколами ТСР та UDP опційно може зазначатись порт.

 


<== попередня лекція | наступна лекція ==>
Можливості IPFW | Мова програмування awk


Онлайн система числення Калькулятор онлайн звичайний Науковий калькулятор онлайн