Обновление 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 Plus.
Если 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
-
Откройте для редактирования файл
/etc/apt/sources.list.d/wallarm.list
:sudo vim /etc/apt/sources.list.d/wallarm.list
-
Закомментируйте или удалите предыдущий адрес репозитория.
-
Добавьте новый адрес репозитория:
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‑нода и постаналитика на одном сервере¶
-
Выполните команду для обновления модулей ноды и постаналитики:
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
-
Если менеджер пакетов запросит подтверждение на перезапись конфигурационного файла
/etc/cron.d/wallarm-node-nginx
, введитеY
.Перезапись файла требуется для установки дополнительного скрипта для подсчета RPS.
По умолчанию менеджер пакетов использует опцию
N
, но для корректной работы ноды необходимо отправить опциюY
.
WAF‑нода и постаналитика на разных серверах¶
Порядок обновления модулей
Если WAF‑нода и постаналитика установлены на разные серверы, необходимо обновить пакеты постаналитики перед обновлением пакетов WAF‑ноды.
-
Обновите пакеты постаналитики по инструкции.
-
Обновите пакеты 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
-
Если менеджер пакетов запросит подтверждение на перезапись конфигурационного файла
/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: Протестируйте работу Вебмониторэкс¶
-
Отправьте тестовый запрос с атакой Path Traversal на адрес защищенного ресурса:
curl http://localhost/etc/passwd
-
Перейдите в Консоль управления Вебмониторэкс → раздел События и убедитесь, что атака появилась в списке.
Настройка¶
Модули Вебмониторэкс WAF обновлены до версии 4.6. Настройки Вебмониторэкс WAF из предыдущей версии применятся к новой версии автоматически. Чтобы применить дополнительные настройки, используйте доступные директивы.
Частые настройки:
-
Использование балансировщика или прокси‑сервера перед нодой Вебмониторэкс
-
Ограничение времени обработки единичного запроса в директиве
wallarm_process_time_limit
-
Ограничение времени ожидания ответа сервера в директиве NGINX
proxy_read_timeout
-
Ограничение максимального размера запроса в директиве NGINX
client_max_body_size