id: Гость   вход   регистрация
текущее время 14:35 28/03/2024
создать
просмотр
редакции
ссылки

Функциональность PF


Набор функий, предоставляемых PF, включает фильтрацию пакетов как с учетом состояния (stateful), так и без (stateless), классификацию пакетов по различным критериям (протокол, порт, тип пакета, адрес источника и назначения, флаги пакета, поле опций IP-пакета, поле TOS), нормализацию и пересборку пакетов, перенаправление соединений, NAT, аутентификацию пользователей с помощью pfauth, определение ОС (OS fingerprinting), поддержку таблиц для блокировки спама и управление полосой пропускания сети. Последнее осуществляется системой ALTQ: она была разработана еще до PF в рамках проекта OpenBSD для управления балансировкой загрузки полосы пропускания и приоритезации пакетов, а со временем была интегрирована с PF. Все это разнообразие доступно для построения высоконадежного шлюза или моста.


В OpenBSD 3.5 были представлены новые функции – CARP и pfsync, предназначенные для построения избыточных (redundant) сетей с автоматическим восстановлением после сбоев. Протокол CARP – это свободная альтернатива протокола VRRP (Virtual Router Redundancy Protocol, RFC 2281, RFC 3768), его функция – организовать совместное использование одного ip-адреса группой систем в одном сегменте сети. Интеграция этих средств с пакетным фильтром PF имеет ставит целью предложить мощное средство для создания избыточной группы файрволов. pfsync выполняет функции синхронизации таблицы состояний между отдельными системами такой группы.

Техника Stateful Packet Inspection (SPI)


Пакетные фильтры, не поддерживающие методы stateful inspection, сравнивают каждый пакет со списком статичных правил. Если пакет отвечает правилу, его пересылка разрешается. Система не ведет учет того, что было передано ранее, и был ли пакет частью нормального сеанса. Например, если прибывает пакет с флагами SYN+ACK, адресуемый системе внутри сети, пакетный фильтр пропускает его. Что вполне естественно, поскольку он, очевидно, является ответом на запрос установки соединения, пришедший изнутри сети. Но поскольку такой пакетный фильтр не знает, кто послал запрос, нет возможности определить, действительно ли пакет прислан в ответ на законный запрос изнутри контролируемой сети. А это делает сеть уязвимой перед атаками, использующими лавинную рассылку пакетов SYN+ACK. Это лишь один из многочисленных возможных примеров.


Техника SPI призвана организовать защиту от подобных неприятностей. Когда клиент отправляет SYN, пакетный фильтр создает соответствующую запись в таблице состояний и ждет ответного пакета SYN+ACK. Если входящий пакет SYN+ACK не имеет соответствующей записи в таблице состояний, он отбрасывается. Подобная тактика также приводит к значительному упрощению правил фильтрации.


К протоколу UDP понятие состояния соединения фактически неприменимо, как и к ICMP, но PF умеет работать и с ними с применением техники SPI. В случае с UDP соединения различаются по номерам портов и IP-адресам пакетов UDP. Первый прибывший пакет создает запись в таблице состояний. Если целевой узел отвечает на протяжении определенного периода времени, PF ститает этот сеанс связи за установившимся двусторонним соединением.


ICMP пакеты можно разделить на две категории: сообщения об ошибках, которые должны приходить в ответ на пакеты другого протокола, и сообщения типа запрос/ответ. Сообщение об ошибке пропускается, если факт обмена данными посредством другого протокола зафискирован в таблице состояний. Пары же запрос/ответ образуют собственные состояния, подобно UDP, то есть сообщению ICMP Echo Reply должно предшествовать ICMP Echo Request.


Таблица состояний в пакетном фильтре PF хранится в структуре данных под названием AVL-дерево, которая обеспечивает высокую эффективность и стабильное время поиска O(log m), где m – число состояний, независимо от размеров таблицы. Таблицы же правил фильтрации хранятся в связанных списках, где среднее время поиска в О-нотации имеет вид O(n), где n – число правил в наборе. При этом стоимость операции сравнения в таблице состояний выше, чем стоимость операции сравнения в таблице правил, что обеспечивает прирост произодительности при использовании техники SPI: в таком случае только первый пакет соединения сравнивается с таблицей правил, а последующие – только с таблицей состояний.


Назад | Дальше


 
Комментариев нет [показать комментарии/форму]
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3