Рекомендации по установке и поддержке Вебмониторэкс WAF¶
В данном документе сформулированы рекомендации по установке и поддержке компонентов Вебмониторэкс WAF.
Изучите возможности NGINX¶
Основной компонент Вебмониторэкс WAF — нода, которая устанавливается в вашу инфраструктуру. В большинстве форм установок, нода использует NGINX в качестве обратного прокси‑сервера.
NGINX — надежный и производительный сервер, который предоставляет широкий набор возможностей и модулей. Чтобы познакомиться с NGINX и его возможностями, мы рекомендуем обратиться к следующим публичным статьям на английском языке:
-
3 quick steps to optimize the performance of your NGINX server
-
Powerful ways to supercharge your NGINX server and improve its performance
Следуйте рекомендованному процессу при изучении продукта¶
-
Изучите возможные формы установки ноды Вебмониторэкс.
-
Если требуется, изучите способы настройки ноды для изолированных сред.
-
Разверните ноду в режиме фильтрации
monitoring
в среде разработки или тестирования. -
Изучите механизм работы, способы масштабирования и мониторинга ноды и убедитесь в стабильности нового компонента системы.
-
Разверните ноду в режиме фильтрации
monitoring
в боевой среде. -
Настройте процессы обновления и мониторинга ноды.
-
Сохраните движение запросов через ноды в течение 7-14 дней во всех средах, включая тестовую и боевую. Это позволит Вычислительному кластеру Вебмониторэкс более качественно проанализировать ваше приложение и входящие запросы.
-
Переведите ноду в режим фильтрации
block
в среде разработки или тестирования и убедитесь, что это не повлияло на работу защищаемого ресурса, используя ручные или автоматизированные тесты. -
Переведите ноду в режим фильтрации
block
в боевой среде и убедитесь, что это не повлияло на работу защищаемого ресурса, используя ручные или автоматизированные тесты.
Разверните ноду Вебмониторэкс в тестовой и в боевой средах¶
В большинстве случаев количество нод Вебмониторэкс, которые может установить клиент, не ограничено. Поэтому мы рекомендуем развернуть и использовать ноду во всех средах вашей инфраструктуры: в боевой и тестовой средах, среде разработки и т.д.
Анализ запросов к приложению на всех этапах его разработки и публикации позволяет составить более точный профиль приложения и минимизировать риск непредвиденного поведения ноды в боевой среде.
Используйте библиотеку libdetection для анализа запросов¶
Начиная с ноды Вебмониторэкс версии 2.16, при анализе запросов может использоваться метод двойного обнаружения атак. При двойном обнаружении атак библиотека libdetection выполняет дополнительную валидацию атак типа SQL‑инъекций, обнаруженных с помощью библиотеки libproton.
Метод двойного обнаружения атак значительно увеличивает качество определения атак типа SQL‑инъекций. Поэтому мы рекомендуем включить анализ запросов с помощью libdetection, используя инструкции:
-
Инструкция для ноды Вебмониторэкс на основе NGINX (в том числе для образов GCP / Яндекс.Облака, Docker-контейнера и sidecar-контейнеров Kubernetes)
-
Инструкция для Ingress-контроллера Вебмониторэкс в Kubernetes
Настройте корректную передачу IP‑адреса источника запросов¶
Если перед передачей на ноду запросы проходят через прокси‑сервер или балансировщик нагрузки, в качестве IP‑адреса источника запросов на ноду передается адрес прокси-сервера или балансировщика. В этом случае блокировка IP‑адресов (добавление в черный список), Активная проверка атак и некоторые другие возможности Вебмониторэкс WAF могут работать некорректно.
Чтобы настроить корректную передачу IP‑адреса источника на ноду, используйте следующие инструкции:
-
Инструкция для ноды Вебмониторэкс на основе NGINX (в том числе для образов GCP / Яндекс.Облака, Docker-контейнера и sidecar-контейнеров Kubernetes)
-
Инструкция для Ingress-контроллера Вебмониторэкс в Kubernetes
Добавьте IP‑адреса Сканера Вебмониторэкс в белый список¶
Чтобы нода Вебмониторэкс не блокировала запросы, которые модуль активной проверки атак и Сканер уязвимостей отправляют на адрес приложения для обнаружения уязвимостей, необходимо отключить блокировку IP‑адресов Сканера Вебмониторэкс. Чтобы добавить IP‑адреса в белый список, используйте следующие инструкции:
-
Инструкция для ноды Вебмониторэкс на основе NGINX (в том числе для образов GCP / Яндекс.Облака и Docker-контейнера)
-
Инструкция для Ingress-контроллера Вебмониторэкс в Kubernetes
-
Инструкция для sidecar-контейнера Вебмониторэкс, развернутного в Kubernetes с помощью Helm charts или Kubernetes-манифестов
Если IP‑адреса Сканера Вебмониторэкс не добавлены в белый список, модуль активной проверки атак и Сканер уязвимостей могут работать некорректно.
Настройте мониторинг развернутых нод Вебмониторэкс¶
Одна из рекомендуемых настроек ноды Вебмониторэкс — качественный мониторинг ее работы. Вместе с каждой нодой Вебмониторэкс установлен сервис collectd
, который собирает метрики по состоянию ноды и проанализированным запросам.
Способ для настройки мониторинга ноды зависит от формы ее установки:
-
Инструкция для ноды Вебмониторэкс на основе NGINX (в том числе для образов GCP / Яндекс.Облака и sidecar-контейнеров Kubernetes)
-
Инструкция для Ingress-контроллера Вебмониторэкс в Kubernetes
Настройте схему резервирования защищаемого ресурса¶
Как и установка любого компонента в боевой среде, установка ноды Вебмониторэкс должна быть правильно спроектирована и произведена с учетом случаев, когда нода может оказаться неработоспособной (например, из‑за отключения питания). Для высокой доступности сервисов Вебмониторэкс, необходимо использовать минимум две ноды для обработки основного трафика ресурса и настроить схему резервирования, используя следующие инструкции:
-
Инструкция для ноды Вебмониторэкс на основе NGINX (в том числе для образов GCP / Яндекс.Облака, Docker-контейнера и sidecar-контейнеров Kubernetes)
-
Инструкция для Ingress-контроллера Вебмониторэкс в Kubernetes
Включите блокировку запросов по IP‑адресам¶
Помимо блокировки запросов с признаками атаки, нода Вебмониторэкс может блокировать IP‑адреса источников запросов (добавлять в черный список). По умолчанию блокировка IP‑адресов отключена.
Мы рекомендуем включить блокировку запросов по IP‑адресам после знакомства с основными возможностями Вебмониторэкс WAF и переключения ноды из режима мониторинга в режим блокировки. Для включения блокировки IP‑адресов используйте следующие инструкции:
-
Инструкция для ноды Вебмониторэкс на основе NGINX (в том числе для образов GCP / Яндекс.Облака и sidecar-контейнеров Kubernetes)
-
Инструкция для Ingress-контроллера Вебмониторэкс в Kubernetes
-
Для Docker-образа на основе NGINX необходимо передать переменную окружения
WALLARM_ACL_ENABLE=true
при запуске контейнера (более подробная инструкция)После включения блокировки запросов по IP‑адресам, вы можете выполнить следующие полезные настройки Вебмониторэкс WAF с помощью триггеров:
-
Блокировка источника запросов, с которого поступило большое количество атак за определенный период
Изучите способы низкоуровневой конфигурации ноды Вебмониторэкс¶
-
Применяйте стандартные процессы управления настройками DevOps-компонентов для низкоуровневой конфигурации ноды.
-
Настраивайте правила обработки трафика конкретных приложений, задавая разные ID приложений или значения заголовка
Host
. -
Помимо применения правила Создать признак атаки на основе регулярного выражения к конкретному приложению, вы можете использовать это правило в экспериментальном режиме, или когда нода работает в режиме мониторинга.
-
Используйте правило Установить режим фильтрации для изменения режима фильтрации в конкретных средах и запросах. Данное правило позволяет более гибко настроить способ защиты новых эндпоинтов и других ресурсов в разных средах. По умолчанию, используется значение
wallarm_mode
в зависимости от настройкиwallarm_mode_allow_override
.
Настройте интеграции со сторонними системами для уведомлений о событиях¶
Чтобы оперативно получать уведомления о событиях безопасности в вашей системе, вы можете настроить нативные интеграции с PagerDuty, Opsgenie, Telegram и другими системами. Например, в системы отправляются следующие уведомления:
-
Новые уязвимости, обнаруженные в защищаемом приложении
-
Изменения в сетевом периметре компании
-
Новые пользователи аккаунта компании в Консоли управления Вебмониторэкс и т.д.
Для более тонкой настройки уведомлений вы также можете использовать Триггеры.
Изучите возможности Триггеров¶
В зависимости от особенностей ваших приложений, мы рекомендуем изучить следующие возможности триггеров:
-
Мониторинг роста числа вредоносных запросов, обнаруженных нодой Вебмониторэкс. Данный триггер может сигнализировать о следующих потенциальных проблемах:
- На приложение выполняется атака, и Вебмониторэкс успешно блокирует вредоносные запросы. При получении соответствующего уведомления, вы можете проверить обнаруженные атаки в Консоли управления Вебмониторэкс и вручную заблокировать IP‑адреса источников запросов.
- Растет количество ложных срабатываний. В этом случае вы можете сообщить о проблеме в техническую поддержку Вебмониторэкс или отметить атаки как ложные срабатывания вручную.
- Если вы настроили блокировку запросов по IP‑адресам и триггер по умолчанию включен, но количество вредоносных запросов продолжает расти, в настройках блокировки IP‑адресов или триггера может быть допущена ошибка.
- Уведомление о новом пользователе, добавленном в аккаунт компании в Консоли управления Вебмониторэкс
-
Отметить запрос как дирбаст или брутфорс-атаку и заблокировать IP‑адреса источников запросов
-
Уведомление о блокировке нового IP‑адреса
Включите SSO для аккаунта вашей компании в Консоли управления Вебмониторэкс¶
Вы можете использовать технологию единого входа (Single Sign‑On, SSO) для аутентификации пользователей вашей компании в Консоли управления Вебмониторэкс. В качестве провайдера SSO может использоваться G Suite, Okta, OneLogin или любой другой провайдер.
Для включения SSO, свяжитесь с вашим аккаунт-менеджером Вебмониторэкс или технической поддержкой Вебмониторэкс и после этого выполните настройку SSO по инструкции.
Используйте Terraform-провайдер Вебмониторэкс для управления конфигурацией Вычислительного кластера Вебмониторэкс¶
С помощью официального Terraform-провайдера Вебмониторэкс вы можете управлять конфигурацией Вычислительного кластера Вебмониторэкс, а именно: списком пользователей, приложений, интеграций и т.д.
Включите в план оперативное обновление ноды Вебмониторэкс до новых версий¶
Мы непрерывно повышаем качество продукта Вебмониторэкс WAF и выпускаем новые версии с улучшениями. Новые версии публикуются примерно раз в квартал. Более детальная информация о процессе обновления и возможных рисках приведена в документе с рекомендациями по обновлению ноды Вебмониторэкс.
Ознакомьтесь с известными ограничениями продукта¶
-
Все ноды, прикрепленные к одному аккаунту Вебмониторэкс, получают из Вычислительного кластера Вебмониторэкс одинаковый набор стандартных и индивидуальных правил для анализа запросов. Вы можете применить разные правила к разным приложениям, задав ID приложений или уникальные элементы HTTP-запросов (например, заголовки) в настройках правил.
-
Если в Консоли управления Вебмониторэкс настроен триггер, который блокирует IP‑адреса (например, триггер по умолчанию), IP‑адрес будет заблокирован для всех приложений. Блокировка IP‑адресов (добавление в черный список) настраивается на уровне ноды и защищаемого ресурса с помощью локальных настроек NGINX.
Следуйте рекомендациям по управлению модулем активной проверки атак¶
Один из методов обнаружения уязвимостей — Активная проверка атак. Модуль активной проверки атак воспроизводит атаки из реального трафика, обработанного нодой Вебмониторэкс, и анализирует ответ приложения на наличие признаков уязвимостей, которые потенциально могли быть проэксплуатированы.
Изучить рекомендации по управлению модулем активной проверки атак →