Версия v26.04
Обновление до версии v26.04 следует выполнять согласно специальной инструкции.
В версии v26.04 добавлено: автозахват пакетов в общую защиту, улучшения ISN-агента, динамическое семплирование sFlow, страница соотношения Flow/SNMP в Collector, режим распределения обработки GRE-трафика по ядрам, режим пропуска трафика выше лицензионной полосы, графики трафика из внутренней сети в политиках защиты, обновлена версия PostgreSQL.
Расширена функциональность контрмер ACL, ACL6, ACLI, LACL, LACL6, SCAN, ATLS, ITLS, SPLI, DNS, DNS6, TCP6, USF, BPF, LIM, а также Collector, HPD, PCAP, страницы «Обзор», «Анализ Flow», «Журнала событий» и именованных наборов правил фильтрации.
Внесены множественные улучшения в UX.
Изменения версии v26.04
HPD. Детектор адресной защиты
Добавлена возможность помечать в HPD трафик по данным Collector
Теперь детектор адресной защиты может помечать трафик на IP-адреса, для которых на Collector обнаружено превышение порога, для этого требуется установить флаг «Применять активацию на основании детектирования коллектора» в карточке HPD и задать правила для коллектора трафика на странице «Правила детектирования».
Добавлено журналирование причины срабатывания HPD
В Журнале адресной активации теперь сохраняется не только факт активации механизма для конкретного IP-адреса, но также причина активации и правило, при его наличии.
instance_id,instance_name,created_at,action,dst_ip,reason,rule
1,Mitigator0,2022-09-02 10:44:31.53622 +0000 UTC,added,10.0.2.254,LimitBps,BITS 200 ACL udp
1,Mitigator0,2022-09-02 10:44:41.51245 +0000 UTC,added,10.0.2.254,UntrustedSource,Увеличен максимальный лимит битов
Автодетектирование
Добавлено отключение тестового режиме механизмом автодетектирования
Добавлены пороги <element>.TestMode.*, которые управляют тестовым режимом работы контрмеры.
Логика их работы идентична логике работы порогов без TestMode в названии,
кроме нюансов именования:
-
Для двусторонних порогов, как правило, выполняется соотношение
Xxx.TestMode.Yyy.On < Xxx.TestMode.Yyy.Off, потому что тестовый режим имеет смысл отключать при превышении порога, а включать, когда трафик опускается ниже определенной отметки. -
В наборах
Diff-порогов по абсолютному изменению за такт вместоOffFactorиOffMin*присутствуютOnFactorиOnMin*, имеющие тот же смысл, но применительно к включению тестового режима. -
В наборах
Ratio-порогов по относительному изменению за такт,Xxx.TestMode.Yyy.Ratio.On < Xxx.TestMode.Yyy.Ratio.Off, потому что тестовый режим имеет смысл отключать при резком росте трафика.
PCAP. Захват пакетов
Добавлен автозахват пакетов в общую защиту
Изменено время автоматического удаления PCAP
Политики защиты
Добавлены графики трафика из внутренней сети в политиках защиты
Добавлена проверка TCP опции Timestamps ISN-агентом
Теперь при проверке SYN+ACK пакетов можно выбрать режим обработки без учета Timestamp.
Так как не все серверы отправляют Timestamp, проверку можно отключить, установив флаг «Без timestamp» в настройках синхронизации параметров сессии для конкретного сервера. Параметр применяется на все серверы, которые перечислены в строке. Если нужно применить только для одного, то нужно вынести его в отдельную запись. Если агент синхронизации используется в нескольких политиках защиты, и хотя бы в одной из них параметр «Без timestamp» задан, то будет применяться во всех политиках.
Контрмеры
BPF. Удалены функции работы с VLAN ID в mitigator_bpf.h
Из публичного API BPF-программ удалены функции работы с VLAN ID. Если эти функции использовались в ваших программах для BPF, при их пересборке с новым заголовком mitigator_bpf.h необходимо добавить эти функции в исходный код программы:
#define VLAN_ID_MASK 0x0fff
/** @brief Get VLAN ID from 802.1q header. */
LOCAL uint16_t
vlan_get_id(const struct VlanHeader* vlan) {
return bswap16(vlan->control) & VLAN_ID_MASK;
}
/**
* @brief Set VLAN ID in 802.1q header.
*
* If you don't need to keep rarely used DEI and PRI, a faster alternative is:
* @code
* vlan->control = bswap16(id);
* @endcode
*/
LOCAL void
vlan_set_id(struct VlanHeader* vlan, uint16_t id) {
uint16_t bits = vlan->control & ~bswap16(VLAN_ID_MASK);
vlan->control = bswap16(bswap16(bits) | id);
}DNS. Добавлены графики по типам запросов
USF. Изменены графики отслеживаемых сессий
Теперь на графиках контрмеры отображается количество сессий, наблюдаемых как внутри окна глубины игнорирования последних сессий, так и за его пределами:
-
USF Allowed sessions– число отслеживаемых сессий, которые наблюдались за пределами окна глубины игнорирования последних сессий; -
USF Ignored sessions– число отслеживаемых сессий, которые наблюдались только внутри окна глубины игнорирования последних сессий.
SCAN. Добавлена возможность задавать количество уникальных IP-адесов и портов назначения
ACL. Добавлена поддержка алиаса icmp6 в правилах
icmp6 вместо protocol 58.
ACL. Добавлены действия BYPASS и COUNT BYPASS
sFlow
Добавлено динамическое семплирование при отправке sFlow
Collector
Добавлена страница для отображения соотношения среднего трафика на интерфейсах источника Flow
На страницу «Источники Flow» добавлена вкладка «Соотношение Flow/SNMP», на которой отображается статистика по трафику на всех интерфейсах источника, полученная по Flow и SNMP.
На вкладке также задается «Допустимое отклонение», определяющее, насколько отношение величин средней скорости трафика, полученной по Flow к полученной по SNMP, может отличаться от единицы. Например, при допустимом отклонении 10% нормальным считается значение отношения в диапазоне от 0.9 до 1.1.
Если отклонение в соотношении значений средней скорости трафика, полученных по Flow, к полученным по SNMP превышает допустимое, это может означать, что система настроена некорректно, либо данные не поступают. Для таких интерфейсов в строке появляется соответствующая индикация.
Добавлен новый статус интерфейса источника Flow
Теперь в колонке «Статус» таблицы интерфейсов источника Flow у интерфейса отображается один из трех статусов по данным из SNMP:
- статус интерфейса UP;
- статус интерфейса DOWN;
- статус интерфейса неизвестен.
Logan
Добавлено отрицание в регулярных выражениях
Теперь в правилах для компонентов request, referer и user-agent можно указывать отрицание через ключевое слово “not”.
Примеры:
# Заблокировать на 300 секунд IP-адрес, запросивший у web-сервера любой URI кроме
# `/api/some/magic/uri`:
block 300 not request /api/some/magic/uri
# Заблокировать на 600 секунд IP-адрес, с которого поступил
# запрос, содержащий в заголовке User-Agent любое значение кроме 123:
block 600 not user-agent 123
# Создать запись в журнале событий в случае получения от IP-адреса
# запроса, содержащего в заголовке Referer любое значение кроме "^https://domain":
alert not referer "^https://domain"Core
Добавлен режим распределения обработки GRE-трафика по ядрам
При активации функции «GRE-туннель со сторонним сервисом» в настройках экземпляра обработка GRE-трафика по умолчанию выполняется только на одном ядре CPU. Если флаг установлен, будет выполняться балансировка между всеми ядрами. Настройка применима только, если используются сетевые карты Mellanox, для других сетевых карт настройка игнорируется.
Обновлена версия PostgreSQL
Изменена логика конфигурирования pgfailover
Ранее параметры pgfailover задавались в command: сервиса pgfailover в файле
docker-compose.failover.yml. При обновлении файла пользовательские изменения
приходилось переносить вручную.
Теперь параметры pgfailover задаются переменными окружения в .env,
а нестандартный список серверов — в docker-compose.override.yml.
При будущих обновлениях достаточно будет просто скачать актуальный
docker-compose.failover.yml.
ISN-агент
Обновлен ISN-агент для версии v25.06+
Синхронизация данных
Добавлена поддержка DNAT механизмом активной синхронизации
Добавлена поддержка DNAT механизмом синхронизации таблиц
Именованные списки
Добавлено ограничение на размер правил в именованном наборе правил фильтрации
Страница «Обзор»
Страница «Анализ Flow»
Добавлена категория виджетов для построения графиков по пропущенному трафику
Журнал событий
Добавлено журналирование путей к файлам захвата пакетов
Добавлено журналирование токена при срабатывании действия ALERT в Logan
Интерфейс
Добавлена возможность задавать значения порогов с разными десятичными приставками
Для повышения удобства задания порогов и упрощения восприятия уже заданных добавлена возможность изменять десятичные приставки при указании значения.
В качестве эксперимента, в текущий момент функциональность добавлена в HPD, BPF, LIM и TAP-интерфейс, в дальнейшем планируем распространить изменение на все остальные механизмы и контрмеры.
Унифицирован порядок следования даты и времени в полях, отображающих время выполнения действия
Теперь во всех элементах интерфейса, где указывались дата и время выполнения действия, порядок указания
одинаков: yyyy-mm-dd HH:MM:SS.