Layer 7 - фильтрация

Функционал Layer 7-фильтрации обеспечивает интеллектуальное распознавание протоколов прикладного (седьмого) уровня за счет сигнатурного анализа. Трафик будет распознан, даже если приложение ведет себя достаточно динамично и использует разные сетевые порты.

С точки зрения администратора, Layer 7-фильтрация – простое решение для блокировки приложений вроде Skype и BitTorrent.

Функционал Layer 7-фильтрации основан на трех базовых механизмах:

  • libpcap

  • nDPI

  • Packet Filter

libpcap - библиотека, предоставляющая системо-независимый API для использования userland-приложениями, которые желают осуществлять захват пакетов. Существуют различные версии libpcap, которые рассчитаны на использование различных низкоуровневых механизмов захвата пакетов (PF_PACKET сокеты, PACKET_MMAP, NETMAP, PF_RING сокеты, Berkeley Packet Filter (BPF)). В функционале Layer 7-фильтрации используется libpcap и BPF.

nDPI - библиотека, предоставляющая услуги распознавания протоколов прикладного (седьмого) уровня за счет сигнатурного анализа.

Packet Filter - межсетевой экран, встроенный в ядро операционной системы FreeBSD, которая служит основой для решения TING. За счет создания временных правил Packet Filter обеспечивается блокировка трафика, захваченного с помощью libpcap и распознанного с помощью nDPI.

Функционал Layer 7-фильтрации работает следующим образом. Пользователь создает набор правил для блокировки нужных приложений/протоколов.

При обнаружении трафика, соответствующего созданным правилам, производится его блокировка:

  • Убивается сессия

  • Устанавливается временное правило Packet Filter, блокирующее соединение с клиента (хоста-источника) на удалённый хост на указанный порт

При превышении лимита на количество правил для данного клиента, он временно заносится в таблицу полной блокировки на заданный интервал времени.

Временные правила Packet Filter автоматически удаляются через указанный промежуток времени.

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

Установка плагина os-ndpi

Пройдите в раздел Система -> Прошивка -> Обновления. На вкладке Плагины нажмите на кнопку + напротив плагина os-ndpi для его установки.

После установки плагина os-ndpi, в разделе Службы появляется подраздел Анализатор трафика.

Настройка функционала

Настройка функционала осуществляется в разделе Службы -> Анализатор трафика.

Установите флаг Включить анализатор трафика для включения функционала.

../../_images/l7_settings.png

Интервал блокировки - время, через которое заблокированный клиент разблокируется.

Максимальное количество правил на клиента - при превышении этого количества клиент временно блокируется совсем, его правила удаляются.

Максимальное количество правил - ограничение на общее количество правил. При достижении этого количества, удаляются самые старые правила.

Время жизни временного правила - интервал, через который правила автоматически удаляются.

Исключения - список IP-адресов, которые нужно исключить из обработки. Трафик от данных клиентов не будет блокироваться.


Создание правила для запрета BitTorrent

Кликните на иконку + и создайте правило со следующими настройками:

Включен

Флаг установлен

Порядковый номер

Оставить по умолчанию

Отправитель

IP-адрес отправителя / IP-сеть отправителей (в нашем примере, 192.168.200.0/24)

Службы

Блокируемое приложения (в нашем примере, BitTorrent)

Разрешить

Флаг снят

Кликните на кнопку Сохранить изменения и затем на кнопку Применить.


В списке можно будеть увидеть ранее созданное правило:

../../_images/l7_rule.png

Мониторинг

../../_images/l7_status.png

На странице, доступной в разделе Службы -> Анализатор трафика -> Статус, находятся две таблицы: Статистика правил и Межсетевой экран.

В таблице Межсетевой экран, в каждой строке, есть кнопки, которые позволяют заблокировать клиента (временно, на указаный в настройках период) или разблокировать клиента, если он заблокирован в данный момент.