Рекомендации по обновлению WAF‑ноды¶
Этот документ содержит общие рекомендации к процессу обновления WAF‑ноды до версии 3.6, а также описание возможных рисков и способов их минимизации.
Обновление разных типов ноды Вебмониторэкс и критические изменения
- При обновлении ноды версии 2.18 и ниже обратите внимание, что версии 3.x содержат критические изменения. Перед обновлением мы рекомендуем внимательно изучить набор изменений и учесть изменение конфигурации при планировании обновления.
- Мы рекомендуем обновить как клиентские, так и партнерские ноды (ноды с мультиарендной опцией) всех версий до последней версии (3.6). Более ранние версии скоро перестанут поддерживаться.
Общие рекомендации¶
-
Планируйте обновление WAF‑ноды и контролируйте процесс обновления. Ориентировочные даты выхода новых версий WAF‑ноды публикуются в политике версионирования ноды.
-
Если в вашей инфраструктуре установлено несколько WAF‑нод, обновляйте их поочередно. Если в течение суток после обновления первой WAF‑ноды все модули работают корректно, выполните поочередное обновление других WAF‑нод с интервалом в сутки.
-
Если вы используете разные среды для разработки и для боевого трафика, сначала примените и проверьте новую версию в среде разработки или тестирования, затем в боевой среде. Подробные рекомендации описаны в инструкции по настройке WAF‑ноды для изолированных сред.
-
Перед обновлением ноды, отключите движение трафика через ноду любым доступным методом (например, переключите режим фильтрации трафика в
off
). -
После обновления ноды, переключите режим фильтрации трафика в
monitoring
. Если в режимеmonitoring
в течение суток все модули работают корректно и нет аномального роста в количестве ложных атак, переведите ноду в режимblock
. -
Обновляйте NGINX до последней доступной версии перед применением обновлений WAF‑ноды. Если в вашей инфраструктуре необходимо использовать другую версию NGINX, пожалуйста, напишите в техническую поддержку Вебмониторэкс для сборки модуля WAF для кастомной версии NGINX.
Риски при обновлении¶
Ниже приведены риски, возможные при обновлении WAF‑ноды. Чтобы снизить влияние риска на систему, следуйте соответствующим рекомендациям.
Изменения в функциях WAF‑ноды¶
Версия 3.x несовместима с версиями 2.18 и ниже и включает в себя критические изменения. Если вы используете версию ноды 2.x, при планировании обновления учтите изменение конфигурации ноды.
Набор изменений при обновлении ноды 3.4 или 3.2 до версии 3.6
Показать изменения на отдельной странице
При обновлении с ноды версии 3.4
В новой версии ноды:
- Обновлена версия Community Ingress‑контроллера NGINX, на котором основан Ingress-контроллер Вебмониторэкс. Ранее использовалась версия 0.26.2, теперь — 1.1.3.
Инструкция по миграции на новую версию 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
Параметры с устаревшими названиями временно поддерживаются, но в будущих релизах их поддержка прекратится полностью. Логика параметров не изменилась.
-
-
Изменилось название аннотации 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 →
При обновлении с ноды версии 3.2
В новой версии ноды вам будут доступны все изменения, описанные выше, а также:
-
Поддержка CloudLinux OS 6.x
-
Поддержка Debian 11.x Bullseye
-
Новая переменная окружения
WALLARM_APPLICATION
для Docker‑контейнера Вебмониторэкс на основе NGINX. В переменной передается идентификатор для обозначения защищенного приложения в Вычислительном кластере Вебмониторэкс.Инструкция по запуску Docker‑контейнера Вебмониторэкс на основе NGINX →
Набор изменений при обновлении ноды 2.18 и ниже до версии 3.6
Показать изменения на отдельной странице
Поддерживаемые формы установки
- Обновлена версия Community Ingress‑контроллера NGINX, на котором основан Ingress-контроллер Вебмониторэкс. Ранее использовалась версия 0.26.2, теперь — 1.1.3.
Инструкция по миграции на новую версию Ingress‑контроллера Вебмониторэкс →
-
Добавлена поддержка AlmaLinux, Rocky Linux и Oracle Linux 8.x в связи с прекращением поддержки CentOS 8.x.
Пакеты ноды для альтернативной операционной системы будут храниться в репозитории CentOS 8.x.
-
Добавлена поддержка CloudLinux OS 6.x
- Добавлена поддержка Debian 11.x Bullseye
- Прекращена поддержка Ubuntu 16.04 LTS (xenial)
Полный список поддерживаемых форм установок →
Требования к системе для установки ноды
Начиная с версии 3.x, нода поддерживает работу с белыми, черными и серыми списками IP‑адресов. Вы можете добавить в список как одиночные IP-адреса, так и страны или дата-центры.
Чтобы при анализе запросов нода использовала актуальный список IP-адресов, которые зарегистрированы в стране, регионе или дата-центре из списков IP, нода должна иметь доступ к адресам, с которых они скачиваются. Обеспечение доступа к этим адресам — новое требование к виртуальной машине, на которую устанавливается нода.
Диапазоны IP-адресов, к которым необходимо обеспечить доступ:
Режимы фильтрации трафика
-
Новый режим фильтрации трафика — мягкая блокировка.
Использование режима мягкой блокировки позволяет значительно снизить уровень ложных срабатываний на атаки за счет блокировки только тех запросов, которые содержат признаки атаки и отправлены с IP-адресов из серого списка.
-
Теперь нода анализирует источник запросов только в режиме мягкой или обычной блокировки.
В выключенном режиме (
off
) и режиме мониторинга (monitoring
), нода:-
Не блокирует запросы, отправленные с IP‑адресов из черного списка
-
В режиме мониторинга выгружает в Вычислительный кластер Вебмониторэкс данные об атаках, отправленных с IP‑адресов из белого списка
-
Подробнее о режимах работы ноды Вебмониторэкс →
Управление источниками запросов
Прекращена поддержка следующих параметров для управления источниками запросов:
-
Всех
acl
директив NGINX и переменных окружения, которые использовались для настройки черных списков IP-адресов. Теперь дополнительная настройка черных списков через конфигурационные файлы не требуется.
Появились новые возможности для управления источниками запросов:
- Полное управление белым, черным и серым списками IP-адресов через Консоль управления Вебмониторэкс.
-
Поддержка фильтрации трафика в режиме мягкой блокировки и поддержка серого списка IP-адресов.
Использование серых списков в режиме мягкой блокировки позволяет значительно снизить уровень ложных срабатываний на атаки за счет блокировки только тех запросов, которые содержат признаки атаки и отправлены с IP-адресов из серого списка.
Для автоматического добавления адресов в серый список вы можете использовать новый триггер Добавить IP в серый список.
-
Автоматическое добавление IP-адресов Сканера Вебмониторэкс в белый список. Теперь добавлять IP-адреса Сканера в белый список вручную не требуется.
-
Управление блокировкой групп IP-адресов, которые зарегистрированы в определенной стране, регионе, дата-центре, являются адресами узлов Tor или сети VPN.
-
Возможность выбрать приложения, к которым необходимо ограничить или разрешить доступ, при добавлении IP‑адресов в списки.
-
Новая директива NGINX
disable_acl
. Данная настройка позволяет выключить анализ источников запросов на совпадение с данными из списков IP-адресов.
Подробнее о добавлении IP-адресов в белый, черный и серый списки →
Новый модуль для построения структуры API
Теперь нода поставляется с новым модулем ПроAPI Структура, который строит структуру ваших API на основе реального трафика приложений.
Подробнее о ПроAPI Структура →
По умолчанию библиотека выключена. Мы рекомендуем ее включить для более качественного обнаружения атак.
Подробнее о библиотеке libdetection →
Обновление страницы блокировки запросов
Обновлена страница блокировки /usr/share/nginx/html/wallarm_blocked.html
. Обновлен внешний вид, добавлена возможность настроить логотип и почту для обращений.
Подробнее о настройке страницы блокировки →
Новые параметры для базовой настройки ноды
-
Новые переменные окружения для Docker‑контейнера Вебмониторэкс на основе NGINX:
-
WALLARM_APPLICATION
. В переменной передается идентификатор для обозначения защищенного приложения в Вычислительном кластере Вебмониторэкс. -
NGINX_PORT
. В переменной передается порт, который будет использовать NGINX внутри Docker-контейнера.
Инструкция по запуску Docker‑контейнера Вебмониторэкс на основе NGINX →
-
-
Новые параметры конфигурационного файла
node.yaml
для настройки синхронизации Вычислительного кластера Вебмониторэкс и ноды:api.local_host
иapi.local_port
. С помощью этих параметров вы можете задать локальный IP-адрес и порт сетевого интерфейса, через который отправляются запросы к Вебмониторэкс API.
Переименованные параметры, файлы и метрики
-
Изменились названия следующих директив NGINX:
-
NGINX:
wallarm_instance
→wallarm_application
-
NGINX:
wallarm_local_trainingset_path
→wallarm_custom_ruleset_path
-
NGINX:
wallarm_global_trainingset_path
→wallarm_protondb_path
Параметры с устаревшими названиями временно поддерживаются, но в будущих релизах их поддержка прекратится полностью. Логика параметров не изменилась.
-
-
Изменилось название аннотации 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
. -
Изменилось название метрики collectd:
gauge-lom_id
→gauge-custom_ruleset_id
.Сервис временно возвращает как метрику с устаревшим названием, так и с новым. В будущих релизах поддержка устаревшей метрики прекатится полностью.
Параметры сервиса статистики
-
Сервис статистики теперь учитывает запросы, отправленные с IP‑адресов из черного списка. Количество таких запросов записывается в новый параметр
blocked_by_acl
, а также учитывается в параметрахrequests
иblocked
. -
Изменились названия параметров статистики ноды Вебмониторэкс:
-
lom_apply_time
→custom_ruleset_apply_time
-
lom_id
→custom_ruleset_id
Эндпоинт
http://127.0.0.8/wallarm-status
временно возвращает как параметры с устаревшими названиями, так и с новыми. В будущих релизах устаревшие параметры будут удалены. -
Новые ложные срабатывания¶
Качество анализа трафика повышается с каждой новой версией WAF‑ноды, соответственно снижается количество ложных срабатываний. Но каждое защищаемое приложение имеет особенности, поэтому мы рекомендуем проанализировать работу новой версии WAF‑ноды в режиме monitoring
перед включением режима блокировки (block
).
Чтобы проанализировать количество новых ложных срабатываний после обновления:
-
Разверните новую версию WAF‑ноды в режиме
monitoring
и направьте на нее трафик. -
Через некоторое время перейдите в Консоль управления Вебмониторэкс → секция События и проанализируйте количество запросов, которые ошибочно распознаны как атаки.
-
При обнаружении аномального роста в количестве ложных срабатываний, пожалуйста, напишите в техническую поддержку Вебмониторэкс.
Увеличение количества потребляемых ресурсов¶
Настройка новых возможностей продукта может вызвать изменение в количестве потребляемых ресурсов. Информация о возможных изменениях указывается в разделе Что нового.
Также, рекомендуется проводить мониторинг работы WAF‑ноды: при обнаружении значительных отличий в фактическом количестве потребляемых ресурсов и в количестве, описанном в документации, пожалуйста, свяжитесь с технической поддержкой Вебмониторэкс.
Процедура обновления¶
Процедура обновления WAF‑ноды зависит от платформы и формы установки. Выберите форму установки и следуйте инструкциям по обновлению: