Основным преимуществом пакетных фильтров является их скорость. Так как пакетные фильтры обычно проверяют данные до уровня 3 модели OSI, они могут функционировать очень быстро. Также пакетные фильтры имеют возможность блокировать DoS-атаки и связанные с ними атаки. По этим причинам пакетные фильтры, встроенные в пограничные роутеры, идеальны для размещения на границе с сетью с меньшей степенью доверия. Пакетные фильтры, встроенные в пограничные роутеры, могут блокировать основные атаки, фильтруя нежелательные протоколы, выполняя простейший контроль доступа на уровне сессий и затем передавая трафик другим firewall’ам для проверки более высоких уровней стека OSI.
Рис. 1.1. Использование пограничного роутера с возможностями пакетного фильтра
На рис. 1.1 показана топология сети, использующая пограничный роутер с возможностями пакетного фильтра в качестве первой линии обороны. Роутер принимает пакеты от недоверяемой сети, которые обычно приходят от другого роутера или от Интернет Сервис Провайдера (ISP). Затем роутер выполняет контроль доступа в соответствии со своей политикой, например, блокирует SNMP, разрешает НТТР и т.п. Затем он передает пакеты более мощному firewall’у для дальнейшего управления доступом и фильтрования операций на более высоких уровнях стека OSI. На рис. 1.1 также показана промежуточная сеть между пограничным роутером и внутреннем firewall’ом, называемая DMZ-сетью.
Преимущества пакетных фильтров:
Основным преимуществом пакетных фильтров является их скорость.
Пакетный фильтр прозрачен для клиентов и серверов, так как не разрывает ТСР-соединение.
Недостатки пакетных фильтров:
Так как пакетные фильтры не анализируют данные более высоких уровней, они не могут предотвратить атаки, которые используют уязвимости или функции, специфичные для приложения. Например, пакетный фильтр не может блокировать конкретные команды приложения; если пакетный фильтр разрешает данный трафик для приложения, то все функции, доступные данному приложению, будут разрешены.
Так как firewall’у доступна ограниченная информация, возможности логов в пакетных фильтрах ограничены. Логи пакетного фильтра обычно содержат ту же информацию, которая использовалась при принятии решения о возможности доступа (адрес источника, адрес назначения, тип трафика и т.п.).
Большинство пакетных фильтров не поддерживают возможность аутентификации пользователя. Данная возможность обеспечивается firewall’ами, анализирующими более высокие уровни.
Они обычно уязвимы для атак, которые используют такие проблемы ТСР/IP, как подделка (spoofing) сетевого адреса. Многие пакетные фильтры не могут определить, что в сетевом пакете изменена адресная информация уровня 3 OSI. Spoofing-атаки обычно выполняются для обхода управления доступа, осуществляемого firewall’ом.
При принятии решений о предоставлении доступа используется небольшое количество информации.
Пакетные фильтры трудно конфигурировать. Можно случайно переконфигурировать пакетный фильтр для разрешения типов трафика, источников и назначений, которые должны быть запрещены на основе политики безопасности организации.
Следовательно, пакетные фильтры больше всего подходят для высокоскоростных окружений, когда создание логов и аутентификация пользователя для сетевых ресурсов не столь важна.
Так как современная технология firewall’а включает много возможностей и функциональностей, трудно найти firewall, который имеет возможности только пакетного фильтра. Примером может являться сетевой роутер, осуществляющий проверку списка контроля доступа для управления сетевым трафиком. Высокая производительность пакетных фильтров также способствует тому, что они реализуются в устройствах, обеспечивающих высокую доступность и особую надежность; некоторые производители предлагают аппаратные и программные решения как высоко доступные, так и особо надежные. Также большинство SOHO (Small Office Home Office) устройства firewall’ов и firewall’ов, встроенных по умолчанию в ОС, являются пакетными фильтрами.
Пример набора правил пакетного фильтра
Предположим, что в организации существует следующая топология (рис. 1.2).
Рис. 1.2. Топология сети с использованием пакетного фильтра
Таблица 1.5. Набор правил пакетного фильтра
Адрес источника
Порт источника
Адрес назначения
Порт назначения
Действие
Описание
Any
Any
192.168.1.0(рабочая станция)
>1023
Allow
Правило разрешает возвращать ТСР-соединения во внутреннюю подсеть, т.е. пользователи внутренней сети могут выходить в Интернет
192.168.1.1(пакетный фильтр)
Any
Any
Any
Deny
Защищает сам пакетный фильтр от непосредственного соединения с кем-либо
Any
Any
192.168.1.1
Any
Deny
Предотвращает непосредственный доступ всех пользователей к пакетному фильтру
192.168.1.0
Any
Any
Any
Allow
Внутренние пользователи могут иметь доступ к внешним серверам
Any
Any
192.168.1.2(SMTP-сервер)
SMTP
Allow
Разрешает всем (внешним и внутренним) пользователям посылать e-mail внутренним пользователям
Any
Any
192.168.1.3(НТТР-сервер)
НТТР
Allow
Разрешает внешним пользователям иметь доступ к WWW-серверу
Any
Any
Any
Any
Deny
"Запретить все": правило – все, что не разрешено, то запрещено
В таблице приведен пример набора правил пакетного фильтра для вымышленной сети с IP-адресами 192.168.1.0/255, т.е. локальная сеть имеет адреса в диапазоне от 192.168.1.0 до 192.168.1.254. В большинстве случаев набор правил должен быть детальнее. Обычно firewall принимает пакет, просматривает его адреса и порты источника и назначения и определяет используемый прикладной протокол. Далее firewall начинает просматривать правила сверху вниз. Если найдено правило, которое соответствует анализируемой в пакете информации, то выполняется указанное в правиле действие:
Accept (в некоторых пакетных фильтрах может быть Allow или Pass): firewall пропускает пакет через firewall, при этом может происходить создание лога, либо не происходить.
Deny: firewall отбрасывает пакет без его передачи. После того как пакет отброшен, исходной системе возвращается сообщение об ошибке ("host unreachable"). Событие "Deny" может как создавать, так и не создавать запись лога, в зависимости от конфигурации набора правил firewall’а.
Discard (в некоторых пакетных фильтрах может быть Unreach, Block или Reject): firewall не только отбрасывает пакет, но и не возвращает сообщение об ошибке исходной системе. Данное действие используется для реализации методологии "черной дыры", когда firewall не обнаруживает свое присутствие для внешней стороны. Как и для других действий, "Discard" может создавать и не создавать записи в логах.
В приведенной выше таблице первое правило разрешает, чтобы пакеты от внешних систем возвращались во внутренние системы, тем самым разрешая завершать создание соединения. Таким образом, здесь предполагается, что если инициализация соединения с внешней системой была разрешена, то возвращаемые пакеты от внешней системы должны быть также разрешены для завершения создания ТСР-соединения. Второе правило запрещает firewall’у пересылать любые пакеты с адресом источника firewall’а; данное условие предотвращает возможность атакующего подделать адрес firewall’а, заменив свой адрес на адрес firewall’а, чтобы firewall передал пакет внутреннему получателю. Здесь предполагается, что на данном хосте не установлено никаких других систем, к которым необходим доступ. В этом случае редактирование правил firewall’а возможно только с консоли хоста. Это не всегда бывает возможно. Например, может понадобиться доступ к хосту по протоколу SSH для редактирования правил самого firewall’а. Третье правило просто блокирует все пакеты от непосредственного доступа к firewall’у.
Четвертое правило разрешает внутренним системам соединяться с внешними системами, используя любые внешние адреса и любой протокол. Правила 5 и 6 разрешают внешним пакетам проходить firewall, если они содержат SMTP- или НТТР-данные. Тем самым можно сделать вывод, что политика информационной безопасности для сети следующая:
Любой тип доступа изнутри наружу разрешен.
Никакой доступ снаружи внутрь не разрешен, за исключением SMTP и НТТР.
SMTP- и НТТР-серверы расположены позади firewall’а.
На сам firewall не разрешен доступ.
Важно заметить, что если последнее правило будет случайно пропущено, весь трафик извне будет разрешен. Когда набор правил более длинный и более детальный, могут быть сделаны ошибки, которые приведут к нарушениям безопасности. Набор правил должен быть очень тщательно проверен перед его применением и регулярно проверяться не только для гарантии того, что допустимы корректные протоколы, но и также для минимизации логических ошибок при добавлении новых правил.
Важным свойством пакетных фильтров является то, что фильтрация может осуществляться как для исходящего, так и для входящего трафика. Организация может выбрать ограничение типов трафика, передаваемых из внутренней сети, например, блокирование всего исходящего FTP-трафика. На практике исходящая фильтрация чаще всего применяется к IP-адресам и приложениям для блокировки возможности соединения всех пользователей, внутренних и внешних, с некоторыми системами, такими как сам пакетный фильтр, backup-серверы и другие чувствительные системы.