Профили WAF
Web Application Firewall (WAF) фильтрует и блокирует вредоносный трафик, направленный на веб-приложения и сайты. Он защищает от распространенных атак, таких как SQL-инъекции, XSS, веб-уязвимости и предотвращает компрометацию данных и простои ваших сервисов.
WAF анализирует входящие HTTP-запросы к веб-приложению по предварительно настроенным правилам. На основе результатов анализа к HTTP-запросам применяются определенные действия: запрос может быть разрешен, заблокирован или отправлен в SmartCaptcha.
Правила для анализа запроса настраиваются в профиле WAF. Профиль WAF подключается к профилю безопасности в виде отдельного правила WAF.
Подробнее о подключении к профилю безопасности см. в разделе Создайте и подключите профиль WAF.
В профиле WAF доступны следующие настройки:
Наборы правил
В профиле WAF доступны наборы правил: ML WAF (Yandex Malicious Score), Yandex Ruleset, OWASP Core Rule Set
ML WAF (Yandex Malicious Score)
Набор разработан Яндексом с использованием алгоритмов машинного обучения (ML). ML WAF позволяет выявлять и блокировать атаки, которые не покрываются сигнатурным методом. Правила автоматически адаптируются к новым тактикам атак. По умолчанию в наборе активна только группа правил Malicious attacks. Чтобы расширить покрытие ML WAF на другие группы атак, включите их отдельно.
Этот набор рекомендуется использовать как дополнительный к набору OWASP или Yandex Ruleset.
Полный список и описание правил от Яндекса см. в консоли управления
Примечание
Наборы правил Яндекса находятся на стадии Preview.
Yandex Ruleset
Набор разработан Яндексом с учетом реального опыта защиты сервисов компании. Набор содержит правила для обнаружения известных шаблонов атак (сигнатур), таких как инъекции кода (SQLi, XSS), уязвимостей из базы CVE, удаленного выполнения кода. Набор постоянно обновляется для защиты от новых угроз.
Набор Yandex Ruleset разделен на группы правил, которыми можно управлять индивидуально:
- Attack XSS. Выявляют межсайтовый скриптинг (XSS)
— внедрение вредоносного JavaScript-кода через уязвимости на стороне сервера (отраженные и хранимые XSS). Например, инъекции в параметры HTTP-запросов или внедрение скриптов в элементы пользовательского интерфейса. - Attack SQLI. Выявляют SQL-инъекции
— фрагменты вредоносного SQL-кода в параметрах HTTP-запросов для манипуляций базами данных SQL. - Attack LFI. Блокируют локальное включение файлов
(LFI) с целью несанкционированного чтения или выполнения локальных файлов на сервере через уязвимости в путях (например, с использованием ../ или абсолютных путей). - Attack RFI. Блокируют удаленное включение файлов (RFI) — атаки, направленные на выполнение вредоносного кода с внешних ресурсов путем внедрения URL в параметры включения файлов (например, include, require).
- Attack Tool. Выявляют активность автоматизированных инструментов: сканеров уязвимостей, эксплойт-фреймворков, брутфорс-утилит и других программ для тестирования проникновений
и атак (по сигнатурам User-Agent, шаблонам запросов). - Attack RCE. Защищают от удаленного выполнения кода и предотвращают запуск произвольных команд операционной системы на сервере через уязвимые параметры (например, инъекции в системные вызовы).
OWASP Core Rule Set
Набор разработан открытым проектом обеспечения безопасности веб-приложений OWASP для защиты от эксплуатации уязвимостей, входящих в рейтинг OWASP TOP‑10
В профиль WAF можно добавить один или несколько наборов правил. При добавлении нескольких наборов дополнительно настройте:
- Приоритет — последовательность наборов правил, определяющих итоговый вердикт.
- Условие срабатывания профиля — должен ли запрос быть распознан как угроза всеми добавленными наборами правил или хотя бы одним набором.
В настройках наборов можно выбрать конкретные правила для проверки запросов и настроить параметры их срабатывания. Для каждого правила установлены значение аномальности и уровень паранойи.
Совет
Чтобы защищать ресурсы с различными требованиями к безопасности, создайте несколько профилей WAF. В каждом из профилей можно настроить индивидуальный состав правил и параметры срабатывания правил.
Настройки правил
Аномальность
Каждому правилу из набора присвоено числовое значение аномальности — признака потенциальной атаки. Чем выше значение, тем более вероятно, что запрос, соответствующий правилу, является атакой.
Для OWASP Core Rule Set вы можете установить порог аномальности для всего набора правил — суммарную аномальность сработавших правил, при которой запрос будет заблокирован. Возможный диапазон значений для порога — от 2
до 10 000
. Рекомендуется начинать с порога аномальности 25
и постепенно снижать его до 5
.
Для Yandex Ruleset порог аномальности можно установить отдельно для каждой группы правил. Рекомендуется установить порог аномальности 7
.
Чтобы снизить порог аномальности, отработайте ложные срабатывания WAF на легитимные запросы. Для этого подберите правила из базового набора и настройте правила-исключения. Также для тестирования разных порогов аномальности используйте в профиле безопасности режим Только логирование.
Любое правило из набора можно сделать блокирующим. Запрос, соответствующий такому правилу, будет заблокирован независимо от установленного порога аномальности. Если в профиле безопасности включен режим Только логирование, запросы не будут заблокированы, даже если они соответствуют блокирующим правилам.
Уровень паранойи
Уровень паранойи задается только для набора OWASP и классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше уровень защиты, но и больше вероятность ложных срабатываний WAF.
В настройках набора базовых правил вы можете задать общий уровень паранойи, тем самым быстро задействовать список правил с соответствующим уровнем и ниже.
Правила-исключения
Правила-исключения предназначены для предотвращения ложных срабатываний WAF на легитимные запросы.
Можно настроить пропуск проверок по определенным правилам конкретного набора или по всем правилам всех наборов сразу. Поиск работает по всем наборам правил SWS, включая неактивные. Чтобы исключить определенные правила, сделайте выборку при помощи фильтров.
Для каждого правила-исключения можно задать условия применения. Если используются несколько условий разных типов, то все они должны быть выполнены, чтобы правило-исключение сработало. Если условия не указаны, правило-исключение будет применено ко всему трафику.
Настройка WAF требует индивидуального подхода для каждого приложения, нет универсальных конфигураций WAF. На этапе внедрения будут ложные срабатывания — это часть обучения WAF под ваш трафик. Настраивайте правила в режиме Только логирование и анализируйте логи. В среднем процесс настройки занимает неделю, но и после этого рекомендуется регулярно проверять логи и при необходимости корректировать правила.