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

Рекомендации по обновлению WAF‑ноды

Этот документ содержит общие рекомендации к процессу обновления WAF‑ноды до версии 3.6, а также описание возможных рисков и способов их минимизации.

Обновление разных типов ноды Валарм и критические изменения

  • При обновлении ноды версии 2.18 и ниже обратите внимание, что версии 3.x содержат критические изменения. Перед обновлением мы рекомендуем внимательно изучить набор изменений и учесть изменение конфигурации при планировании обновления.
  • Мы рекомендуем обновить как клиентские, так и партнерские ноды (ноды с мультиарендной опцией) всех версий до последней версии (3.6). Более ранние версии скоро перестанут поддерживаться.

Общие рекомендации

  • Планируйте обновление WAF‑ноды и контролируйте процесс обновления. Ориентировочные даты выхода новых версий WAF‑ноды публикуются в политике версионирования ноды.

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

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

  • Перед обновлением WAF‑ноды, переключите режим работы WAF‑ноды в monitoring. Если в режиме monitoring в течение суток все модули работают корректно и нет аномального роста в количестве ложных атак, переведите WAF‑ноду в режим 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 и параметров Envoy:

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

  • Изменилось название аннотации 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 и в параметре Envoy custom_ruleset изменилось значение по умолчанию, новое значение — /etc/wallarm/custom_ruleset.

  • Изменились названия параметров статистики ноды Валарм:

    • lom_apply_timecustom_ruleset_apply_time

    • lom_idcustom_ruleset_id

    Эндпоинт http://127.0.0.8/wallarm-status временно возвращает как параметры с устаревшими названиями, так и с новыми. В будущих релизах устаревшие параметры будут удалены.

    Подробнее о сервисе статистики →

  • Изменилось название метрики collectd: gauge-lom_idgauge-custom_ruleset_id.

    Сервис временно возвращает как метрику с устаревшим названием, так и с новым. В будущих релизах поддержка устаревшей метрики прекатится полностью.

    Все метрики collectd →

  • Новая переменная окружения NGINX_PORT для Docker‑контейнера Валарм на основе NGINX. В переменной передается порт, который будет использовать NGINX внутри Docker-контейнера.

    Инструкция по запуску Docker‑контейнера Валарм на основе NGINX →

При обновлении с ноды версии 3.2

В новой версии ноды вам будут доступны все изменения, описанные выше, а также:

Набор изменений при обновлении ноды 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)
  • Версия Envoy в Docker‑образе Валарм на основе Envoy обновлена до 1.18.4

Полный список поддерживаемых форм установок →

Требования к системе для установки ноды

Начиная с версии 3.x, нода поддерживает работу с белыми, черными и серыми списками IP‑адресов. Вы можете добавить в список как одиночные IP-адреса, так и страны или дата-центры.

Чтобы при анализе запросов нода использовала актуальный список IP-адресов, которые зарегистрированы в стране или дата-центре из списков IP, нода должна иметь доступ к адресам, с которых они скачиваются. Обеспечение доступа к этим адресам — новое требование к виртуальной машине, на которую устанавливается нода.

Диапазоны IP-адресов, к которым необходимо обеспечить доступ:

Режимы фильтрации трафика

  • Новый режим фильтрации трафика — мягкая блокировка.

    Использование режима мягкой блокировки позволяет значительно снизить уровень ложных срабатываний на атаки за счет блокировки только тех запросов, которые содержат признаки атаки и отправлены с IP-адресов из серого списка.

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

    В выключенном режиме (off) и режиме мониторинга (monitoring), нода:

    • Не блокирует запросы, отправленные с IP‑адресов из черного списка

    • В режиме мониторинга выгружает в Облако Валарм данные об атаках, отправленных с IP‑адресов из белого списка

Подробнее о режимах работы ноды Валарм →

Управление источниками запросов

Прекращена поддержка следующих параметров для управления источниками запросов:

  • Всех acl директив NGINX, параметров Envoy и переменных окружения, которые использовались для настройки черных списков IP-адресов. Теперь дополнительная настройка черных списков через конфигурационные файлы не требуется.

    Подробнее о миграции настроек черных списков →

Появились новые возможности для управления источниками запросов:

  • Полное управление белым, черным и серым списками IP-адресов через Консоль управления Валарм.
  • Поддержка фильтрации трафика в режиме мягкой блокировки и поддержка серого списка IP-адресов.

    Использование серых списков в режиме мягкой блокировки позволяет значительно снизить уровень ложных срабатываний на атаки за счет блокировки только тех запросов, которые содержат признаки атаки и отправлены с IP-адресов из серого списка.

    Для автоматического добавления адресов в серый список вы можете использовать новый триггер Добавить IP в серый список.

  • Автоматическое добавление IP-адресов Сканера Валарм в белый список. Теперь добавлять IP-адреса Сканера в белый список вручную не требуется.

  • Управление блокировкой групп IP-адресов, которые зарегистрированы в определенной стране, дата-центре, являются адресами узлов Tor или сети VPN.

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

  • Новая директива NGINX и параметр Envoy disable_acl. Данная настройка позволяет выключить анализ источников запросов на совпадение с данными из списков IP-адресов.

    Подробнее о директиве NGINX disable_acl

    Подробнее о параметре Envoy disable_acl

Подробнее о добавлении IP-адресов в белый, черный и серый списки →

Новый модуль для построения структуры API

Теперь нода поставляется с новым модулем Обнаружение API, который строит структуру ваших API на основе реального трафика приложений.

Подробнее о модуле Обнаружение API

Поддержка библиотеки libdetection на ноде Валарм на основе Envoy

Добавлена поддержка библиотеки libdetection на ноде Валарм на основе Envoy. Библиотека libdetection дополнительно проверяет атаки типа SQL‑инъекций на наличие вредоносных пэйлоадов и удаляет отметку об атаке, если пэйлоад не подтвердился. Такой подход позволяет снизить количество ложных срабатываний на атаки типа SQL‑инъекций.

По умолчанию библиотека выключена. Мы рекомендуем ее включить для более качественного обнаружения атак.

Подробнее о библиотеке libdetection

Обновление страницы блокировки запросов

Обновлена страница блокировки /usr/share/nginx/html/wallarm_blocked.html. Обновлен внешний вид, добавлена возможность настроить логотип и почту для обращений.

Подробнее о настройке страницы блокировки →

Новые параметры для базовой настройки ноды

Переименованные параметры, файлы и метрики

  • Изменились названия следующих директив NGINX и параметров Envoy:

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

  • Изменилось название аннотации 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 и в параметре Envoy custom_ruleset изменилось значение по умолчанию, новое значение — /etc/wallarm/custom_ruleset.

  • Изменилось название метрики collectd: gauge-lom_idgauge-custom_ruleset_id.

    Сервис временно возвращает как метрику с устаревшим названием, так и с новым. В будущих релизах поддержка устаревшей метрики прекатится полностью.

    Все метрики collectd →

Параметры сервиса статистики

  • Сервис статистики теперь учитывает запросы, отправленные с IP‑адресов из черного списка. Количество таких запросов записывается в новый параметр blocked_by_acl, а также учитывается в параметрах requests и blocked.

  • Изменились названия параметров статистики ноды Валарм:

    • lom_apply_timecustom_ruleset_apply_time

    • lom_idcustom_ruleset_id

    Эндпоинт http://127.0.0.8/wallarm-status временно возвращает как параметры с устаревшими названиями, так и с новыми. В будущих релизах устаревшие параметры будут удалены.

Подробнее о сервисе статистики →

Новые ложные срабатывания

Качество анализа трафика повышается с каждой новой версией WAF‑ноды, соответственно снижается количество ложных срабатываний. Но каждое защищаемое приложение имеет особенности, поэтому мы рекомендуем проанализировать работу новой версии WAF‑ноды в режиме monitoring перед включением режима блокировки (block).

Чтобы проанализировать количество новых ложных срабатываний после обновления:

  1. Разверните новую версию WAF‑ноды в режиме monitoring и направьте на нее трафик.

  2. Через некоторое время перейдите в Консоль управления Валарм → секция События и проанализируйте количество запросов, которые ошибочно распознаны как атаки.

  3. При обнаружении аномального роста в количестве ложных срабатываний, пожалуйста, напишите в техническую поддержку Валарм.

Увеличение количества потребляемых ресурсов

Настройка новых возможностей продукта может вызвать изменение в количестве потребляемых ресурсов. Информация о возможных изменениях указывается в разделе Что нового.

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

Процедура обновления

Процедура обновления WAF‑ноды зависит от платформы и формы установки. Выберите форму установки и следуйте инструкциям по обновлению:

К началу