Чтение онлайн

на главную - закладки

Жанры

Iptables Tutorial 1.1.19
Шрифт:

В любом случае запрос рассматривается как NEW, а ответ как ESTABLISHED.

ПРИМЕЧАНИЕ: Заметьте при этом, что пакет ответа должен совпадать по своим характеристикам (адреса отправителя и получателя, тип, код и идентификатор) с указанными в записи в таблице трассировщика, это справедливо и для всех остальных типов трафика.

ICMP запросы имеют таймаут, по-умолчанию, 30 секунд. Этого времени, в большинстве случаев, вполне достаточно. Время таймаута можно изменить в /proc/sys/net/ipv4/netfilter/ip_ct_icmp_timeout. ( Напоминаю, что переменные типа /proc/sys/net/ipv4/netfilter/ip_ct_* становятся доступны только после установки «заплаты» tcp-window-tracking из patch-o-matic прим. перев.).

Значительная

часть ICMP используется для передачи сообщений о том, что происходит с тем или иным UDP или TCP соединением. Всвязи с этим они очень часто распознаются как связанные (RELATED) с существующим соединением. Простым примером могут служить сообщения ICMP Host Unreachable или ICMP Network Unreachable. Они всегда порождаются при попытке соединиться с узлом сети когда этот узел или сеть недоступны, в этом случае последний маршрутизатор вернет соответствующий ICMP пакет, который будет распознан как RELATED. На рисунке ниже показано как это происходит.

В этом примере некоторому узлу передается запрос на соединение (SYN пакет). Он приобретает статус NEW на брандмауэре. Однако, в этот момент времени, сеть оказывается недоступной, поэтому роутер возвращает пакет ICMP Network Unreachable. Трассировщик соединений распознает этот пакет как RELATED, благодаря уже имеющейся записи в таблице, так что пакет благополучно будет передан клиенту, который затем оборвет неудачное соединение. Тем временем, брандмауэр уничтожит запись в таблице, поскольку для данного соединения было получено сообщение об ошибке.

То же самое происходит и с UDP соединениями – если обнаруживаются подобные проблемы. Все сообщения ICMP, передаваемые в ответ на UDP соединение, рассматриваются как RELATED. Взгляните на следующий рисунок.

Датаграмма UDP передается на сервер. Соединению присваивается статус NEW. Однако доступ к сети запрещен (брандмауэром или роутером), поэтому обратно возвращается сообщение ICMP Network Prohibited. Брандмауэр распознает это сообщение как связанное с открытым UDP соединением, присваивает ему статус RELATED и передает клиенту. После чего запись в таблице трассировщика уничтожается, а клиент благополучно обрывает соединение.

4.7. Поведение по-умолчанию

В некоторых случаях механизм определения состояния не может распознать протокол обмена и, соответственно, не может выбрать стратегию обработки этого соединения. В этом случае он переходит к заданному по-умолчанию поведению. Поведение по-умолчанию используется, например при обслуживании протоколов NETBLT, MUX и EGP. Поведение по-молчанию во многом схоже с трассировкой UDP соединений. Первому пакету присваивается статус NEW, а всем последующим – статус ESTABLISHED.

При использовании поведения по-умолчанию, для всех пакетов используется одно и то же значение таймаута, которое можно изменить в /proc/sys/net/ipv4/netfilter/ip_ct_generic_timeout. По-умолчанию это значение равно 600 секундам, или 10 минутам В зависимости от типа трафика, это время может меняться, особенно когда соединение устанавливается по спутниковому каналу.

4.8. Трассировка комплексных протоколов

Имеется

ряд комплексных протоколов, корректная трассировка которых более сложна. Прмером могут служить протоколы ICQ, IRC и FTP. Каждый из этих протоколов несет дополнительную информацию о соединении в области данных пакета. Соответственно корректная трассировка таких соединений требует подключения дополнительных вспомогательных модулей.

В качестве первого примера рассмотрим протокол FTP. Протокол FTP сначала открывает одиночное соединение, которое называется «сеансом управления FTP» (FTP control session). При выполнении команд в пределах этого сеанса, для передачи сопутствующих данных открываются дополнительные порты. Эти соединения могут быть активными или пассивными. При создании активного соединения клент передает FTP серверу номер порта и IP адрес для соединения. Затем клент открывает порт, сервер подключает к заданному порту клиента свой порт с номером 20 (известный как FTP-Data) и передает данные через установленное соединение.

Проблема состоит в том, что брандмауэр ничего не знает об этих дополнительных подключениях, поскольку вся информация о них передается через область данных пакета. Из-за этого брандмауэр не позволит серверу соединиться с указанным портом клиента.

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

Пассивный FTP действует противоположным образом. Клиент посылает запрос серверу на получение данных, а сервер возвращает клиенту IP адрес и номер порта для подключения. Клиент подключает свой 20-й порт (FTP-data) к указанному порту сервера и получает запрошенные данные. Если ваш FTP сервер находится за брандмауэром, то вам потребуется этот вспомогательный модуль для того, чтобы сервер смог обслуживать клиентов из Интернет. То же самое касается случая, когда вы хотите ограничить своих пользователей только возможностью подключения к HTTP и FTP серверам в Интернет и закрыть все остальные порты. Рисунок ниже показывает как выполняется пассивное соединение FTP.

Некоторые вспомогательные модули уже включены в состав ядра. Если быть более точным, то в состав ядра включены вспомогательные модули для протоколов FTP и IRC. Если в вашем распоряжении нет необходимого вспомогательного модуля, то вам следует обратиться к patch-o-matic, который содержит большое количество вспомогательных модулей для трассировки таких протоколов, как ntalk или H.323. Если и здесь вы не нашли то, что вам нужно, то у вас есть еще варианты: вы можете обратиться к CVS iptables, если искомый вспомогательный модуль еще не был включен в patch-o-matic, либо можете войти в контакт с разработчиками netfilter и узнать у них – имеется ли подобный модуль и планируется ли он к выпуску. Если и тут вы потерпели неудачу, то наверное вам следует прочитать Rusty Russell's Unreliable Netfilter Hacking HOW-TO.

Поделиться:
Популярные книги

Наследство

Браун Саймон
1. Ключи власти
Фантастика:
фэнтези
6.25
рейтинг книги
Наследство

Тайны ушедшего века. Власть. Распри. Подоплека

Зенькович Николай Александрович
Научно-образовательная:
история
политика
5.00
рейтинг книги
Тайны ушедшего века. Власть. Распри. Подоплека

Эпоха Опустошителя. Том I

Павлов Вел
1. Вечное Ристалище
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Эпоха Опустошителя. Том I

История философии (Энциклопедия)

Автор неизвестен
Научно-образовательная:
философия
5.00
рейтинг книги
История философии (Энциклопедия)

Его Сиятельство Вовчик. Пенталогия

Машуков Тимур
Княжич Романов
Фантастика:
юмористическое фэнтези
аниме
фэнтези
попаданцы
гаремник
5.00
рейтинг книги
Его Сиятельство Вовчик. Пенталогия

Гримуар темного лорда III

Грехов Тимофей
3. Гримуар темного лорда
Фантастика:
фэнтези
попаданцы
аниме
5.25
рейтинг книги
Гримуар темного лорда III

Хроники Максима. Трилогия

Бадей Сергей
Фантастика:
юмористическое фэнтези
8.26
рейтинг книги
Хроники Максима. Трилогия

Рыцарь Империи

Буревой Андрей
3. Одержимый
Фантастика:
фэнтези
9.39
рейтинг книги
Рыцарь Империи

Красные звезды. Полная трилогия

Березин Федор Дмитриевич
Красные звезды
Фантастика:
альтернативная история
5.70
рейтинг книги
Красные звезды. Полная трилогия

Сандро из Чегема. Книга 3

Искандер Фазиль Абдулович
Проза:
классическая проза
современная проза
5.00
рейтинг книги
Сандро из Чегема. Книга 3

Мифы и факты русской истории. От лихолетья Cмуты до империи Петра

Резников Кирилл Юрьевич
От Руси к империи
Научно-образовательная:
история
5.00
рейтинг книги
Мифы и факты русской истории. От лихолетья Cмуты до империи Петра

Весы Ишкура (ex. Восхождение 3.0)

Жгулёв Пётр Николаевич
16. Real-RPG / Город Гоблинов
Фантастика:
рпг
уся
попаданцы
5.00
рейтинг книги
Весы Ишкура (ex. Восхождение 3.0)

Книга мертвых

Престон Дуглас
7. Пендергаст
Фантастика:
ужасы и мистика
6.25
рейтинг книги
Книга мертвых

История Византийских императоров. От Юстина до Феодосия III. Том II.

Величко Алексей Михайлович
Научно-образовательная:
история
5.00
рейтинг книги
История Византийских императоров. От Юстина до Феодосия III. Том II.