Установка в кластере Kubernetes¶
Требования¶
-
Kubernetes версии 1.21 или ниже
-
Менеджер пакетов Helm
-
Совместимость сервисов с официальным Ingress‑контроллером NGINX версии 0.26.2
-
Доступ к аккаунту с ролью Администратор в Консоли управления Вебмониторэкс
-
Доступ к
https://api.wallarm.ru:444
для работы с Вычислительным кластером Вебмониторэкс -
Доступ к
https://charts.wallarm.com
для добавления Helm‑чартов Вебмониторэкс. Убедитесь, что доступ не ограничен настройками файервола
Смотрите также
Известные ограничения¶
-
Не поддерживается работа без модуля постаналитики.
-
Масштабирование модуля постаналитики (уменьшение) может приводить к частичной потере данных об атаках.
Установка¶
-
Установите Ingress‑контроллер Вебмониторэкс.
-
Включите анализ трафика для вашего Ingress.
-
Протестируйте работу Ingress‑контроллера Вебмониторэкс.
Шаг 1: Установка Ingress‑контроллера Вебмониторэкс¶
-
Перейдите в Консоль управления Вебмониторэкс → секция Ноды.
-
Создайте ноду Вебмониторэкс и скопируйте токен.
-
Склонируйте репозиторий Helm‑чарта Вебмониторэкс:
git clone https://github.com/wallarm/ingress-chart --branch 2.18.1-8 --single-branch
-
Установите Ingress-контроллер Вебмониторэкс:
helm install --set controller.wallarm.enabled=true,controller.wallarm.token=<WALLARM_API_TOKEN>,controller.wallarm.apiHost=api.wallarm.ru <INGRESS_CONTROLLER_NAME> ingress-chart/wallarm-ingress -n <KUBERNETES_NAMESPACE>
<WALLARM_API_TOKEN>
— токен ноды Вебмониторэкс<INGRESS_CONTROLLER_NAME>
— название Ingress‑контроллера Вебмониторэкс<KUBERNETES_NAMESPACE>
— namespace вашего Ingress
Шаг 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-instance=<INSTANCE>
-
<YOUR_INGRESS_NAME>
— название вашего Ingress -
<INSTANCE>
— положительное число, уникальное для каждого из ваших приложений или группы приложений; используется для получения раздельной статистики и отличия атак, направленных на соответствующие приложения
Шаг 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 ingress-controller-nginx-ingress-controller-675c68d46d-cfck8 3/3 Running 0 5m ingress-controller-nginx-ingress-controller-wallarm-tarantljj8g 8/8 Running 0 5m ingress-controller-nginx-ingress-default-backend-584ffc6c7xj5xx 1/1 Running 0 5m
-
Отправьте тестовый запрос с атаками SQLI и XSS на адрес Ingress‑контроллера Вебмониторэкс:
curl http://<INGRESS_CONTROLLER_IP>/?id='or+1=1--a-<script>prompt(1)</script>'
Если нода находится в статусе
block
, в ответ на запрос вернется код403 Forbidden
и атаки отобразятся в Консоли управления Вебмониторэкс → секция События.
Настройка¶
После успешной установки и тестирования Ingress‑контроллера Вебмониторэкс вы можете применить к решению дополнительные настройки, например:
-
Сохранение IP‑адреса клиента при использовании балансировщика нагрузки
-
Добавление IP‑адресов Вебмониторэкс в белый список для работы сканера
Для получения списка всех настроек и соответствующих инструкций перейдите по ссылке.