Что нового в ноде Вебмониторэкс версии 4.0¶
Опубликована новая мажорная версия Вебмониторэкс! С новым релизом 4.0, механизм обнаружения атак стал еще более удобным в использовании и качественным.
Критические изменения в наборе метрик¶
Начиная с версии 4.0, недоступны следующие метрики collectd:
-
curl_json-wallarm_nginx/gauge-requests
— вы можете использовать аналогичную метрику,curl_json-wallarm_nginx/gauge-abnormal
-
curl_json-wallarm_nginx/gauge-attacks
-
curl_json-wallarm_nginx/gauge-blocked
-
curl_json-wallarm_nginx/gauge-time_detect
-
curl_json-wallarm_nginx/derive-requests
-
curl_json-wallarm_nginx/derive-attacks
-
curl_json-wallarm_nginx/derive-blocked
-
curl_json-wallarm_nginx/derive-abnormal
-
curl_json-wallarm_nginx/derive-requests_lost
-
curl_json-wallarm_nginx/derive-tnt_errors
-
curl_json-wallarm_nginx/derive-api_errors
-
curl_json-wallarm_nginx/derive-segfaults
-
curl_json-wallarm_nginx/derive-memfaults
-
curl_json-wallarm_nginx/derive-softmemfaults
-
curl_json-wallarm_nginx/derive-time_detect
Критическое изменение: Изменения в требованиях к системе для установки ноды¶
Начиная с версии 4.0, фильтрующая нода выгружает данные в Вычислительный кластер Вебмониторэкс, используя адрес api.wallarm.ru:443
вместо api.wallarm.ru:444
.
Если ваш сервер с фильтрующей нодой имеет ограниченный доступ к внешним ресурсам и доступ настраивается для каждого ресурса отдельно, после обновления до версии 4.0 синхронизация ноды с Вычислительным кластером остановится. Чтобы возобновить синхронизацию, в конфигурационных файлах замените порт для адресов Вебмониторэкс API, указанных для каждого из ресурсов.
Единый метод регистрации нод в Вычислительном кластере Вебмониторэкс¶
Начиная с версии 4.0, на любой платформе установки можно использовать токен для регистрации ноды в Вычислительном кластере Вебмониторэкс. В предыдущих версиях на некоторых платформах требовалась пара "email пользователя-пароль".
Единый метод регистрации нод по токену обеспечивает более безопасное и быстрое подключение к Вычислительному кластеру:
-
Для синхронизации ноды и Вычислительного кластера не требуется поддерживать отдельные аккаунты пользователей с ролью Деплой.
-
Личные данные пользователей остаются в пределах Вычислительного кластера Вебмониторэкс.
-
Нет необходимости отключать механизм двухфакторной аутентификации, обеспечивающий защиту данных аккаунтов пользователей.
-
Можно использовать одну ноду для первичной обработки трафика и пост-анализа запросов, если они выполняются на разных серверах.
В связи с изменениями в способах регистрации нод, изменяются типы нод:
-
Для обозначения ноды с единым способом регистрации появился новый тип — нода Вебмониторэкс. Нода подключается к Вычислительному кластеру по токену с помощью скрипта
register-node
.В версиях 3.6 и ниже этот тип ноды назывался облачная нода. Нода подключалась к Вычислительному кластеру также по токену, но с помощью другого скрипта,
addcloudnode
.Миграция с облачной ноды на ноду Вебмониторэкс не требуется.
-
Локальная нода считается устаревшей. Локальная нода подключалась к Вычислительному кластеру по паре "email пользователя-пароль" с помощью скрипта
addnode
.Теперь при установке модуля Вебмониторэкс для NGINX регистрация ноды будет выглядеть следующим образом:
- Создать ноду в Консоли управления и скопировать сгенерированный токен.
-
Запустить на сервере скрипт
register-node
, используя скопированный токен.В Docker-контейнер токен передается в новой переменной окружения
WALLARM_API_TOKEN
.
Поддержка локальной ноды
В версии 4.0 нода локального типа считается устаревшей, но еще поддерживается. В будущих релизах поддержка локальной ноды прекратится полностью.
Рекомендуется заменить локальную ноду на ноду Вебмониторэкс заранее. Инструкции по обновлению включают шаги по миграции на новый тип ноды.
Упрощенная конфигурация ноды Вебмониторэкс с мультиарендной опцией¶
Теперь при настройке ноды Вебмониторэкс с мультиарендной опцией тенанты и приложения задаются с помощью отдельных директив:
-
UUID тенанта задается в конфигурации с помощью новой директивы NGINX
wallarm_partner_client_uuid
. -
Изменилось поведение директивы NGINX
wallarm_application
: теперь они используются только для задания уникальных идентификаторов защищаемых приложений.
Инструкция по обновлению ноды с мультиарендной опцией
Переименованные параметры, файлы и метрики¶
-
Изменились названия следующих директив NGINX:
- NGINX:
wallarm_ts_request_memory_limit
→wallarm_general_ruleset_memory_limit
Параметры с устаревшими названиями временно поддерживаются, но в будущих релизах их поддержка прекратится полностью. Логика параметров не изменилась.
- NGINX:
-
Файл закрытого ключа
/etc/wallarm/license.key
переименован в/etc/wallarm/private.key
. Начиная с версии ноды 4.0 по умолчанию используется новое имя закрытого ключа.
Возможность блокировать запросы с IP-адресов из черного списка без поиска признаков атак¶
Добавлена новая директива NGINX wallarm_acl_access_phase
, с помощью которой вы можете увеличить производительность ноды Вебмониторэкс следующим образом:
-
По умолчанию фильтрующая нода блокирует запросы с IP-адресов из черного списка только после анализа запросов на наличие атак.
-
Включение
wallarm_acl_access_phase on
меняет операции местами: блокировка запросов с IP-адресов из черного списка будет происходить сразу, без поиска атак в запросах. Это существенно снижает нагрузку на CPU ноды.
Качество обнаружения атак¶
Обновлена версия библиотеки libdetection. С помощью библиотеки libdetection теперь можно обнаружить еще больше признаков атак.
Новые переменные для настройки расширенного логирования ноды¶
Изменились следующие переменные ноды для настройки расширенного логирования:
-
Переменная
wallarm_request_time
переименована вwallarm_request_cpu_time
– время, потраченное CPU машины с фильтрующей нодой на выполнение запроса.Переменная с предыдущим названием временно поддерживается, но в будущих релизах ее поддержка прекратится полностью. Логика переменной не изменилась.
-
Добавлена переменная
wallarm_request_mono_time
. Значение переменной складывается из суммы следующих показателей:- Время, потраченное CPU машины с фильтрующей нодой на выполнение запроса.
- Время ожидания в очереди на выполнение.
Правило для настройки обнаружения атак типа overlimit_res
¶
Теперь можно настраивать обнаружение атак типа overlimit_res
с помощью специального правила в Консоли управления.
В связи с этим, устарели следующие директивы NGINX:
-
Директива NGINX
wallarm_process_time_limit
, которые использовались для установки собственного лимита времени на обработку одного запроса.Теперь лимит задается с помощью правила.
-
Директива NGINX
wallarm_process_time_limit_block
, которые задавали режим блокировки атак типаoverlimit_res
.Если создано правило, нода будет блокировать атаки типа
overlimit_res
в соответствии с общим режимом фильтрации.
Полная поддержка параметров прекратится в будущих релизах. Если параметры явно заданы в конфигурационных файлах и правило еще не настроено, поведение ноды соответствует значениям параметров. Однако рекомендуется перенести настройки в правило заранее, соответствующие шаги приведены в инструкциях по обновлению модулей.
При обновлении с ноды версии 3.4¶
В новой версии ноды вам будут доступны все изменения, описанные выше, а также:
-
Обновлена версия Community Ingress‑контроллера NGINX, на котором основан Ingress-контроллер Вебмониторэкс. Ранее использовалась версия 0.26.2, теперь — 1.3.0.
Инструкция по миграции на новую версию Ingress‑контроллера Вебмониторэкс →
-
Добавлена поддержка AlmaLinux, Rocky Linux и Oracle Linux 8.x в связи с прекращением поддержки CentOS 8.x.
Пакеты ноды для альтернативной операционной системы будут храниться в репозитории CentOS 8.x.
-
Обновлен пример страницы блокировки
/usr/share/nginx/html/wallarm_blocked.html
. Обновлен внешний вид, добавлена возможность настроить логотип и почту для обращений.Теперь по умолчанию страница выглядит следующим образом:
-
Изменились названия следующих директив NGINX:
- NGINX:
wallarm_instance
→wallarm_application
- NGINX:
wallarm_local_trainingset_path
→wallarm_custom_ruleset_path
- NGINX:
wallarm_global_trainingset_path
→wallarm_protondb_path
Параметры с устаревшими названиями временно поддерживаются, но в будущих релизах их поддержка прекратится полностью. Логика параметров не изменилась.
- NGINX:
-
Изменилось название аннотации Ingress:
nginx.ingress.kubernetes.io/wallarm-instance
→nginx.ingress.kubernetes.io/wallarm-application
.Аннотация с устаревшим названием временно поддерживается, но в будущих релизах ее поддержка прекратится полностью. Логика аннотации не изменилась.
-
Изменилось название файла со сборкой индивидуальных правил:
/etc/wallarm/lom
→/etc/wallarm/custom_ruleset
. Теперь на ноду выгружается файл только с новым названием.В директиве NGINX
wallarm_custom_ruleset_path
изменилось значение по умолчанию, новое значение —/etc/wallarm/custom_ruleset
. -
Изменились названия параметров статистики ноды Вебмониторэкс:
lom_apply_time
→custom_ruleset_apply_time
lom_id
→custom_ruleset_id
Эндпоинт
http://127.0.0.8/wallarm-status
временно возвращает как параметры с устаревшими названиями, так и с новыми. В будущих релизах устаревшие параметры будут удалены. -
Изменилось название метрики collectd:
gauge-lom_id
→gauge-custom_ruleset_id
.Сервис временно возвращает как метрику с устаревшим названием, так и с новым. В будущих релизах поддержка устаревшей метрики прекатится полностью.
-
Новая переменная окружения
NGINX_PORT
для Docker‑контейнера Вебмониторэкс на основе NGINX. В переменной передается порт, который будет использовать NGINX внутри Docker-контейнера.Инструкция по запуску Docker‑контейнера Вебмониторэкс на основе NGINX →
При обновлении с ноды версии 2.18¶
Если вы обновляете ноду версии 2.18, доступные изменения приведены в отдельном списке.
Какие ноды рекомендуется обновить?¶
-
Клиентские ноды и ноды с мультиарендной опцией версии 3.x, чтобы поддерживать модули в актуальном состоянии и избегать использования устаревших версий.
-
Клиентские ноды и ноды с мультиарендной опцией версии 2.18 и ниже. Версия 2.18 больше не поддерживается, а изменения в новых версиях упрощают настройку ноды и повышают качество фильтрации трафика. Обратите внимание, что некоторые настройки ноды 2.18 несовместимы с новой версией ноды.
Процедура обновления¶
-
Ознакомьтесь с рекомендациями по обновлению модулей.
-
Обновите модули, следуя подходящей инструкции: