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

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

Жанры

Сетевые средства Linux

Смит Родерик В.

Шрифт:

Цепочки объединяются в таблицы. Цепочки, показанные на рис. 25.1, составляют таблицу

filter
, которая используется для обработки стандартных типов трафика. Стандартными таблицами также являются
nat
(она используется при построении NAT-преобразователей) и
mangle
(с ее помощью осуществляются некоторые типы преобразования пакетов). Вы можете поместить в таблицу новые цепочки и вызвать их из существующих цепочек. Это позволяет реализовать сложные процедуры фильтрации.

Таблицы и цепочки являются средствами ядра Linux, a

iptables
— это программа, которая выполняется как пользовательский процесс и предоставляет возможность управлять таблицами и цепочками. Программу
iptables
можно использовать для добавления правил к любой из цепочек, показанных на рис. 25.1, а также к другим цепочкам. Например, вы можете включить в цепочку
INPUT
правила, блокирующие все пакеты, в заголовке которых указан определенный порт назначения, или добавить в цепочку
OUTPUT
правила, запрещающие передавать пакеты системе, взаимодействие с которой по каким-либо причинам запрещено. С помощью этих и других цепочек вы можете реализовать брандмауэр, NAT-преобразователь или другое средство защиты системы.

Изменения, вносимые утилитой

iptables
, носят временный характер; информация о них удаляется после перезагрузки компьютера. По этой причине для работы с
iptables
следует создавать сценарии. В состав некоторых дистрибутивных пакетов, например Red Hat и Mandrake, включаются инструментальные средства, упрощающие создание брандмауэров и NAT-преобразователь. Сценарий, предназначенный для создания правил посредством утилиты
iptables
, обычно запускается как сценарий SysV или локальный сценарий запуска.

Альтернативные средства фильтрации

Программа

iptables
была создана для работы с ядром 2.4.x. С ранними версиями ядра использовались другие инструменты. Например, для взаимодействия с соответствующими средствами ядра 2.2.x применялась программа
ipchains
, а для работы с ядром 2.0.x — программа
ipfwadm
. Смена инструментов отражает изменения в структуре ядра. Программа
iptables
дает возможность работать с такими средствами ядра 2.4.x, которые отсутствовали в ядре 2.2.x. Например, она позволяет выполнять проверку пакетов с учетом состояния (stateful packet inspection), при которой учитываются характеристики соединения. Проверка пакетов с учетом состояния предоставляет дополнительные возможности по организации защиты компьютеров.

При работе с версиями ядра, предшествующими версии 2.4.x, вам придется использовать

ipchains
или
ipfwadm
. В данной главе не уделяется внимание работе с этими программами, поэтому всю необходимую информацию вам придется искать в документации на соответствующий инструмент. Для работы со средствами фильтрации пакетов, которые будут реализованы в последующих версиях ядра, наверное, будут разработаны новые инструментальные средства. Вероятнее всего, что общие принципы их работы будут такими же, какие используются в
iptables
, поэтому знание этой программы пригодится при работе с версиями ядра, которые придут на смену версии 2.4.x.

Если вы хотите продолжать работу с инструментами

ipfwadm
и
ipchains
, вы можете использовать их и для взаимодействия с ядром 2.4.x, но для этого надо настроить соответствующим образом ядро системы. Программы
ipfwadm
и
ipchains
позволяют решать те же задачи, которые решаются при работе с версиями 2.0.x и 2.2.x, но вы не сможете воспользоваться новыми возможностями, предоставляемыми ядром 2.4.x.

Некоторые из правил фильтрации пакетов, реализуемые посредством

iptables
, дублируют соответствующие возможности TCP Wrappers,
xinetd
и средств контроля доступа к отдельным серверам. Все эти инструменты позволяют ограничить возможность взаимодействия с серверами на основе анализа IP-адресов. Если одно и то же ограничение может быть реализовано несколькими инструментами, я рекомендую не ограничиваться использованием одного из них. При одновременном применении нескольких средств последствия ошибки в конфигурации или в коде одной из программ будут устранены другими программами. По сравнению с прочими инструментами подобного назначения
iptables
реализует средства более низкого уровня, поэтому ограничения, накладываемые с помощью этой программы, охватывают большее число протоколов и серверов. Например, если
xinetd
защищает только серверы, запускаемые с его помощью, то
iptables
позволяет ограничить доступ ко всем серверам.

Конфигурация ядра для работы с

iptables

Для того чтобы использовать iptables, необходимо активизировать соответствующие средства ядра. В версии ядра 2.4 все необходимые для этого опции сосредоточены в меню Networking Options и некоторых его подменю. Опции, которые необходимо активизировать, перечислены ниже.

• Network Packet Filtering. Данная опция расположена в меню Networking Options.

• Connection Tracking. Эта опция находится в подменю Netfilter Configuration меню Networking Options. Данная опция используется при создании NAT-преобразователей. (Все последующие опции также расположены в подменю Netfilter Configuration.)

• FTP Protocol Support. При работе NAT-преобразователя особые трудности связаны с поддержкой протокола FTP. В системе Linux для этой цели создан специальный модуль ядра.

• IP Tables Support. Данная опция также необходима для работы NAT-преобразователя. При выборе этой опции становится доступным большое число подопций, соответствующих различным типам проверки. Чтобы обеспечить наибольшую гибкость, желательно выбрать все подопций. Особенно важна подопция Connection State Match Support, поскольку она используется для проверки пакетов с учетом состояния.

• Packet Filtering. Несмотря на то что эта опция не является абсолютно необходимой для создания брандмауэров и NAT-преобразователей, она расширяет набор доступных возможностей. Поэтому я рекомендую вам активизировать ее.

• 

REJECT
Target Support. Данная подопция опции Packet Filtering добавляет правило, которое может быть использовано при создании брандмауэров. Поэтому имеет смысл активизировать эту опцию.

• Full NAT. Средства, включаемые с помощью данной опции, требуются для реализации многих возможностей NAT, включая те, которые описаны в данной главе.

MASQUERADE
Target Support. Данная подопция опции Full NAT необходима для реализации IP-маскировки — разновидности NAT-преобразования, которая будет описана ниже. В справочной информации, вызываемой после щелчка на кнопке Help, сказано, что опция
MASQUERADE
Target Support нужна только при использовании динамических внешних IP-адресов, однако это не так. Данная опция требуется при выполнении IP-маскировки, независимо от того, являются ли внешние IP-адреса динамическими.

• Packet Mangling. Средства ядра, включаемые с помощью данной опции, нужны, если вы собираетесь использовать таблицу

mangle
. Я рекомендую вам активизировать опцию Packet Mangling.

• 

LOG
Target Support. Если вы хотите протоколировать работу брандмауэра или маршрутизатора, данная опция позволит вам сделать это.

• 

ipchains
(2.2-style) Support. Если вы хотите использовать сценарии брандмауэра, ориентированные на работу с
ipchains
, вам необходимо активизировать данную опцию. Для выполнения этих сценариев вам также потребуется программа
ipchains
.

• 

ipfwadm
(2.0-style) Support. Если вы хотите использовать сценарии брандмауэра, предназначенные для работы с
ipfwadm
, вам необходимо активизировать данную опцию. Для выполнения этих сценариев вам также потребуется программа
ipfwadm
.

Совет

Опции, включающие поддержку

ipchains
и
ipfwadm
, являются взаимоисключающими и не совместимы с опциями IP Tables Support и Connection Tracking. Поэтому нельзя одновременно включать опции, предназначенные для работы с
iptables
и более старыми инструментами подобного назначения. Однако вы можете скомпилировать все необходимые средства как модули и загружать тот или иной модуль по мере необходимости. Такая конфигурация оправдана в том случае, если вы применяете один из старых инструментов, но планируете переходить на использование
iptables
. Во многих дистрибутивных пакетах ядро скомпилировано подобным образом по умолчанию.

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

Звездная Кровь. Изгой IV

Елисеев Алексей Станиславович
4. Звездная Кровь. Изгой
Фантастика:
боевая фантастика
попаданцы
технофэнтези
рпг
5.00
рейтинг книги
Звездная Кровь. Изгой IV

Младший сын

Балашов Дмитрий Михайлович
1. Государи московские
Научно-образовательная:
история
8.50
рейтинг книги
Младший сын

Имперец. Том 5

Романов Михаил Яковлевич
4. Имперец
Фантастика:
попаданцы
альтернативная история
аниме
6.00
рейтинг книги
Имперец. Том 5

Обрыв

Гончаров Иван Александрович
Гончаров И. А. Романы
Проза:
русская классическая проза
5.00
рейтинг книги
Обрыв

Неудержимый. Книга XXXVII

Боярский Андрей
37. Неудержимый
Фантастика:
аниме
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Неудержимый. Книга XXXVII

Вечный. Книга I

Рокотов Алексей
1. Вечный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Вечный. Книга I

Черный Маг Императора 4

Герда Александр
4. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 4

Как я строил магическую империю 10

Зубов Константин
10. Как я строил магическую империю
Фантастика:
попаданцы
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 10

Старшеклассник без клана. Апелляция кибер аутсайдера 2

Афанасьев Семен
2. Старшеклассник без клана. Апелляция аутсайдера
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Старшеклассник без клана. Апелляция кибер аутсайдера 2

Путь

Yagger Егор
Фантастика:
космическая фантастика
4.25
рейтинг книги
Путь

Калгари 88

Arladaar
1. Чистых прокатов и гладкого льда!
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Калгари 88

Я еще не барон

Дрейк Сириус
1. Дорогой барон!
Фантастика:
боевая фантастика
попаданцы
аниме
5.00
рейтинг книги
Я еще не барон

Законы Рода. Том 5

Мельник Андрей
5. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 5

Бояръ-Аниме. Газлайтер. Том 34

Володин Григорий Григорьевич
34. История Телепата
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Бояръ-Аниме. Газлайтер. Том 34