Перейти к содержанию

Обновления в Валарм WAF 2.12

Критическое изменение

Собственная сборка NGINX со встроенным модулем Валарм удалена

Теперь поддерживается только динамически подключаемый модуль NGINX.

Изменения в системе

  • Добавлена группировка атак

  • В парсер htmljs добавлено распознавание URL-кодировки

  • Добавлена возможность ограничения времени обработки данных за одну итерацию

  • Добавлена директива wallarm_request_chunk_size для ограничения количества байт в параметре, обрабатываемых за одну итерацию

  • Добавлены страницы для отображения заблокированному пользователю

  • Удален параметр time_tnt из статистики WAF‑ноды

  • Добавлено сохранение информации о факте приема запроса полностью

  • Исправлен расчет времени, отображаемого в параметре time_detect статистики WAF‑ноды

  • Добавлены параметры статистики WAF‑ноды: stalled_workers_count и stalled_workers

  • Доступна установка Валарм WAF в кластере Kubernetes

  • Внесены улучшения, направленные на оптимизацию обработки запросов и повышение отказоустойчивости системы

Перед обновлением до версии 2.12

Установите пакет wallarm-tarantool версии 1.11.0 или выше. Начиная с этой версии, в wallarm-tarantool добавлена поддержка нового формата сериализованных запросов.

Добавлена группировка атак

Теперь, если при обработке запроса было создано несколько одинаковых атак, относящихся к одной части запроса, они будут добавлены в одну группу атак.

Если пометить атаку из группы, обнаруженную парсером htmljs или percent, как ложное срабатывание, то WAF‑нода будет относиться ко всем атакам в этой группе как к ложным срабатываниям.

Warning

Возможно увеличение количества ложных срабатываний среди атак, обнаруженных в теле запроса.

В парсер htmljs добавлено распознавание URL-кодировки

Теперь парсер htmljs обрабатывает части запросов в URL-кодировке.

Добавлена возможность ограничения времени обработки данных за одну итерацию

Если в запросе передается большой объем данных, то их обработка может оказаться слишком длительной. При помощи новой директивы wallarm_timeslice, можно ограничивать время, затрачиваемое WAF‑нодой на одну итерацию обработки запроса.

Новая директива wallarm_timeslice может использоваться в сочетании с добавленной ранее директивой wallarm_process_time_limit:

  • Директива wallarm_process_time_limit устанавливает общий лимит времени, затрачиваемого WAF‑нодой суммарно на все итерации обработки одного запроса;

  • Директива wallarm_timeslice устанавливает квант времени, выделяемый WAF‑нодой на одну итерацию обработки запроса до переключения на следующий запрос. По истечении этого кванта времени WAF‑нода перейдет к обработке следующего запроса в очереди. После совершения одной итерации обработки для всех других запросов очередь снова перейдет к первому запросу.

Info

В связи с ограничениями сервера NGINX, для работы директивы wallarm_timeslice необходимо отключить буферизацию запросов. Для этого установите значение off в директиве NGINX proxy_request_buffering.

Добавлена директива wallarm_request_chunk_size

Директива wallarm_request_chunk_size позволяет ограничить размер части параметра, обрабатываемой за одну итерацию. По умолчанию это ограничение равно 8 Кб. Вы можете установить собственное значение директивы wallarm_request_chunk_size в байтах, присвоив ей числовое значение. Директива также поддерживает значения с постфиксами:

  • k или K для указания размера в килобайтах;

  • m или M для указания размера в мегабайтах;

  • g или G для указания размера в гигабайтах.

Добавлены страницы для отображения заблокированному пользователю

Теперь Вы можете настроить отображение страницы блокировки по умолчанию заблокированному пользователю. На ней динамически отображаются заблокированный IP‑адрес, дата блокировки и идентификатор запроса, в ответ на который показана страница блокировки.

Для того, чтобы отображать заблокированному пользователю страницу блокировки, снимите комментарий с директивы wallarm_block_page в конфигурационном файле, удалив символ # из начала строки. Вы также можете заменить страницу по умолчанию на собственную страницу блокировки, изменив значение директивы wallarm_block_page.

Удален параметр time_tnt

из‑за перехода на асинхронное выполнение в одном из прошлых обновлений, значение параметра time_tnt стало всегда равно нулю, в связи с чем он больше не отображается в статистике WAF‑ноды.

Сохранение информации о факте приема запроса полностью

Раньше запрос мог быть принят не полностью после обнаружения атаки в заголовке или теле запроса. Теперь, если запрос полностью принят и проанализирован, информация об этом будет отображаться в веб‑интерфейсе.

Исправлен расчет времени, отображаемого в параметре time_detect

Параметр time_detect в статистике WAF‑ноды теперь отображает точное время анализа сериализованных запросов в секундах.

Увеличение потребления ресурсов

После обновления до версии 2.12 на WAF‑ноде возможно увеличение потребления вычислительных ресурсов (процессор и оперативная память) процессами NGINX на 15%.

Добавлены параметры stalled_workers_count и stalled_workers в статистику WAF‑ноды

  • Параметр stalled_workers_count в статистике WAF‑ноды отображает количество воркеров, которые обрабатывают запрос дольше, чем установленное временное ограничение (значение директивы wallarm_stalled_worker_timeout).

  • Параметр stalled_workers в статистике WAF‑ноды отображает список идентификаторов воркеров, которые обрабатывают запрос дольше, чем установленное временное ограничение (значение директивы wallarm_stalled_worker_timeout), и количество затраченного ими времени на обработку запроса.

Доступна установка Валарм WAF в кластере Kubernetes

Теперь вы можете установить Валарм WAF в кластере Kubernetes. Выберите подходящий способ установки и следуйте инструкциям ниже: