Установка Ingress‑контроллера NGINX с сервисами Вебмониторэкс¶
С помощью данной инструкции Вы развернете Ingress‑контроллер NGINX с сервисами Вебмониторэкс в кластере Kubernetes.
Требования¶
-
Kubernetes версии 1.26-1.31
-
Менеджер пакетов Helm версии v3.8.0 и выше
-
Совместимость сервисов с Community Ingress‑контроллером NGINX версии 1.10.1 или ниже
-
Доступ к аккаунту с ролью Администратор в Консоли управления Вебмониторэкс
-
Доступ к
https://api.wallarm.ru
иhttps://api.webmonitorx.ru
для работы с Вычислительным кластером Вебмониторэкс -
Доступ к
https://registry.webmonitorx.ru
для добавления Helm‑чартов и контейнерных образов Вебмониторэкс. Убедитесь, что доступ не ограничен настройками файервола -
Доступ к хранилищу Яндекс S3 (
https://storage.yandexcloud.net
), чтобы обеспечить корректную блокировку IP‑адресов, зарегистрированных в странах, регионах или дата-центрах из белого, черного и серого списков IPНеобходимо обеспечить доступ к
https://storage.yandexcloud.net
или нескольким диапазонам IP‑адресов: диапазон 1 и диапазон 2.
Смотрите также
Известные ограничения¶
-
Не поддерживается работа без модуля постаналитики.
-
Масштабирование модуля постаналитики (уменьшение) может приводить к частичной потере данных об атаках.
Установка¶
-
Установите Ingress‑контроллер Вебмониторэкс.
-
Включите анализ трафика для вашего Ingress.
-
Протестируйте работу Ingress‑контроллера Вебмониторэкс.
Шаг 1: Установка Ingress‑контроллера Вебмониторэкс¶
-
Перейдите в Консоль управления Вебмониторэкс → секция Ноды.
-
Создайте ноду и скопируйте сгенерированный токен.
-
Создайте файл
values.yaml
с конфигурацией Вебмониторэкс.Пример файла с минимальной конфигурацией:
controller: wallarm: enabled: "true" token: "<WALLARM_API_TOKEN>" apiHost: "api.webmonitorx.ru"
<WALLARM_API_TOKEN>
— токен ноды Вебмониторэкс. -
Установите пакеты Вебмониторэкс:
helm install --version 4.8.8 <INGRESS_CONTROLLER_NAME> oci://registry.webmonitorx.ru/public/charts/webmonitorx-ingress -n <KUBERNETES_NAMESPACE> -f <PATH_TO_VALUES>
<INGRESS_CONTROLLER_NAME>
— название Ingress‑контроллера Вебмониторэкс<KUBERNETES_NAMESPACE>
— пространство имен, в котором будет развернут Ingress‑контроллер Вебмониторэкс<PATH_TO_VALUES>
— путь до файлаvalues.yaml
Шаг 2: Включение анализа трафика для вашего Ingress¶
kubectl annotate ingress <YOUR_INGRESS_NAME> nginx.ingress.kubernetes.io/wallarm-mode=monitoring
kubectl annotate ingress <YOUR_INGRESS_NAME> nginx.ingress.kubernetes.io/wallarm-application=<APPLICATION-ID>
-
<YOUR_INGRESS_NAME>
— название вашего Ingress -
<APPLICATION-ID>
— положительное число, уникальное для каждого из ваших приложений или группы приложений; используется для получения раздельной статистики и отличия атак, направленных на соответствующие приложения
Шаг 3: Тестирование работы Ingress‑контроллера Вебмониторэкс¶
-
Получите список pod'ов, передав в
<INGRESS_CONTROLLER_NAME>
название Ingress‑контроллера Вебмониторэкс:
kubectl get pods -l release=<INGRESS_CONTROLLER_NAME>
Все pod'ы должны быть в состоянии: STATUS: Running и READY: N/N. Например:
NAME READY STATUS RESTARTS AGE webmonitorx-ingress-controller-686bc99bb4-66vpk 7/7 Running 0 5m webmonitorx-ingress-controller-postanalytics-7f59cf7797-46bsr 10/10 Running 0 5m
-
Отправьте тестовый запрос с атакой Path Traversal на адрес Ingress‑контроллера Вебмониторэкс:
curl http://<INGRESS_CONTROLLER_IP>/etc/passwd
Если нода находится в статусе
block
, в ответ на запрос вернется код403 Forbidden
и атака отобразится в Консоли управления Вебмониторэкс → секция События.
Настройка¶
После успешной установки и тестирования Ingress‑контроллера Вебмониторэкс вы можете применить к решению дополнительные настройки, например:
Для получения списка всех настроек и соответствующих инструкций перейдите по ссылке.