Wallarm Node — Обновление 2.12

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

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

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

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

  • Добавлена группировка атак;
  • В парсер htmljs добавлено распознавание URL-кодировки;
  • Добавлена возможность ограничения времени обработки данных за одну итерацию;
  • Добавлена директива wallarm_request_chunk_size для ограничения количества байт в параметре, обрабатываемых за одну итерацию;
  • Добавлены страницы для отображения заблокированному пользователю;
  • Удален параметр time_tnt из статистики фильтрующего узла;
  • Добавлено сохранение информации о факте приема запроса полностью;
  • Исправлен расчет времени, отображаемого в параметре time_detect статистики фильтрующего узла;
  • Внесены улучшения, направленные на оптимизацию обработки запросов и повышение отказоустойчивости системы.

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

Установите tarantool/1.11.0, в который добавлена поддержка нового формата сериализованных запросов.

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

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

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

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

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

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

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

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

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

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

В связи с ограничениями сервера 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 стало всегда равно нулю, в связи с чем он больше не отображается в статистике фильтрующего узла.

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

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

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

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

Увеличение потребления памяти

После обновления до версии 2.12 возможно увеличение потребления памяти до 15%.

results matching ""

    No results matching ""