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

Обновление NGINX-модулей Вебмониторэкс 2.18 и ниже

Инструкция описывает способ обновления NGINX‑модулей Вебмониторэкс версии 2.18 и ниже до версии 3.6. Используйте этот способ, если нода установлена по следующим инструкциям:

Нода версии 3.6 и ниже больше не поддерживается

Обратите внимание, что нода версии 3.6 и ниже больше не поддерживается, поэтому мы рекомендуем обновить модули.

В последней версии ноды значительно упрощена настройка ноды и повышено качество фильтрации трафика. Некоторые настройки ноды 3.6 несовместимы с новой версией ноды. Перед обновлением компонентов внимательно изучите набор изменений и рекомендации по обновлению.

Порядок обновления

  • Если модули WAF‑ноды и постаналитики установлены на одном сервере, выполните шаги ниже.

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

Шаг 1: Сообщите об обновлении в техническую поддержку Вебмониторэкс

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

Шаг 2: Отключите модуль активной проверки атак (для ноды 2.16 и ниже)

Если вы обновляете ноду версии 2.16 и ниже, отключите активную проверку атак в Консоли управления Вебмониторэкс → Сканер → Настройки.

При обновлении нод 2.16 и ниже работа модуля может привести к ложным срабатываниям. Отключение модуля на время обновления нод позволит минимизировать этот риск.

Шаг 3: Обновите NGINX до последней стабильной версии

Обновите NGINX до последней стабильной версии, используя подходящую инструкцию:

DEB-дистрибутивы:

sudo apt update
sudo apt install nginx

RPM-дистрибутивы:

sudo yum update
sudo yum install nginx

Если NGINX установлен из репозитория Debian/CentOS, пропустите этот шаг. Версия NGINX будет обновлена позже вместе с модулями Вебмониторэкс.

Если в вашей инфраструктуре необходимо использовать другую версию NGINX, пожалуйста, напишите в техническую поддержку Вебмониторэкс для сборки модуля WAF для кастомной версии NGINX.

Шаг 4: Подключите новый репозиторий Вебмониторэкс WAF

Отключите предыдущий репозиторий Вебмониторэкс WAF и подключите новый, используя команды для подходящей платформы.

CentOS

sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.webmonitorx.ru/centos/wallarm-node/6/3.6/x86_64/Packages/wallarm-node-repo-1-6.el6.noarch.rpm
sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.webmonitorx.ru/centos/wallarm-node/7/3.6/x86_64/Packages/wallarm-node-repo-1-6.el7.noarch.rpm

Поддержка CentOS 8.x прекращена

Поддержка CentOS 8.x прекращена. Вы можете установить ноду 3.6 на альтернативную операционную систему AlmaLinux, Rocky Linux или Oracle Linux 8.x:

Debian и Ubuntu

  1. Откройте для редактирования файл /etc/apt/sources.list.d/wallarm.list:

    sudo vim /etc/apt/sources.list.d/wallarm.list
    
  2. Закомментируйте или удалите предыдущий адрес репозитория.

  3. Добавьте новый адрес репозитория:

    deb http://repo.webmonitorx.ru/debian/wallarm-node stretch/3.6/
    
    deb http://repo.webmonitorx.ru/debian/wallarm-node stretch/3.6/
    deb http://repo.webmonitorx.ru/debian/wallarm-node stretch-backports/3.6/
    
    deb http://repo.webmonitorx.ru/debian/wallarm-node buster/3.6/
    
    deb http://repo.webmonitorx.ru/ubuntu/wallarm-node bionic/3.6/
    
    deb http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/
    

Шаг 5: Перенесите настройки белых и черных списков с предыдущей версии WAF-ноды на новую

Перенесите настройки белых и черных списков с предыдущей версии WAF-ноды на новую.

Шаг 6: Обновите пакеты Вебмониторэкс WAF

WAF‑нода и постаналитика на одном сервере

  1. Выполните команду для обновления модулей WAF‑ноды и постаналитики:

    sudo apt update
    sudo apt dist-upgrade
    

    Ошибка вида "signatures couldn't be verified"

    Если срок добавленных GPG-ключей истек, при обновлении пакетов возникнет ошибка вида:

    W: GPG error: http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release' is not signed.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    

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

    curl -fsSL https://repo.webmonitorx.ru/wallarm.gpg | sudo apt-key add -
    sudo apt update
    sudo apt dist-upgrade
    
    sudo apt update
    sudo apt dist-upgrade
    

    Ошибка вида "signatures couldn't be verified"

    Если срок добавленных GPG-ключей истек, при обновлении пакетов возникнет ошибка вида:

    W: GPG error: http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release' is not signed.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    

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

    curl -fsSL https://repo.webmonitorx.ru/wallarm.gpg | sudo apt-key add -
    sudo apt update
    sudo apt dist-upgrade
    
    sudo yum update
    
  2. Если менеджер пакетов запросит подтверждение на перезапись конфигурационного файла /etc/cron.d/wallarm-node-nginx:

    1. Убедитесь, что миграция списков IP‑адресов выполнена.
    2. Введите Y для подтверждения перезаписи файла.

      Запрос появится, если вы изменяли конфигурационный файл /etc/cron.d/wallarm-node-nginx в предыдущих версиях. В версиях 3.x изменилась логика работы списков IP‑адресов, поэтому содержимое конфигурационного файла /etc/cron.d/wallarm-node-nginx было обновлено. Для корректной работы черных списков IP‑адресов в новой версии необходимо использовать обновленный конфигурационный файл.

      По умолчанию менеджер пакетов использует опцию N, но для корректной работы черного списка IP‑адресов необходимо отправить опцию Y.

WAF‑нода и постаналитика на разных серверах

Порядок обновления модулей

Если WAF‑нода и постаналитика установлены на разных серверах, необходимо обновить пакеты постаналитики перед обновлением пакетов WAF‑ноды.

  1. Обновите пакеты постаналитики.

  2. Обновите пакеты WAF‑ноды:

    sudo apt update
    sudo apt dist-upgrade
    

    Ошибка вида "signatures couldn't be verified"

    Если срок добавленных GPG-ключей истек, при обновлении пакетов возникнет ошибка вида:

    W: GPG error: http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release' is not signed.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    

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

    curl -fsSL https://repo.webmonitorx.ru/wallarm.gpg | sudo apt-key add -
    sudo apt update
    sudo apt dist-upgrade
    
    sudo apt update
    sudo apt dist-upgrade
    

    Ошибка вида "signatures couldn't be verified"

    Если срок добавленных GPG-ключей истек, при обновлении пакетов возникнет ошибка вида:

    W: GPG error: http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'http://repo.webmonitorx.ru/ubuntu/wallarm-node focal/3.6/ Release' is not signed.
    N: Updating from such a repository can't be done securely, and is therefore disabled by default.
    N: See apt-secure(8) manpage for repository creation and user configuration details.
    

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

    curl -fsSL https://repo.webmonitorx.ru/wallarm.gpg | sudo apt-key add -
    sudo apt update
    sudo apt dist-upgrade
    
    sudo yum update
    
  3. Если менеджер пакетов запросит подтверждение на перезапись конфигурационного файла /etc/cron.d/wallarm-node-nginx:

    1. Убедитесь, что миграция списков IP‑адресов выполнена.
    2. Введите Y для подтверждения перезаписи файла.

      Запрос появится, если вы изменяли конфигурационный файл /etc/cron.d/wallarm-node-nginx в предыдущих версиях. В версиях 3.x изменилась логика работы списков IP‑адресов, поэтому содержимое конфигурационного файла /etc/cron.d/wallarm-node-nginx было обновлено. Для корректной работы черных списков IP‑адресов в новой версии необходимо использовать обновленный конфигурационный файл.

      По умолчанию менеджер пакетов использует опцию N, но для корректной работы черного списка IP‑адресов необходимо отправить опцию Y.

Шаг 7: Обновите страницу блокировки Вебмониторэкс

В новой версии ноды изменилась страница блокировки Вебмониторэкс, &/usr/share/nginx/html/wallarm_blocked.html. После обновления пакетов, по этому пути будет доступна новая версия страницы.

Теперь на странице по умолчанию не заданы логотип и почта. Если вы используете страницу &/usr/share/nginx/html/wallarm_blocked.html, скопируйте и отредактируйте ее по инструкции.

Шаг 8: Переименуйте параметры ноды

В новой версии ноды Вебмониторэкс изменились названия некоторых параметров. Если в текущей конфигурации ноды эти параметры заданы явно, рекомендуем их переименовать.

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

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

Шаг 9: Перенесите настройки обнаружения overlimit_res из директив в правило

Начиная с релиза версии 3.6, можно настраивать обнаружение атак типа overlimit_res с помощью специального правила в Консоли управления.

Ранее настройка выполнялась с помощью директив NGINX wallarm_process_time_limit и wallarm_process_time_limit_block. Теперь перечисленные директивы считаются устаревшими. Полная поддержка параметров прекратится в будущих релизах.

Если вы задавали собственные настройки для обнаружения overlimit_res, рекомендуется перенести их в правило заранее:

  1. Перейдите в Консоль управления Вебмониторэкс → Правила и откройте форму создания правила Настроить обработку атак типа overlimit_res.

  2. Перенесите в правило настройки, заданные в директивах NGINX:

    • Условие правила должно соответствовать блоку NGINX, в котором заданы директивы wallarm_process_time_limit и wallarm_process_time_limit_block.
    • Лимит времени на обработку нодой одного запроса (в миллисекундах): значение wallarm_process_time_limit.
    • Обработка запроса: рекомендуется Остановить обработку.

      Риск исчерпания памяти на сервере

      Установка высокого лимита и/или обработка запроса после превышения лимита могут привести к исчерпанию памяти на сервере и неконтролируемой по времени обработке запросов.

    • Считать запрос атакой типа overlimit_res: рекомендуется Считать атакой.

      Если wallarm_process_time_limit_block off, Не считать атакой.

    • Директива wallarm_process_time_limit_block не имеет аналога в форме создания правила в явном виде. Если в правиле задано действие Считать атакой, нода пропустит или заблокирует атаку типа overlimit_res в соответствии с общим режимом фильтрации:

      • В режиме мониторинга — перенаправит запрос в оригинальном виде на адрес приложения. Атаки, отправленные в обработанной и необработанной частях запроса, могут быть реализованы.
      • В режиме мягкой блокировки — заблокирует запрос, если он отправлен с IP-адреса из серого списка. Если с другого IP, перенаправит запрос в оригинальном виде на адрес приложения. Атаки, отправленные в обработанной и необработанной частях запроса, могут быть реализованы.
      • В режиме блокировки — заблокирует запрос.
  3. Удалите директивы wallarm_process_time_limit и wallarm_process_time_limit_block из конфигурационного файла NGINX.

    Если заданы директивы и правило, поведение ноды будет соответствовать правилу.

Шаг 10: Адаптируйте настройку режимов фильтрации трафика

  1. Убедитесь, что ожидаемое поведение следующих настроек соответствует изменениям в логике работы режимов off и monitoring:

  2. Если ожидаемое поведение не соответствует изменениям в логике работы режимов off и monitoring, адаптируйте настройку режимов фильтрации.

Шаг 11: Обновите содержимое файла wallarm-status.conf

Измените содержимое файла /etc/nginx/conf.d/wallarm-status.conf до следующего вида:

server {
  listen 127.0.0.8:80;
  server_name localhost;

  allow 127.0.0.0/8;         # Доступ открыт только для loopback-адресов сервера с WAF‑нодой 
  deny all;

  wallarm_mode off;
  disable_acl "on";         # Проверка источников запросов отключена, IP-адреса из черного списка могут обратиться к сервису wallarm-status. https://docs.webmonitorx.ru/admin-ru/configure-parameters-ru/#disable_acl
  access_log off;

  location ~/wallarm-status$ {
    wallarm_status on;
  }
}

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

Шаг 12: Перезапустите NGINX

sudo systemctl restart nginx
sudo service nginx restart
sudo systemctl restart nginx

Шаг 13: Протестируйте работу Вебмониторэкс

  1. Отправьте тестовый запрос с атаками SQLI и XSS на адрес защищенного ресурса:

    curl http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
    
  2. Перейдите в Консоль управления Вебмониторэкс → секция События и убедитесь, что атаки появились в списке.

    Атаки в интерфейсе

Шаг 14: Включите модуль активной проверки атак (при обновлении ноды 2.16 и ниже)

Ознакомьтесь с рекомендациями по настройке модуля активной проверки атак и заново включите модуль, если требуется.

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

Настройка

Модули Вебмониторэкс WAF обновлены до версии 3.6. Остальные настройки Вебмониторэкс WAF из предыдущей версии применятся к новой версии автоматически. Чтобы применить дополнительные настройки, используйте доступные директивы.

Частые настройки: