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

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

Жанры

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

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

Шрифт:

Формирование политики по умолчанию

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

– P
утилиты
iptables
.

# iptables -P INPUT DROP

# iptables -P OUTPUT DROP

# iptables -P FORWARD DROP

В данном примере задается политика по умолчанию для трех стандартных цепочек, содержащихся в таблице

filter
. В качестве политики по умолчанию может быть указано любое из описанных ранее действий (
ACCEPT
,
DROP
,
QUEUE
,
RETURN
и т.д.). Наиболее часто используются действия
ACCEPT
,
DROP
и
REJECT
.
ACCEPT
указывает Linux на то, что все пакеты должны передаваться, a
DROP
заставляет систему игнорировать все пакеты.
REJECT
, подобно
DROP
, также указывает на то, что пакеты должны отвергаться, но при этом Linux оповещает источник о том, что пакет не принят (подобное сообщение источник получает и в том случае, если в системе нет ни одного сервера, ожидающего обращения через порт, указанный в заголовке пакета). Если брандмауэр должен обеспечивать высокую степень защиты, в качестве политики по умолчанию указывается
DROP
или
REJECT
, однако при этом все пакеты, передача которых не разрешена явным образом, будут отвергнуты. Если задана политика по умолчанию
ACCEPT
, то необходимо явно запретить все типы пакетов, которые не должны быть пропущены через брандмауэр. Составление правил, блокирующих все недопустимые типы пакетов, часто представляет собой достаточно сложную задачу, причем всегда остается опасность, что какое-либо условие останется не учтенным. С другой стороны, задавая политику по умолчанию
DROP
или
REJECT
, надо лишь разрешить прохождение некоторых типов пакетов через брандмауэр. Обычно при работе системы число типов пакетов ограничено, поэтому данному подходу следуют большинство системных администраторов.

Определение правил

Для создания правил используется опция

– -append
(или
– А
) программы
iptables
. После этой опции задается один или несколько критериев, затем указывается опция
– -jump
(или
– j
), за которой следует действие
ACCEPT
,
DROP
или
REJECT
. Вызов
iptables
, предназначенный для создания действия, выглядит следующим образом:

# iptables --append CHAIN критерий_выбора– -jump действие

Сокращенно та же команда может быть записана так:

# iptables -A CHAIN критерий_выбора– j действие

Вместо

– -append
при вызове
iptables
могут быть указаны следующие опции.

• 

– -delete
, или
– D
. Эта опция удаляет правило из существующей цепочки.

• 

– -insert
, или
– I
. С помощью данной опции вы можете включить правило в середину цепочки. При этом необходимо задать номер правила. Если номер не указан,
iptables
включит правило в начало цепочки (при использовании опции
– -append
правило помещается в конец цепочки).

• 

– -replace
, или
– R
. Эта опция дает возможность заменить правило. Задавая данную опцию, следует указать номер заменяемого правила.

• 

– -list
, или
– L
. Данная опция отображает все правила в цепочке.

Для утилиты

iptables
предусмотрены также другие опции. Информацию о них вы можете получить на страницах справочной системы, посвященных
iptables
. В следующем разделе рассматривается формирование критериев выбора, передаваемых
iptables
. В одной команде можно задать несколько критериев, например, вы можете ограничить доступ по номеру порта и по IP-адресу.

На заметку

Ядро системы читает правила в цепочке по порядку и применяет первое из них, которому соответствует пакет. Если вы хотите задать исключение из какого-либо правила (например, запретить доступ к порту Telnet для всех узлов, кроме машин, принадлежащих локальной сети), вы должны поместить исключение перед основным правилом. Политика по умолчанию по сути представляет собой правило, находящееся в самом конце цепочки. Ему удовлетворяют все

пакеты, которые не соответствуют ни одному другому правилу в цепочке.

Использование номеров портов при выполнении фильтрации

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

– -destination-port
(
– -dport
). Аналогичных результатов можно добиться, используя опцию
– -protocol
(
– p
), в качестве значения которой указывается тип протокола (
tcp
,
udp
,
icmp
или
all
). Опция
– -source-port
(
– -sport
) выполняет подобные действия, но задает порт источника. Команды, определяющие правила фильтрации на основе номеров портов, выглядят следующим образом:

# iptables -A INPUT -р tcp --dport 25 -j ACCEPT

# iptables -A OUTPUT -p tcp --sport 25 -j ACCEPT

Эти команды обеспечивают прием пакетов, направленных серверу, который ожидает поступление запросов через порт 25, и передачу пакетов, возвращаемых сервером в ответ на запрос (в них указан порт источника 25). В результате, даже если политика по умолчанию отвергает пакеты, сервер сможет получить почту от внешних серверов. Заметьте, если в качестве политики по умолчанию указано действие

DROP
или
REJECT
вы должны включить в цепочку
INPUT
правило, разрешающее принимать пакеты, направленные серверу, а в цепочку
OUTPUT
— правило, разрешающее передавать пакеты, сгенерированные данным сервером. Для этого при определении правила для цепочки
INPUT
задается опция
– -destination-port
, а при определении правила для цепочки
OUTPUT
— опция
– -source-port
. Если вы забудете создать одно из правил, то сервер сможет получать запросы, но не сможет генерировать ответы на них, либо, наоборот, через брандмауэр будут пропускаться только данные, сгенерированные сервером, а информация, направленная серверу, будет отвергаться. Для брандмауэра, совмещенного с маршрутизатором, надо также включить в цепочку
FORWARD
правила, созданные с использованием опций
– -destination-port
и
– -source-port
, в противном случае данные через брандмауэр передаваться не будут. Вы можете использовать в качестве условий номера портов в сочетании с IP-адресами. Это позволит не только ограничить обмен определенным типом протокола, но и разрешить его лишь для отдельных компьютеров. Так, например, вы сможете создать правила, согласно которым взаимодействовать с внешними узлами по протоколу SMTP будет иметь право только почтовый сервер.

Если вы используете политику по умолчанию

DROP
или
REJECT
, вам необходимо разрешить клиентским программам взаимодействовать с внешними серверами. Для этого выполните следующие действия.

• Разрешите доступ к серверным портам внешних компьютеров. Соответствующее правило, включаемое в цепочку

INPUT
, должно создаваться с указанием опции
– -source-port
, а при создании правила, помещаемого в цепочку
OUTPUT
, должна использоваться опция
– -destination-port
. Для брандмауэра, совмещенного с маршрутизатором, необходимо также включить в цепочку
FORWARD
правила, созданные с помощью опций
– -source-port
и
– -destination-port
. Возможно, что наряду с номерами портов вам потребуется задать IP-адреса ваших компьютеров. Таким способом вам следует разрешить обращение вовне по каждому из протоколов, которые используются клиентами, выполняемыми в вашей сети.

• Разрешите доступ к непривилегированным портам компьютеров вашей сети. Номера непривилегированных портов лежат в диапазоне 1024-65535. В опциях

– -source-port
и
– -destination-port
указываются границы диапазона, разделенные двоеточием, например
– -source-port 1024:65535
. Для принимаемых пакетов вы можете указать также опцию
! syn
. Правилам, в которых указана опция
– -syn
, соответствуют только пакеты, содержащие запросы на установление соединений, а символ
!
означает отрицание, т.е. заданному правилу будут удовлетворять только пакеты, которые были переданы серверами в ответ на запросы клиентов.

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

Родословная. Том 1

Ткачев Андрей Юрьевич
1. Линия крови
Фантастика:
городское фэнтези
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Родословная. Том 1

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

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

Воин

Бубела Олег Николаевич
2. Совсем не герой
Фантастика:
фэнтези
попаданцы
9.25
рейтинг книги
Воин

Воронцов. Перезагрузка. Книга 4

Тарасов Ник
4. Воронцов. Перезагрузка
Фантастика:
попаданцы
альтернативная история
фэнтези
фантастика: прочее
6.00
рейтинг книги
Воронцов. Перезагрузка. Книга 4

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

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

Мечников. Битва умов

Алмазов Игорь
10. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Мечников. Битва умов

Кодекс Императора III

Сапфир Олег
3. Кодекс Императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Императора III

Кодекс Императора II

Сапфир Олег
2. Кодекс Императора
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Императора II

Мы – Гордые часть 8

Машуков Тимур
8. Стальные яйца
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Мы – Гордые часть 8

Мечников. Расцвет медицины

Алмазов Игорь
7. Жизнь Лекаря с нуля
Фантастика:
альтернативная история
аниме
фэнтези
5.00
рейтинг книги
Мечников. Расцвет медицины

Чужак из ниоткуда 4

Евтушенко Алексей Анатольевич
4. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда 4

Кодекс Охотника. Книга II

Винокуров Юрий
2. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
боевая фантастика
юмористическое фэнтези
5.00
рейтинг книги
Кодекс Охотника. Книга II

Дважды одаренный. Том IV

Тарс Элиан
4. Дважды одаренный
Фантастика:
городское фэнтези
альтернативная история
аниме
7.00
рейтинг книги
Дважды одаренный. Том IV

Последний Паладин. Том 12

Саваровский Роман
12. Путь Паладина
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Последний Паладин. Том 12