Фильтрация
Введение
Фильтрация трафика является основной функциональной задачей REFOS. Поэтому наличие широкого количества параметров и атрибутов, по которым система может производить фильтрацию разнородного трафика, является важной особенностью REFOS.
Основной принцип фильтрации состоит в том, что система анализирует трафик, используя набор сконфигурированных пользователем правил (ruleset). Следуя заданным параметрам правил фильтрации, система принимает решение (Действие) по каждому пакету из потока трафика.
Решение (Действие) может быть следующим:
Принимать (Accept);
Система принимает и обрабатывает все пакеты, подходящие под правила фильтрации;
Блокировать (Drop);
Система блокирует(откидывает) все пакеты, подходящие под правила фильтрации;
Отклонять (Reject);
Система блокирует(откидывает) все пакеты, подходящие под правила фильтрации и отправляет ответное ICMP-сообщение об ошибке;
Важным параметром фильтрации является Направление. В данном случае речь идет о трафике, который должна обработать система.
Трафик условно можно разделить на:
Входящий;
Трафик, который непосредственно предназначается системе (любой службе, сервису). В заголовке пакетов трафика IP-адрес получателя является любой интерфейс системы.
Исходящий;
Трафик, который непосредственно инициируется самой системой (службой, сервисом). В заголовке пакетов трафика IP-адрес отправителя является любой интерфейс системы.
Транзитный;
Трафик, который не предназначается и не инициируется системой. Т.е. данный трафик имеет отличные IP-адреса отправителя и получателя в заголовке пакет от IP-адреса интерфейсов системы. В данном случае система должна принять, обработать (фильтрация, коммутация, маршрутизация) и отправить в место назначения данный трафик.
Важно
Входящий трафик обрабатывается Направлением Input.
Важно
Исходящий трафик обрабатывается Направлением Output.
Важно
Транзитный трафик обрабатывается Направлением Forward.
При конфигурировании правила фильтрации важно выбрать корректное Направление трафика. Все транзитные пакеты, которые не предназначаются и не инициируются системой, должны обрабатываться Направлением Forward. Правила фильтрации с Направлением Input и Output будут игнорировать транзитные пакеты. Аналогичная ситуация с входящим и исходящим трафиком. Например, если необходимо заблокировать доступ по протоколу SSH к системе (REFOS), в данном случае в правиле фильтрации должно использоваться Направление Input, т.к. предполагаемый блокируемый трафик будет предназначаться системе (REFOS).
Приоритет обработки трафика правилами фильтрации
Правила фильтрации имеют свой приоритет. Трафик обрабатывается правилами фильтрации сверху вниз, т.е. чем выше правило фильтрации находится в списке правил, тем выше его приоритет.
Например, в списке правил фильтрации на рисунке, система произведет обработку трафика правилами фильтрации поочередно сверху вниз. Если параметры трафика не попали под условия фильтрации всех правил, система использует стандартную политику фильтрации.
Список фильтрации правил представлен на рисунке.
Стандартная политика фильтрации трафика
Стандартная политика фильтрации позволяет принимать или блокировать весь трафик, который не попал под другие сконфигурированные правила фильтрации. Условно стандартной политикой фильтрации можно назвать правило с самым низким приоритетом, которое принимает или блокирует трафик. Т.е. трафик обработается стандартной политикой фильтрации в любом случае, если не обработался по условиям правил фильтрации с более высоким приоритетом.
Существует несколько политик фильтрации:
Стандартная политика INPUT;
Стандартная политика OUTPUT;
Стандартная политика FORWARD;
Стандартная политика DNAT;
Стандартная политика SNAT.
Каждое Направление обрабатывается своей стандартной политикой.
Конфигурация производится в разделе Межсетевой экран - Настройки - Общие настройки.
По умолчанию все политики сконфигурированы на прием любого трафика.
Важно
Правильной практикой является ограничение трафика в стандартных политиках фильтрации Input, Output, Forward. Т.е. трафик, который не попал под условия правил фильтрации с более высоким приоритетом, должен быть заблокирован стандартной политикой фильтрации.
Журналирование позволяет фиксировать обработку трафика стандартной политикой фильтрации. По умолчанию журналирование отключено.
Политики DNAT и SNAT должны использоваться с большей осторожностью. При использовании параметра Сбросить, все пакеты, поступающие на обработку, будут отброшены, несмотря на правила фильтрации с более высоким приоритетом.
Важно
Для правильного функционирования фильтра системы. Политики DNAT и SNAT должны использовать параметр Принимать (установлен по умолчанию).
Настройки параметров безопасности
Интерфейсы системы логически разделены на две зоны – LAN и WAN. Сделано это с целью повысить безопасность доступа к системе. По умолчанию весь трафик на интерфейсах LAN для всех Направлений разрешен. Для интерфейсов WAN по умолчанию сконфигурирован набор правил фильтрации по доступу к системе, представленный в таблице:
Направление |
Правило фильтрации |
---|---|
Input |
Запрещен Web доступ |
Output |
Запрещен SSH доступ Запрещен ответ на ICMP-запросы |
Так как Направления Input и Output при конфигурации правил фильтрации используются крайне редко, в основном обработка касается транзитных пакетов Направлением Forward, поэтому присутствует возможность ограничить использование данных Направлений – параметры:
Предотвращение конфигурации INPUT правил;
Предотвращение конфигурации OUTPUT правил.
Настройки параметров безопасности показаны на рисунке
Основные параметры правил фильтрации
REFOS позволяет производить фильтрацию по разным уровням OSI: L2, L3, L4 и выше.
Основные параметры фильтрации представлены в таблице
Пример конфигурации правила с основными параметрами
Предположим, что необходимо произвести фильтрацию транзитного трафика с определенными параметрами и определенным Действием
В данном случае, следуя заданным параметрам транзитного пакета, необходимо сконфигурировать правило фильтрации. Т.к. планируется обработка транзитного пакета, использоваться будет Направление Forward.
Добавление правил фильтрации происходит в разделе Межсетевой экран - Правила фильтрации, используя соответствующий интерфейс.
Lite DPI. Фильтрация трафика по смещению
Механизм Lite DPI позволяет производить фильтрацию по смещению в пакете, а также предусматривает фильтрацию по основным параметрам промышленных протоколов.
Фильтрация по смещению в пакете
Любой передаваемый блок данных (PDU) можно представить в виде набора битов. Профиль Смещение позволяет указать место в блоке данных (с определенного бита/байта) и задать значение, по которому необходимо производить фильтрацию. Т.е. система при обработке блока данных будет анализировать заданную последовательность битов/байтов и сопоставлять эти значения с заданными параметрами фильтрации.
При конфигурации профиль Смещение позволяет задать параметры смещения:
Заголовок;
Смещение в битах;
Длину анализируемой части в битах;
Значение по которому необходимо анализировать заданную часть.
Пример
Предположим, необходимо анализировать значение в поле Sequence Number (Raw) TCP-сегмента
Если представить данный блок данных в байтах, тогда значение поля Sequence Number (Raw) будет доступно в 38-41 байте и принадлежит заголовку TCP-сегмента. В данном случае для анализа этого поля необходимое смещение является 37 байт, а анализировать необходимо 4 байта.
Для корректной конфигурации необходимо задать Заголовок и значение Смещение в битах. Т.к. значение поля Sequence Number (Raw) находится в TCP сегменте, корректно задать в параметрах Начать с – Сетевой уровень и Смещение – 32. Сетевой уровень заканчивается на 33 байте (смещение до 33 байта) и Смещение 32 бита (4 байта) – это часть заголовка транспортного уровня. Т.е. 37 байта (33+4) полностью игнорируются(смещаются) для обработки и анализируется только 4 байтовое(32 бита) поле Sequence Number (Raw).
Фильтрация по основным параметрам промышленных протоколов
Система позволяет производить фильтрацию по основным параметрам промышленных протоколов MQTT и ModBus.
Профили фильтрации протокола MQTT
Профиль Connect представлен на рисунке.
Включает параметры Client ID, Client name, Client password.
Профиль Subscribe представлен на рисунке.
Включает параметры Message Id, Topic.
Профиль Publish представлен на рисунке.
Включает параметры Message + Topic length, Topic length, Topic, Сообщение.
Профиль Unsubscribe представлен на рисунке.
Включает параметры Message ID, Topic.
Профиль Disconnect представлен на рисунке.
Включает параметры Messsage type.
Профили фильтрации протокола ModBus
Профиль Transaction ID представлен на рисунке.
Включает параметры ModBus field type, Operation, Данные.
Профиль Unit ID представлен на рисунке.
Включает параметры ModBus field type, Операция, Данные.
Профиль Function code представлен на рисунке.
Включает параметры ModBus field type, Операция, Данные.