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

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

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

Требования

  • Доступ к аккаунту с ролью Администратор в Консоли управления Вебмониторэкс

  • Доступ виртуальной машины к Вебмониторэкс API по адресу api.wallarm.ru. Убедитесь, что доступ не ограничен файерволом

  • Доступ к репозиториям Вебмониторэкс https://wmx-public.gitlab.yandexcloud.net:5050

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

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

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

Шаг 1: Обновите 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.

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

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

CentOS

sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.webmonitorx.ru/centos/webmonitorx-node/7/4.6/x86_64/webmonitorx-node-repo-4.6-0.el7.noarch.rpm
sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.webmonitorx.ru/centos/webmonitorx-node/8/4.6/x86_64/webmonitorx-node-repo-4.6-0.el8.noarch.rpm

Debian и Ubuntu

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

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

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

    deb https://repo.webmonitorx.ru/debian/webmonitorx-node bullseye/4.6/
    
    deb https://repo.webmonitorx.ru/ubuntu/webmonitorx-node bionic/4.6/
    
    deb https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.6/
    
    deb https://repo.webmonitorx.ru/ubuntu/webmonitorx-node jammy/4.6/
    

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

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

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

    sudo apt update
    sudo apt dist-upgrade
    

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

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

    W: GPG error: https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.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/wmx.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: https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.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/wmx.gpg \| sudo apt-key add -
    sudo apt update
    sudo apt dist-upgrade
    
    sudo yum update
    
    sudo yum update
    
  2. Если менеджер пакетов запросит подтверждение на перезапись конфигурационного файла /etc/cron.d/wallarm-node-nginx, введите Y.

    Перезапись файла требуется для установки дополнительного скрипта для подсчета RPS.

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

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

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

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

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

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

    sudo apt update
    sudo apt dist-upgrade
    

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

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

    W: GPG error: https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.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/wmx.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: https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.6/ Release:The following
    signatures couldn't be verified because the public key is not available: NO_PUBKEY 1111FQQW999
    E: The repository 'https://repo.webmonitorx.ru/ubuntu/webmonitorx-node focal/4.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/wmx.gpg \| sudo apt-key add -
    sudo apt update
    sudo apt dist-upgrade
    
    sudo yum update
    
    sudo yum update
    
  3. Если менеджер пакетов запросит подтверждение на перезапись конфигурационного файла /etc/cron.d/wallarm-node-nginx, введите Y.

    Перезапись файла требуется для установки дополнительного скрипта для подсчета RPS.

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

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

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

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

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

    curl http://localhost/etc/passwd
    
  2. Перейдите в Консоль управления Вебмониторэкс → раздел События и убедитесь, что атака появилась в списке.

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

Настройка

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

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