[an error occurred while processing this directive]
Пакетный фильтр является главным модулем системы, который принимает решения, разрешить или запретить конкретному пакету пройти через межсетевой экран. Это означает, что определенный сервис разрешен или запрещен.
Чтобы решать, какие действия следует выполнять для каждого полученного межсетевым экраном пакета, пакетный фильтр использует набор правил, которые описываются системным администратором. Для каждого пакета межсетевой экран просматривает весь набор правил в порядке их создания, проверяя, удовлетворяет ли пакет какому-либо из них. Если соответствующее правило существует, то в соответствии с ним будет выполняться заданное действие. Если данный пакет не удовлетворяет ни одному из правил, то будет выполняться действие по умолчанию.
Действия традиционного пакетного фильтра основаны исключительно на наборе правил, описанных администратором. Для каждого пакета, который может проходить через фильтр, администратор должен создать необходимое правило. В некоторых случаях это достаточно просто, однако иногда такая процедура невозможна, или по крайней мере невозможна без соблюдения необходимого уровня безопасности и гибкости.
Пакетный фильтр межсетевого экрана Aker называется фильтром с контролем состояния, так как он сохраняет информацию о состоянии по каждому проходящему через него соединению, и использует всю эту информацию совместно с набором правил при решении вопроса о том, пропустиь или отбросить конкретный пакет. Кроме того, в отличие от пакетного фильтра, который принимает решения, основаваясь только на данных в заголовке пакета, фильтр с контролем состояния проверяет данные всех уровней и использует их при принятии решений.
Рассмотрим подробнее, как фильтр с контролем состояния решает различные проблемы, которые возникают при использовании обычного пакетного фильтра.
Проблема с UDP протоколом:
Для того, чтобы использовать UDP сервис, клиент выбирает номер порта (который меняется каждый раз при использовании сервиса) и посылает пакет на порт сервера, соответствующий данному сервису (порт на сервере фиксирован). Получив запрос, сервер посылает в ответ один или более пакетов на порт клиента. Для образования соединения необходимо, чтобы межсетевой экран принимал пакеты запросов и ответов. Проблема заключается в том, что UDP протокол не является протоколом, ориентированным на соединение, т.е. если рассматривается отдельный изолированный пакет вне контекста, то невозможно узнать, является ли он запросом или ответом некоторого сервиса.
В обычных пакетных фильтрах администратор может либо блокировать весь UDP трафик, либо позволить пройти пакетам ко всем возможным портам, так как он не знает заранее, какой порт будет выбран клиентом для доступа к определенному сервису. Оба эти подхода обладают очевидными недостатками.
Межсетевой экран Aker способен динамически адаптироваться к трафику при решении вышеупомянутых проблем: каждый раз, когда UDP пакет соответствует какому-либо правилу, во внутреннюю таблицу состояний добавляется элемент. Это позволяет пропускать к клиенту обратные пакеты от сервера.
Этот элемент является активным в течение короткого промежутка времени, по истечении которого он удаляется (этот временной интервал устанавливается через окно параметров настройки, которое рассматривается в главе 4 Настройка параметров системы). В результате администратору не приходится за ботиться об ответных UDP пакетах; для разрешения доступа к сервисам необходим о только настроить правила для данного сервиса. Это легко сделать, так как все сервисы имеют фиксированные порты.
Проблема с FTP протоколом:
FTP является одним из самых популярных протоколов в Интернет, однако, он же является и одним из наиболее сложных протоколов для межсетевых экранов.Рассмотрим более подробно его функциональные свойства:
Для получения доступа к FTP сервису клиент открывает TCP соединение с 21 портом на сервере (порт клиента может быть различным). Такое соединение называется контрольным каналом. После этого при любой перекачке файла или просмотре каталога устанавливается новое соединение - образуется канал передачи данных. Последний можно установить двумя способами:
В обоих указанных случаях администратор не знает, какие порты будут выбраны для установления канала передачи данных, и если он хочет использовать FTP протокол через традиционный пакетный фильтр, он будет вынужден разрешить доступ ко всем возможным портам, используемым клиентами и серверами. Этот подход может привести к серьезным проблемам с безопасностью.
Межсетевой экран Aker умеет анализировать трафик по контрольному каналу, т.е. он может понять, какой тип соединения будет использоваться ( активный или пассивный) и какие порты будут использованы для установления канала передачи данных. Благодаря этому свойству, каждый раз, когда пакетный фильтр определяет, что будет иметь место передача данных, он добавляет элемент в таблицу состояний. Этот элемент активен только во время передачи и только при открытом контрольном канале. Таким образом, для настройки доступа по FTP протоколу необходимо лишь добавить правило, разрешающее доступ к 21 порту. Все остальное будет сделано автоматически.
Проблема с Real Audio протоколом:
Протокол Real Audio является наиболее распространенным протоколом для аудио и видео передач через Интернет в режиме реального времени.
Для передачи видео или аудио информации клиент устанавливает TCP соединение с сервером Real Audio. Чтобы улучшить качество аудио и видео передачи, наряду с этим соединением, сервер может открыть UDP соединение с клиентом, с произвольным портом, а клиент в свою очередь может открыть другое UDP соединение с сервером (также с произвольным портом).
Обычные пакетные фильтры не позволяют устанавливать UDP соединения от сервера к клиенту и наоборот, поскольку порты заранее неизвестны, что приводит к понижению качества аудио и видео данных.
Фильтр межсетевого экрана Aker контролирует весь трафик между сервером Real Audio и клиентом, проверяя какие UDP соединения открыты и к каким портам и добавляя эту информацию в таблицу состояний. Этот элемент активен только в период открытого контрольного FTP соединения, что обеспечивает высокий уровень безопасности.
Перед тем как рассказать, как настраивать пакетный фильтр межсетевого экрана Aker, полезно пояснить, как описывать правила в обычном пакетном фильтре.
Существуют несколько возможных параметров при фильтрации пакетов. Наиболее простой является адресная фильтрация; она состоит в сравнении адресов в пакете с адресами, прописанными в правилах. Если адреса совпадают, пакет пропускается. Это сравнение производится следующим образом:
Рассмотрим следующее правило: все хосты сети 10.1.x.x могут взаимодействовать с хостами сети 10.2.x.x. Запишем это правило, используя нотацию, приведенную в главе 5 Регистрация объектов Мы имееем:
10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 ------- Источник ------ -----Назначение -----
Теперь применим правило к пакету, который отправлен от хоста 10.1.1.2 к хосту 10.3.7.7. Наложим маску к обоим адресам - адресу в правиле и адресу в пакете. Затем проверим, одинаковы ли адреса источника и назначения. В результате будем иметь:
Для адреса источника:
10.1.0.0 И 255.255.0.0 = 10.1.0.0 (для правила) 10.1.1.2 И 255.255.0.0 = 10.1.0.0 (для пакета)
После применения маски оба адреса совпадают. Проверим теперь адрес назначения:
10.2.0.0 И 255.255.0.0 = 10.2.0.0 (для правила) 10.3.7.7 И 255.255.0.0 = 10.3.0.0 (для пакета)
Так как адреса назначения пакета и правила после применения маски не совпадают, то это правило не должно применяться к данному пакету.
Эта операция выполняется по всему списку адресов и масок источника и назначения до достижения конца списка или до тех пор, пока пакет не будет удовлетворять одному из правил. Список правил имеет следующий формат:
10.1.1.2 & 255.255.255.255 - 10.2.0.0 & 255.255.0.0 10.3.3.2 & 255.255.255.255 - 10.1.2.1 & 255.255.255.255 10.1.1.0 & 255.0.0.0 - 10.2.3.0 & 255.255.255.0 10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0
Кроме адресов источника и назначения, каждый IP пакет заключает в себе информацию об используемых протоколе и сервисе. Ее можно использовать как дополнительный параметр фильтрации.
Например, сервисы в протоколе TCP всегда связаны с портом (за дальнейшей информацией обращайтесь к главе 5 Регистрация объектов). В результате можно привести в соответствие список портов с адресами.
Воспользуемся для примера двумя хорошо знакомыми сервисами, POP3 и HTTP. POP3 использует порт 110, а HTTP - порт 80. Следовательно, мы можем добавить эти порты в описание правила. В результате получим:
10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 TCP 80 110 ------ Источник ------ ----- Назначение------ Протокол --Порты--
Это правило разрешает каждому пакету, следующему от сети 10.1.x.x к сети 10.2.x.x и использующему сервисы HTTP и POP3, проходить через межсетевой экран.
Сначала адреса из правила сравниваются с адресами пакета. Если после наложения маски оба адреса совпадают, протокол и порт назначения в пакете будут сравниваться с протоколом и списком портов, описанных в правиле. Если протокол совпадает, а порт в правиле одинаков с портом пакета, то такой пакет удовлетворяет правилу. В противном случае поиск будет продолжен в списке правил.
С учетом этой новой информации набор правил будет иметь следующий формат:
10.1.1.2 & 255.255.255.255 - 10.2.0.0 & 255.255.0.0 UDP 53 10.3.3.2 & 255.255.255.255 - 10.1.2.1 & 255.255.255.255 TCP 80 10.1.1.0 & 255.0.0.0 - 10.2.3.0 & 255.255.255.0 TCP 21 20 113 10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 ICMP 0 8
Кроме этих основных параметров фильтрации можно добавить еще несколько. Одним из них является сетевой интерфейсисточника; используя имя сетевого интерфейса в качестве параметра фильтрации можно разрешить прохождение пакетов с определенными адресами только от заданного интерфейса
Цель такой процедуры состоит в блокировании атаки, известной как IP спуфинг, суть которой состоит в том, что во внутреннюю сеть посылается пакет с фальшивым адресом источника ( из внутренней сети). При использовании в качестве параметра имени сетевого интерфейса можно легко блокировать этот вид атаки. Например, если внутренняя сеть взаимодействует с межсетевым экраном через интерфейс de0, то необходимо лишь установить в правилах, что пакеты с адресом источника из внутренней сети следует принимать, только если они пришли от данного интерфейса; во всех других случаях они будут отбрасываться.
С учетом нового параметра взятое для примера правило будет иметь следующий формат:
10.1.0.0 & 255.255.0.0 - 10.2.0.0 & 255.255.0.0 <ep0 TCP 80 110 ------- Источник --------- Назначение ----- -Интерф- -Протокол- --Порты--
Это правило устанавливает, что будут приниматься TCP пакеты от хостов из сети 10.1.0.0 к хостам из сети 10.2.0.0, приходящие от интерфейса ep0 и относящиеся к HTTP сервису (порт 80) или POP3 (порт 110).
Создавать правила фильтрации для межсетевого экрана Aker просто. Все описания IP адресов, масок, протоколов и портов производятся при создании объектов (смотрите главу 5 Регистрация объектов). Это облегчает создание правил, так как при этом не приходится беспокоиться, какой порт использует определенный сервис или какие IP адреса используются в сети. Кроме того, все наиболее распостраненные в Интернет сервисы описаны заранее, что позволяет избежать напрасной траты времени на поиск соответствующих значений.
По существу, для создания правила администратор должен указать объекты источника и назначения и сервисы; все эти данные будут составлять правило. Можно также указать сетевой интерфейс для входящих пакетов и описать временной период ( в часах и днях недели), в течение которого правило будет действовать. Если пакет послан в промежуток времени, когда данное правило не активно, это правило не будет учитываться, и поиск будет продолжен далее по списку правил
Принцип работы фильтра заключается в следующем: межсетевой экран будет проверять по порядку все описанные администратором правила, до тех пор, пока не будет найдено соответствующее правило. Затем будет выполнено соответствующее правилу действие - пропустить, отказать или отбросить( эти действия будут пояснены в следующем разделе). Если поиск достигает конца списка и пакет не удовлетворяет ни одному из правил, такой пакет будет отброшен. (Можно определить действие, выполняемое в этом случае. Этот вопрос будет обсуждаться в главе 4 Настройка параметров системы.)
Интерфейс источника пакета проверяется после проверки адресов источника и назначения, но до проверки других параметров фильтрации. Если пакет проходит через интерфейс, отличный от указанного в правиле, он отбрасывается, а поиск в списке правил прерывается, даже если пакет удовлетворяет другим критериям фильтрации.
Для получения доступа к окну настройки правил фильтрации вам нужно:
Окно правил фильтрации
Окно правил показывает все правила фильтрации, описанные в межсетевом экране Aker. Каждое правило будет показано на отдельной строке, состоящей из нескольких ячеек. При выделении одного из правил оно будет показано окрашенным в другой цвет.
Указание: если эта опция не установлена, а правило имеет больше двух объектов в полях источника, назначения или сервисах, то в каждом из полей, содержащем больше двух объектов, будет показана направленная вниз стрелка.
Чтобы выполнить любую операцию на конкретном правиле, достаточно нажать правой клавишей мыши по этому правилу. Появится следующее меню: (Это меню будет появляться каждый раз, когда вы нажимаете на правую клавишу мыши, даже если не выделено никаких правил. При этом будут доступны только опции Добавить и Вставить).
Указание: все эти опции, за исключением опции отменить выделение, можно выполнять через инструментальное меню, расположенное в верхней части окна. В этом случае сначала выделите правило, нажав на нем левой клавишей мыши, а затем выберите нужную опцию.
При добавлении или редактировании правил будет показано окно свойств:
Окно свойств одного правила
Окно свойств используется для настройки всех параметров правила. Оно состоит из следующих полей:
Объекты источника: Это поле определяет объекты, адреса которых будут сравниваются с адресом источника IP пакетов.
Объекты назначения: Это поле определяет объекты, адреса которых будут сравниваются с адресом назначения IP пакетов.
Сервисы: Это поле описывает сервисы, используемые в правиле.
Интерфейс: Поле определяет разрешенный интерфейс для входящих пакетов. Значение любой отменяет проверку по этому полю. Если интерфейс выбран, то будут приниматься пакеты, приходящие только от этого интерфейса. Для выделения интерфейса нужно только нажать на направленной вниз стрелке сбоку от поля. После этого система покажет список всех сетевых интерфейсов, опознанных межсетевым экраном.
Статистика: Это поле определяет, какое действие будет выполняться системой, когда пакет удовлетворяет данному правилу. Она состоит из нескольких опций, которые можно выделять независимо. Значения этих опций таковы:
Статистика: Если эта опция установлена, то все пакеты, удовлетворяющие данному правилу, будут регистрироваться в системном журнале.
Почта: Если эта опция установлена, то по электронной почте будет посылаться одно сообщение каждый раз, когда пакет удовлетворяет правилу (настройка адреса электронной почты рассматривается в главе 4 Настройка параметров системы).
Прерывание: Если эта опция установлена, то для каждого пакета, удовлетворяющего данному правилу, будет посылаться SNMP прерывание (настройка параметров прерываний будет рассмотрена в главе 4 Настройка параметров системы).
Программа: Если эта опция установлена, то каждый раз, когда пакет удовлетворяет данному правилу, будет выполняться описанная администратором программа (настройка имени выполняемой программы будет рассмотрена в главе 4 Настройка параметров системы).
Тревога: Если эта опция установлена, то каждый раз, когда пакет удовлетворяет данному правилу, межсетевой экран покажет окно предупреждений. Это окно появится на хосте, на котором открыт удаленный графический интерфейс и, если возможно, будет звучать предупреждающий сигнал. Если графический интерфейс пользователя не открыт, то не появится никаких сообщений, а эта опция не будет учитываться.
Для протоколов, использующих TCP, определенные в правиле действия будут выполняться только при установленном соединении. В случае UDP протокола, действия будут выполняться для всех пакетов, посланных клиентом и удовлетворяющих данному правилу (но не ответные пакеты).
Дйствие правила:Это поле определяет, какое действие будет выполнено для всех пакетов, удовлетворяющих данному правилу. Оно состоит из следующих опций:
Пропускать: Эта опция означает, что пакетам, удовлетворяющим правилу, разрешается пройти через межсетевой экран.
Не пропускать: Эта опция означает, что пакеты, удовлетворяющие правилу, не пройдут через межсетевой экран, причем хосту источника будет посылаться ICMP destination unreachable сообщение (хост назначения недоступен). Эта опция не работает для некоторых типов ICMP сообщений.
Отбрасывать: Эта опция означает, что пакеты, удовлетворяющие данному правилу, не пройдут через межсетевой экран, при этом не будут посылаться какие-либо пакеты хосту источника.
Комментарий: Поле комментариев к правилу. Оно может быть полезным для хранения информации об использовании правила.
Временная таблица: Эта кнопка позволяет получить доступ к окну временной таблицы активного правила . Если нажать эту кнопку, появится следующее окно:
Эта таблица определяет часы и дни недели, в течение которых применимо правило. Строки представляют дни недели, а колонки - часы. Если правило в данный период времени должно действовать, квадратик в таблице следует заполнить. Для облегченя процесса настройки можно нажать левую клавишу мыши на квадрате и двигать курсор, сохраняя клавишу нажатой. При этом таблица будет модифицироваться в соответствии с перемещением мыши.
Каждое из полей объектов источника, назначения и сервисов состоит из двух списков. Левый список содержит все объекты системы, которые можно добавить в выделенное поле. Правый список содержит все объекты, которые уже добавлены в поле.
Чтобы добавить объект в одно из этих полей, нужно сделать следующее:
Использование интерфейса командной строки для настройки правил фильтрации немного затруднительно, что связано с большим количеством параметров в командной строке.
Используя интерфейс командной строки невозможно настроить временную таблицу для правила. Все правила, добавленные через этот интерфес, считаются действующими без ограничений по времени. Невозможно также определить более одного объекта в поле источника или назначения.
Путь: /etc/firewall/fwregra
Синтаксис:
fwregra [help | show] fwregra remove <pos> fwregra add <pos> <source> <destination> <accept | reject | discard> <Interface> [log] [mail] [trap] [program] [alert] [<service> ...]
Program help:
Aker Firewall - Version 3.0
fwregra - настройка таблицы правил для пакетного фильтра
Usage: fwregra [help | show]
fwregra remove <pos>
fwregra add <pos> <source> <destination>
<accept | reject | discard> <Interface>
[log] [mail] [trap] [program] [alert] [<service> ...]
show = показывает все правила фильтрации
add = добавляет новое правило фильтрации
remove = удаляет существующее правило фильтации
help = показывает данное сообщение
Для добавления правила
accept - правило пропускает удовлетворяющие ему пакеты
reject - правило не пропускает удовлетворяющие ему пакеты и посылает ICMP destination unreachable сообщение источнику
discard - правило не пропускает пакеты (при этом никакие ICMP пакеты не отсылаются)
interface - определяет разрешенный сетевой интерфейс для пакетов (это может быть имя интерфейса, например en0, ep0, или слово ANY, если допустим любой интерфейс )
log - регистрирует все пакеты, удовлетворяющие данному правилу
mail - посылает e-mail сообщение для каждого пакета, удовлетворяющего данному правилу
trap - генерирует SNMP прерывание (trap) для каждого пакета, удовлетворяющего данному правилу
program - запускает программу для каждого пакета, удовлетворяющего правилу
alert - открывает окно предупреждений для каждого пакета, удовлетворяющего правилу
service - показывает список сервисов для нового правила
Для команды удаления правила:
pos = номер правила, удаляемого из таблицы
Пример 1: (Просмотр правил фильтрации)
#/etc/firewall/fwregra show Rule 01 ------- Source : Internet Destination: firewall cache Action : Discard Interface: Any Log: Log Trap Alert Services : all_tcp all_udp all_icmp Rule 02 ------- Source : cache firewall Destination: Internet Action : Accept Interface: de0 Log: Log Services : http ftp Rule 03 ------- Source : Internet Destination: Mail server Action : Accept Interface: de1 Log: Log Services : smtp Rule 04 ------- Source : External Companies Destination: Aker Action : Accept Interface: de1 Log: Log Services : smtp
Пример 2: (Удаление правила N 4)
#/etc/firewall/fwregra remove 4 Rule 4 removed
Пример 3: (Добавление нового правила в конец таблицы)
#/etc/firewall/fwregra add end Internet "Mail server" accept de1 log smtp Rule added at position 4
Объекты Internet и Mail server , также как и сервис smtp должны быть зарегистрированы в системе. Более подробно о регистрации объектов описано в главе 5 Регистрация объектов.
Если имена объектов содержат пробелы, то их необходимо заключить в кавычки " " .