Профили 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
Полный список и описание правил, которые входят в каждый набор, доступны в консоли управления
Примечание
Наборы правил Яндекса находятся на стадии Preview.
ML WAF (Yandex Malicious Score)
Набор разработан Яндексом с использованием алгоритмов машинного обучения (ML). ML WAF позволяет выявлять и блокировать атаки, которые не покрываются сигнатурным методом. Правила автоматически адаптируются к новым тактикам атак. По умолчанию в наборе активна только группа правил Malicious attacks. Чтобы расширить покрытие ML WAF на другие группы атак, включите их отдельно.
Этот набор рекомендуется использовать как дополнительный к набору OWASP или Yandex Ruleset.
Особенности настройки:
- Для каждого правила задается индивидуальный порог аномальности, при превышении которого запрос блокируется. Рекомендуемое начальное значение —
90. - Уровень паранойи не используется.
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. Защищают от удаленного выполнения кода и предотвращают запуск произвольных команд операционной системы на сервере через уязвимые параметры (например, инъекции в системные вызовы).
Особенности настройки:
- Группы правил включаются и отключаются независимо друг от друга.
- Для каждой группы задаются собственный порог аномальности и действие при его превышении.
- Правила в группе можно фильтровать по типу: базовые или связанные с уязвимостями из базы CVE.
- Уровень паранойи не используется.
Доступные версии
Версия 0.1.1
Набор содержит 129 правил, созданных при участии специалистов SolidSoft, разработчиков интеллектуального сетевого экрана SolidWall WAF
Основные изменения:
- Добавлено 40 новых правил, из них 34 правила для обнаружения критичных CVE в распространенных технологиях и продуктах, включая Bitrix, Log4j, React и PostgreSQL.
- Расширено покрытие атак типа LFI, RCE и SQLi.
- Переработана часть правил из версии 0.1.0 для снижения доли ложноположительных срабатываний.
Версия 0.1.0
Первая версия набора Yandex Ruleset содержит 90 правил для обнаружения базовых типов атак.
OWASP Core Rule Set
Набор разработан открытым проектом обеспечения безопасности веб-приложений OWASP для защиты от эксплуатации уязвимостей, входящих в рейтинг OWASP TOP‑10
Особенности настройки:
- Для всего набора задается общий порог аномальности, при превышении которого запрос блокируется.
- Для всего набора задается уровень паранойи.
- Правила объединены в группы (Method Enforcement, Scanner Detection, Protocol Enforcement и другие). Для каждого правила указаны значение аномальности и признак блокирующего правила.
Доступные версии
В Smart Web Security представлены версии OWASP Core Rule Set 4.0.0 и 4.8.0.
Настройки правил
В профиль WAF можно добавить один или несколько наборов правил. При добавлении нескольких наборов дополнительно настройте:
- Приоритет — последовательность наборов правил, определяющих итоговый вердикт.
- Условие срабатывания профиля — должен ли запрос быть распознан как угроза всеми добавленными наборами правил или хотя бы одним набором.
В настройках наборов можно выбрать конкретные правила для проверки запросов и настроить параметры их срабатывания. Для каждого правила установлены значение аномальности и уровень паранойи.
Совет
Чтобы защищать ресурсы с различными требованиями к безопасности, создайте несколько профилей WAF. В каждом из профилей можно настроить индивидуальный состав правил и параметры срабатывания правил.
Аномальность
Каждому правилу из набора присвоено числовое значение аномальности — признака потенциальной атаки. Чем выше значение, тем более вероятно, что запрос, соответствующий правилу, является атакой.
Порог аномальности — суммарная аномальность сработавших правил, при которой запрос будет заблокирован. Уровень, на котором задается порог, зависит от набора правил:
- В OWASP Core Rule Set порог задается для всего набора. Возможный диапазон значений — от
2до10 000. Рекомендуется начинать с порога25и постепенно снижать его до5. - В Yandex Ruleset порог задается отдельно для каждой группы правил. Рекомендуемое значение —
7. - В ML WAF порог задается отдельно для каждого правила. Рекомендуемое начальное значение —
90.
Чтобы снизить порог аномальности, отработайте ложные срабатывания WAF на легитимные запросы. Для этого подберите правила из базового набора и настройте правила-исключения. Также для тестирования разных порогов аномальности используйте в профиле безопасности режим Только логирование.
Любое правило из набора можно сделать блокирующим. Запрос, соответствующий такому правилу, будет заблокирован независимо от установленного порога аномальности. Если в профиле безопасности включен режим Только логирование, запросы не будут заблокированы, даже если они соответствуют блокирующим правилам.
Уровень паранойи
Уровень паранойи задается только для набора OWASP и классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше уровень защиты, но и больше вероятность ложных срабатываний WAF.
В настройках набора базовых правил вы можете задать общий уровень паранойи, тем самым быстро задействовать список правил с соответствующим уровнем и ниже.
Правила-исключения
Правило-исключение отключает срабатывание правил WAF на запросы, которые соответствуют заданным условиям. Используйте правила-исключения, чтобы устранить ложные срабатывания на легитимный трафик.
В правиле-исключении доступны блоки настроек:
-
Запись логов.
-
Пропускать проверки — для каких правил WAF будет срабатывать исключение: для всех правил или выбранных.
-
Область применения — какую часть запроса исключать из анализа правилами WAF:
- Весь запрос целиком.
- Определенные параметры запроса:
HTTP body,Cookie,HTTP headerилиQuery params.
-
Условия на трафик — к каким запросам применять исключение. Если задано несколько условий разных типов, исключение срабатывает только при выполнении всех условий одновременно. Если условия не заданы, исключение применяется ко всему трафику.
Рекомендации по настройке WAF
Профиль WAF настраивается индивидуально под особенности каждого веб-сервиса. Перед включением защиты тестируйте правила OWASP в режиме Только логирование не менее недели. Для наборов ML WAF и Yandex Ruleset период тестирования меньше, так как они учитывают специфику российского трафика. На этом этапе возможны ложные срабатывания — это часть обучения WAF под ваш трафик. Отслеживайте срабатывания в логах и корректируйте параметры правил. Например, при использовании HTTP/2 неправильно срабатывает правило с идентификатором id920280, его можно сразу отключить. В случае с HTTP/1.1 это правило работает корректно.
После перевода WAF в боевой режим регулярно проверяйте работу правил по логам и графикам мониторинга. Это позволит отследить нетипичные ситуации и донастроить защиту под ваше веб-приложение.