Обновление NGINX-модулей Валарм¶
Инструкция описывает способ обновления NGINX‑модулей Валарм версии 3.4 и 3.2 до версии 3.6. Используйте этот способ, если нода установлена по следующим инструкциям:
Для обновления модулей версии 2.18 и ниже используйте отдельную инструкцию.
Порядок обновления¶
-
Если модули WAF‑ноды и постаналитики установлены на одном сервере, выполните шаги ниже.
-
Если модули WAF‑ноды и постаналитики установлены на разных серверах, сначала обновите модуль постаналитики, затем выполните шаги ниже для модуля WAF‑ноды.
Шаг 1: Обновите NGINX до последней стабильной версии¶
Обновите NGINX / NGINX Plus до последней стабильной версии из официального репозитория.
Если в вашей инфраструктуре необходимо использовать другую версию NGINX, пожалуйста, напишите в техническую поддержку Валарм для сборки модуля WAF для кастомной версии NGINX.
Шаг 2: Подключите новый репозиторий Валарм WAF¶
Отключите предыдущий репозиторий Валарм WAF и подключите новый, используя команды для подходящей платформы.
CentOS и Amazon Linux 2.0.2021x и ниже
sudo yum remove wallarm-node-repo
sudo yum clean all
sudo rpm -i https://repo.wallarm.com/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.wallarm.com/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
-
Откройте для редактирования файл
/etc/apt/sources.list.d/wallarm.list
:sudo vim /etc/apt/sources.list.d/wallarm.list
-
Закомментируйте или удалите предыдущий адрес репозитория.
-
Добавьте новый адрес репозитория:
deb http://repo.wallarm.com/debian/wallarm-node stretch/3.6/
deb http://repo.wallarm.com/debian/wallarm-node stretch/3.6/ deb http://repo.wallarm.com/debian/wallarm-node stretch-backports/3.6/
deb http://repo.wallarm.com/debian/wallarm-node buster/3.6/
deb http://repo.wallarm.com/ubuntu/wallarm-node bionic/3.6/
deb http://repo.wallarm.com/ubuntu/wallarm-node focal/3.6/
Шаг 3: Обновите пакеты Валарм WAF¶
WAF‑нода и постаналитика на одном сервере¶
Выполните команду для обновления модулей WAF‑ноды и постаналитики:
sudo apt update
sudo apt dist-upgrade
Ошибка вида "signatures couldn't be verified"
Если срок добавленных GPG-ключей истек, при обновлении пакетов возникнет ошибка вида:
W: GPG error: http://repo.wallarm.com/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.wallarm.com/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.wallarm.com/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.wallarm.com/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.wallarm.com/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.wallarm.com/wallarm.gpg | sudo apt-key add -
sudo apt update
sudo apt dist-upgrade
sudo yum update
WAF‑нода и постаналитика на разных серверах¶
Порядок обновления модулей
Если WAF‑нода и постаналитика установлены на разных серверах, необходимо обновить пакеты постаналитики перед обновлением пакетов WAF‑ноды.
-
Обновите пакеты постаналитики по инструкции.
-
Обновите пакеты WAF‑ноды:
sudo apt update sudo apt dist-upgrade
Ошибка вида "signatures couldn't be verified"
Если срок добавленных GPG-ключей истек, при обновлении пакетов возникнет ошибка вида:
W: GPG error: http://repo.wallarm.com/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.wallarm.com/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.wallarm.com/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.wallarm.com/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.wallarm.com/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.wallarm.com/wallarm.gpg | sudo apt-key add - sudo apt update sudo apt dist-upgrade
sudo yum update
Шаг 4: Обновите страницу блокировки Валарм¶
В новой версии ноды изменился пример страницы блокировки Валарм, &/usr/share/nginx/html/wallarm_blocked.html
. После обновления пакетов, по этому пути будет доступна новая версия страницы.
Теперь на странице по умолчанию не заданы логотип и почта. Если вы используете страницу &/usr/share/nginx/html/wallarm_blocked.html
, скопируйте и отредактируйте ее по инструкции.
Шаг 5: Переименуйте параметры ноды¶
В новой версии ноды Валарм изменились названия некоторых параметров. Если в текущей конфигурации ноды эти параметры заданы явно, рекомендуем их переименовать.
Изменились названия следующих параметров:
-
wallarm_instance
→wallarm_application
-
wallarm_local_trainingset_path
→wallarm_custom_ruleset_path
-
wallarm_global_trainingset_path
→wallarm_protondb_path
Параметры с устаревшими названиями временно поддерживаются, но в будущих релизах их поддержка прекратится полностью. Логика параметров не изменилась.
Шаг 6: Перезапустите NGINX¶
sudo systemctl restart nginx
sudo service nginx restart
sudo systemctl restart nginx
Шаг 7: Протестируйте работу Валарм¶
-
Отправьте тестовый запрос с атаками SQLI и XSS на адрес приложения:
curl http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
-
Перейдите в Консоль управления Валарм → секция События для EU‑Облака или для RU‑Облака и убедитесь, что атаки появились в списке.
Настройка¶
Модули Валарм WAF обновлены до версии 3.6. Настройки Валарм WAF из предыдущей версии применятся к новой версии автоматически. Чтобы применить дополнительные настройки, используйте доступные директивы.
Частые настройки:
-
Использование балансировщика или прокси‑сервера перед нодой Валарм
-
Ограничение времени обработки единичного запроса в директиве
wallarm_process_time_limit
-
Ограничение времени ожидания ответа сервера в директиве NGINX
proxy_read_timeout
-
Ограничение максимального размера запроса в директиве NGINX
client_max_body_size