
- •Засоби аналізу та управління мережами методичні вказівки
- •Утиліта traceroute/tracert
- •Утиліта nslookup
- •Послідовність виконання роботи
- •Послідовність виконання роботи
- •Лабораторна Робота №3
- •Стани в просторі користувача
- •Послідовність виконання роботи
- •Послідовність виконання роботи
- •Неявні критерії
- •Icmp критерії
- •Icmp критерії
- •Послідовність виконання роботи
- •Критерій mac
- •Критерій Mark
- •Критерій Multiport
- •Критерий State
- •Критерій tos
- •Критерій ttl
- •Послідовність виконання роботи
- •Послідовність виконання роботи
- •Контрольні запитання
- •Засоби аналізу та управління мережами методичні вказівки
Неявні критерії
На сьогоднішній день існують три автоматично завантажуваних розширення: TCP критерії, UDP критерії і ICMP критерії. Завантаження цих разширень може відбуватись явним чином з допомогою ключа -m, -match, наприклад -m tcp.
TCP критерії
Цей набір критеріїв залежить від типу протоколу і працюють тільки з TCP пакетами. Для їх використання в правилах необхідно вказувати тип протоколу --protocol tcp. Критерій --protocol tcp має стояти перед специфічним критерієм. Ці розширення завантажуються автоматично як для tcp протоколу, так і для udp і icmp протоколів.
Таблиця 9
TCP критерії
Критерій |
--sport, --source-port |
Приклад |
iptables -A INPUT -p tcp --sport 22 |
Опис |
Вихідний порт, з якого було відправлено пакет. В якості параметра може вказуватись номер порта або назва мережевого сервісу. Відповідність імен сервісів і номерів портів можна знайти в файлі /etc/services. При вказанні номерів портів правила відпрацьовуються швидше. Номери портів можуть задаватись у вигляді інтервала з мінімального і максимального номерів, наприклад --source-port 22:80. Якщо опускається мінімальний порт, тобто коли критерій записується як --source-port :80, то в якості початку діапазону приймається число 0. Якщо опускається максимальний порт - коли критерій записується як --source-port 22:, то в якості кінця діапазону приймається число 65535. Символ ! використовується для інверсії. Так критерій --source-port ! 22 задає будь-який порт, крім 22. Інверсія може застосовуватись і до діапазону портів, наприклад --source-port ! 22:80. |
Критерій |
--dport, --destination-port |
Приклад |
iptables -A INPUT -p tcp --dport 22 |
Опис |
Порт або діапазон портів, на який адресовано пакет. Аргументи задаються в тому ж форматі, що й для --source-port. |
Критерій |
--tcp-flags |
Приклад |
iptables -p tcp --tcp-flags SYN,FIN,ACK SYN |
Опис |
Визначає маску і ознаки tcp-пакету. Пакет задовільняє критерію, якщо з перечислених ознак в першому списку встановлені ознаки з другого списку. Так для прикладу під критерій потрапляють пакети у яких ознака SYN встановлена, а ознаки FIN і ACK скинуті. В якості аргументів критерія можуть виступати ознаки SYN, ACK, FIN, RST, URG, PSH, а також зарезервовані ідентифікатори ALL і NONE. ALL -- означає всі ознаки і NONE - ні одна ознака. Так, критерій --tcp-flags ALL NONE означає -- "всі ознаки в пакеті повинні бути скинуті". Символ ! означає інверсію критерію. Імена ознак в кожному списку повинні розділятись комами, пробіли використовуються для розділення списків. |
Критерій |
--syn |
Приклад |
iptables -p tcp --syn |
Опис |
Критерію --syn відповідають пакети з встановленою ознакою SYN і скинутими ознаками ACK і FIN. Цей критерій аналогічний критерію --tcp-flags SYN,ACK,FIN SYN. Такі пакети використорвуються для відкриття TCP з'єднання. Блокування таких пакетів блокує всі вхідні запити на з'єднання, проте не блокують вихідні запити на з'єднання. Допускається інвертування критерія символом !. Так критерій ! --syn означає -- "всі пакети, які не є запитом на з'єднання ", тобто всі пакети з ознаками FIN або ACK. |
Критерій |
--tcp-option |
Приклад |
iptables -p tcp --tcp-option 16 |
Опис |
Цей критерій виділяє пакети, TCP параметр яких рівний заданому числу. TCP Option - це частина заголовку пакета. Вона складається з 3 різних полів. Перше 8-ми бітне поле містить інформацію про опції, які використовуються в даному з'єднанні. Друге 8-ми бітне поле містить довжину поля опцій. Можливо перевірити перше поле і у випадку, якщо там вказана непідтримувана мережевим екраном опція, пропустити третє поле (довжина якого міститься в другому полі). Пакет, який не має повного TCP заголовку, буде скинуто автоматично при спробі вивчення його TCP параметра. Допускається використання ознаки інверсії умови - !. |
Таблиця 10
UDP критерії
Критерій |
sport, --source-port |
Приклад |
iptables -A INPUT -p udp --sport 53 |
Опис |
Вихідний порт, з якого було відправлено пакет. В якості параметра може вказуватись номер порта або назва мережевого сервісу. Відповідність імен сервісів і номерів портів можна знайти в файлі /etc/services. При вказанні номерів портів правила відпрацьовуються швидше. Номери портів можуть задаватись у вигляді інтервала з мінімального і максимального номерів, наприклад --source-port 22:80. Якщо опускається мінімальний порт, тобто коли критерій записується як --source-port :80, то в якості початку діапазону приймається число 0. Якщо опускається максимальний порт - коли критерій записується як --source-port 22:, то в якості кінця діапазону приймається число 65535. Символ ! використовується для інверсії. Так критерій --source-port ! 22 задає будь-який порт, крім 22. Інверсія може застосовуватись і до діапазону портів, наприклад --source-port ! 22:80. |
Критерій |
--dport, --destination-port |
Приклад |
iptables -A INPUT -p udp --dport 53 |
Опис |
Порт, на який адресовано пакет. Формат аргументів аналогічний прийнятому в критерії --source-port. |