Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

TCP критерии

Неявные критерии

В этом разделе рассмотрим неявные критерии, точнее, те критерии, которые подгружаются неявно и становятся доступны, например, при указании критерия --protocol. На сегодняшний день существует три автоматически подгружаемых расширения, это TCP критерии, UDP критерии и ICMP критерии. Загрузка этих расширений может производиться и явным образом с помощью ключа -m, -match, например -m tcp.

Это расширение зависит от типа протокола и работает только с TCP пакетами (таблица 3.8). Чтобы использовать эти дополнительные критерии, необходимо в правилах указывать тип протокола
--protocol tcp. Важно: критерий --protocol tcp обязательно должен стоять перед специфичным критерием. Эти расширения загружаются автоматически для tcp, udp и icmp протоколов.

Таблица 3.8. 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 80:22, в этом случае iptables поменяет числа 22 и 80 местами, то есть подобного рода запись будет преобразована в --source-port 22:80. Как и раньше, символ! используется для инверсии. Так критерий --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,ACK,FIN 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 является, по сути, реликтом, перекочевавшим из ipchains. Критерию соответствуют пакеты с установленным флагом 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 параметра. Как и ранее, допускается использование флага инверсии условия [!]
<== предыдущая лекция | следующая лекция ==>
Общие критерии | ICMP критерии
Поделиться с друзьями:


Дата добавления: 2014-01-15; Просмотров: 667; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.