Обновление облачного образа WAF‑ноды¶
Инструкция описывает способ обновления образа WAF‑ноды, развернутого в AWS или GCP, до версии 2.16.
Порядок обновления¶
Чтобы обновить версию WAF‑ноды, развернутой в облаке, необходимо:
-
Запустить новую виртуальную машину из образа WAF‑ноды версии 2.16.
-
Перенести настройки WAF‑ноды предыдущей версии на новую версию.
-
Удалить инстанс с предыдущей версией WAF‑ноды.
Более подробное описание шагов по обновлению приведено ниже.
Шаг 1: Запустите новый инстанс с WAF‑нодой 2.16¶
-
Откройте образ WAF‑ноды Валарм на Amazon Marketplace или на GCP Marketplace и перейдите к запуску.
-
При запуске выполните следующие настройки:
- Выберите версию образа
2.16.x
- Для AWS выберите созданную группу безопасности в поле Security Group Settings
- Для AWS выберите название созданной пары ключей в поле Key Pair Settings
- Выберите версию образа
-
Подтвердите запуск инстанса.
-
Для GCP выполните настройку инстанса по инструкции.
Шаг 2: Подключите WAF‑ноду к Облаку Валарм¶
-
Подключитесь к инстансу с WAF‑нодой по SSH. Подробная инструкция по подключению к инстансу доступна в документации AWS и в документации GCP.
-
Подключите WAF‑ноду к Облаку Валарм по токену новой ноды или по логину и паролю в Консоли управления Валарм, как описано в инструкции для AWS или для GCP.
Шаг 3: Скопируйте настройки WAF‑ноды из предыдущей версии в новую версию¶
-
Скопируйте настройки обработки и проксирования запросов из следующих конфигурационных файлов предыдущей версии WAF‑ноды в файлы WAF‑ноды 2.16:
/etc/nginx/nginx.conf
и другие файлы с настройками NGINX/etc/nginx/conf.d/wallarm.conf
с глобальными настройками WAF‑ноды/etc/nginx/conf.d/wallarm-status.conf
с настройками сервиса мониторинга WAF‑ноды/etc/environment
с переменными окружения/etc/default/wallarm-tarantool
с настройками Tarantool- другие файлы с кастомными настройками обработки и проксирования запросов
-
Перезапустите NGINX, чтобы применить настройки:
sudo systemctl restart nginx
Подробная информация о работе с конфигурационными файлами NGINX доступна в официальной документации NGINX.
Список доступных директив для настройки WAF‑ноды доступен по ссылке.
Шаг 4: Протестируйте работу WAF‑ноды¶
-
Получите статистику о работе WAF‑ноды, выполнив запрос:
curl http://127.0.0.8/wallarm-status
Запрос вернет статистические данные о проанализированных запросах. Формат ответа приведен ниже, подробное описание параметров доступно по ссылке.
{ "requests":0,"attacks":0,"blocked":0,"abnormal":0,"tnt_errors":0,"api_errors":0, "requests_lost":0,"segfaults":0,"memfaults":0,"softmemfaults":0,"time_detect":0,"db_id":46, "lom_id":16767,"proton_instances": { "total":1,"success":1,"fallback":0,"failed":0 }, "stalled_workers_count":0,"stalled_workers":[] }
-
Отправьте тестовый запрос с атаками SQLI и XSS на адрес приложения:
curl http://localhost/?id='or+1=1--a-<script>prompt(1)</script>'
Если WAF‑нода работает в режиме
block
, запрос будет заблокирован с ответом403 Forbidden
. -
Выполните запрос к
wallarm-status
и убедитесь, что значение параметровrequests
иattacks
увеличилось:curl http://127.0.0.8/wallarm-status
-
Перейдите в Консоль управления Валарм → секция События для EU‑облака или для RU‑облака и убедитесь, что атаки появились в списке.
Шаг 5: Создайте образ виртуальной машины с WAF‑нодой 2.16¶
Для создания образа виртуальной машины с WAF‑нодой 2.16, используйте инструкцию для AWS или GCP.
Шаг 6: Удалите инстанс с предыдущей версией WAF‑ноды¶
После успешной настройки и тестирования новой версии WAF‑ноды, удалите инстанс и виртуальную машину с предыдущей версией WAF‑ноды, используя консоль управления AWS или GCP.