Перейти к содержанию

Установка Ingress‑контроллера NGINX с сервисами Вебмониторэкс

С помощью данной инструкции Вы развернете Ingress‑контроллер NGINX с сервисами Вебмониторэкс в кластере Kubernetes.

Временные ограничения

Установка Ingress‑контроллера NGINX временно недоступна в версии 4.8.

Требования

  • Kubernetes версии 1.26-1.30

  • Менеджер пакетов Helm

  • Совместимость сервисов с Community Ingress‑контроллером NGINX версии 1.10.1 или ниже

  • Доступ к аккаунту с ролью Администратор в Консоли управления Вебмониторэкс

  • Доступ к https://api.wallarm.ru и https://api.webmonitorx.ru для работы с Вычислительным кластером Вебмониторэкс

  • Доступ к https://charts.webmonitorx.ru для добавления Helm‑чартов Вебмониторэкс. Убедитесь, что доступ не ограничен настройками файервола

  • Доступ к репозиториям Вебмониторэкс https://wmx-public.gitlab.yandexcloud.net:5050. Убедитесь, что доступ не ограничен настройками файервола

  • Доступ к хранилищу Яндекс S3 (https://storage.yandexcloud.net), чтобы обеспечить корректную блокировку IP‑адресов, зарегистрированных в странах, регионах или дата-центрах из белого, черного и серого списков IP

    Необходимо обеспечить доступ к https://storage.yandexcloud.net или нескольким диапазонам IP‑адресов: диапазон 1 и диапазон 2.

Известные ограничения

  • Не поддерживается работа без модуля постаналитики.

  • Масштабирование модуля постаналитики (уменьшение) может приводить к частичной потере данных об атаках.

Установка

  1. Установите Ingress‑контроллер Вебмониторэкс.

  2. Включите анализ трафика для вашего Ingress.

  3. Протестируйте работу Ingress‑контроллера Вебмониторэкс.

Шаг 1: Установка Ingress‑контроллера Вебмониторэкс

  1. Перейдите в Консоль управления Вебмониторэкс → секция Ноды.

  2. Создайте ноду и скопируйте сгенерированный токен.

    Создание ноды Вебмониторэкс

  3. Добавьте репозиторий c Helm‑чартами Вебмониторэкс и обновите информацию о доступных чартах:

    helm repo add webmonitorx https://charts.webmonitorx.ru
    helm repo update
    
  4. Создайте файл values.yaml с конфигурацией Вебмониторэкс.

    Пример файла с минимальной конфигурацией:

    controller:
      wallarm:
        enabled: "true"
        token: "<WALLARM_API_TOKEN>"
        apiHost: "api.wallarm.ru"
    

    <WALLARM_API_TOKEN> — токен ноды Вебмониторэкс.

  5. Установите пакеты Вебмониторэкс:

    helm install --version 4.6.11 <INGRESS_CONTROLLER_NAME> webmonitorx/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‑контроллера Вебмониторэкс

  1. Получите список 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   4/4       Running   0          5m
    
  2. Отправьте тестовый запрос с атакой Path Traversal на адрес Ingress‑контроллера Вебмониторэкс:

    curl http://<INGRESS_CONTROLLER_IP>/etc/passwd
    

    Если нода находится в статусе block, в ответ на запрос вернется код 403 Forbidden и атака отобразится в Консоли управления Вебмониторэкс → секция События.

Настройка

После успешной установки и тестирования Ingress‑контроллера Вебмониторэкс вы можете применить к решению дополнительные настройки, например:

Для получения списка всех настроек и соответствующих инструкций перейдите по ссылке.