Правила
Правила позволяют группировать условия отбора HTTP-запросов с действиями, которые будут выполнятся с этими запросами, а также ранжировать приоритет выполнения правил между собой.
Приоритет правила выставляется с помощью числового параметра от 1 до 1000000.
Примечание
Чем меньше значение параметра, тем больший приоритет у правила. Приоритеты преднастроенных правил:
- базовое правило по умолчанию —
1000000; - правило Smart Protection с полной защитой —
999900.
Также вы можете фиксировать информацию о трафике, который соответствует заданным условиям, но не применять к нему никаких действий.
В сервисе предусмотрены следующие типы правил:
Также существует внутреннее сервисное правило, которое может срабатывать при атаках.
Подробнее см. Управление правилами.
Базовые правила
Базовое правило — правило, которое по заданным условиям разрешает, запрещает или направляет трафик в Yandex SmartCaptcha. Применяется для простой фильтрации трафика по определенным параметрам.
В каждом профиле безопасности предусмотрено базовое правило по умолчанию с самым низким приоритетом (1000000), с помощью которого разрешается или запрещается весь трафик.
Примечание
Если для базового правила по умолчанию установлено действие Запретить и запросы отправляются на проверку в SmartCaptcha, добавьте базовое правило, разрешающее запросы к капче. Адрес разрешенного запроса соответствует регулярному выражению: /tmgrdfrend.*. Установите для правила приоритет выше, чем у правил, которые отправляют запросы на капчу.
Правила Smart Protection
Smart Protection — правило, которое отправляет трафик по заданным условиям на автоматический анализ с помощью алгоритмов машинного обучения и поведенческого анализа. Это правило обеспечивает защиту от DDoS L7. Если правило отсутствует или работает в режиме Только логирование, защита не применяется и трафик поступает к защищаемому ресурсу. В зависимости от выбранного действия подозрительные запросы отправляются в SmartCaptcha для дополнительной верификации или блокируются.
Правила WAF + Smart Protection
Правила Web Application Firewall задействуют профиль WAF для анализа трафика на соответствие наборам базовых правил WAF. Эти правила также включают защиту Smart Protection от DDoS L7. В зависимости от выбранного действия подозрительные запросы отправляются в SmartCaptcha для дополнительной верификации или блокируются.
Для проверки запросов, соответствующих правилам Smart Protection и Web Application Firewall, вы можете использовать следующие варианты капчи SmartCaptcha:
-
По умолчанию— контролируется на стороне Yandex Cloud, параметры капчи:- Основное задание — Чекбокс.
- Дополнительное задание —
Силуэты. - Сложность дополнительного задания — Легкая.
- Внешний вид — Стандартный.
Плата за использование капчи
По умолчаниювключена в стоимость Smart Web Security. -
Собственная капча— вы можете настроить сложность, типы основного и дополнительного заданий, а также внешний вид капчи.Примечание
Чтобы использовать собственную капчу, выберите в ее настройках опцию Отключить проверку домена.
Плата за использование собственной капчи взимается в соответствии с тарификацией SmartCaptcha.
Правила Advanced Rate Limiter
Правило Advanced Rate Limiter вычисляет количество запросов, пришедших за определенный промежуток времени. Запросы считаются после того, как они были разрешены правилами Smart Protection и Web Application Firewall. Поэтому для правил ARL действует свой приоритет, который не зависит от приоритета других правил.
Правила ARL позволяют задать лимиты на весь трафик или на его сегменты.
В отличие от правил Smart Protection и WAF, правила ARL задаются в профиле ARL.
Сервисное правило
Для усиления защиты от атак Smart Web Security может блокировать запрос, даже если профиль пользователя его разрешает. Эта механика применяется только для вредоносных запросов. Для остальных запросов будет работать профиль безопасности, настроенный пользователем.
При срабатывании сервисного правила в логах появится отметка sws_service_rule.
Примеры логов
-
В сервисе Smart Web Security:
matched_rule_name: "sws_service_rule", matched_rule_type: "SMART_PROTECTION", matched_rule_verdict: "DENY", -
В сервисе Yandex Application Load Balancer:
"matched_rule": { "dry_run": "false", "rule_name": "sws_service_rule", "rule_type": "SMART_PROTECTION", "verdict": "DENY" }
Действие правил
Действия для базовых правил:
- Запретить трафик, параметры которого соответствуют условиям.
- Разрешить трафик, параметры которого соответствуют условиям.
Действия для правил Smart Protection и Web Application Firewall:
-
Полная защита — трафик проверяется на основе ML-моделей и поведенческого анализа. Подозрительные запросы отправляются в SmartCaptcha.
Важно
Для корректной работы вашего приложения обрабатывайте HTTP-запросы с динамической загрузкой контента в режиме Защита API.
-
Защита API используется для эндпоинтов:
- мобильных приложений;
- на которые совершаются автоматизированные вызовы;
- на которых обрабатываются запросы с динамической загрузкой контента (например,
ajax,xhr,iframeи так далее).
Трафик проверяется на основе ML-моделей и поведенческого анализа. Запросы не отправляются в SmartCaptcha, что позволяет совершать легитимные API-вызовы к защищаемым ресурсам. Специальные политики DDoS-защиты блокируют только явные попытки атак. Если запрос в режиме полной защиты был перенаправлен на капчу, то для API он может быть пропущен к защищенному ресурсу.
Действия для правил Advanced Rate Limiter:
-
Блокировать запросы свыше лимита — когда количество запросов превысит заданный лимит за определенное время, остальные запросы будут блокироваться до окончания периода лимита. Клиент, отправивший запрос, получит ошибку
429. -
Временно блокировать все запросы — когда количество запросов превысит заданный лимит за определенное время, остальные запросы будут блокироваться на фиксированный период времени, а не до конца периода лимита. Клиент, отправивший запрос, получит ошибку
429. Период блокировки можно указать от 1 секунды до 24 часов. -
Отправлять на капчу запросы свыше лимита — когда количество запросов превысит заданный лимит за определенное время, остальные запросы будут направляться в SmartCaptcha.
Запросы, поступившие после достижения лимита, будут отправлены на капчу. Капча настраивается через профиль безопасности, к которому подключен профиль ARL. Это действие помогает отделять легитимных пользователей от ботов. При этом запросы не будут заблокированы полностью, и доступность приложения сохранится.
Важно
Не используйте капчу для HTTP-запросов с динамической загрузкой контента (
ajax,xhr,iframe) и запросов к мобильным приложениям.
Для унификации страниц ответа клиентам при срабатывании правил можно создать собственные шаблоны ответов.
Запросы, которые были разрешены всеми правилами и пропущены к защищаемому ресурсу, называются легитимными.
Общие принципы работы правил
-
Все правила в профиле срабатывают одновременно, при этом одному запросу могут соответствовать несколько правил. Итоговое действие для запроса определяется правилом с наивысшим приоритетом.
-
Назначайте более высокий приоритет:
- правилам, которые разрешают запросы;
- правилам с условиями фильтрации по конкретным параметрам.
Иначе к запросу могут примениться общие правила с более широкими условиями.
-
Если для среза трафика вы используете WAF‑правило, отдельное правило Smart Protection от DDoS-атак для этого же среза не требуется, оно уже включено в WAF‑правило. Поэтому у WAF‑правил есть режимы полной защиты и защиты API.
-
В режиме защиты API запросы в SmartCaptcha не отправляются. Используйте этот режим для автоматизированного трафика, мобильных приложений и запросов с динамической загрузкой контента (например,
ajax,xhr,iframe). -
Правила профиля ARL применяется после профиля безопасности и могут блокировать часть легитимных запросов. Поэтому если вы настроили разрешающие правила в профиле безопасности, продублируйте их в профиле ARL.
-
Правила в режиме
Только логированиене влияют на обработку трафика — вместо них применяется следующее по приоритету правило в боевом режиме.
Профиль безопасности
Правила в профиле безопасности применяются к трафику согласно приоритету: чем меньше число, тем выше приоритет.
Рекомендуемый порядок приоритетов
- Разрешающее правило для служебных маршрутов капчи.
- Разрешающие правила с условиями на трафик.
- Блокирующие правила с условиями на трафик.
- Правила Smart Protection и WAF + Smart Protection в режиме Защита API с условиями на трафик для эндпоинтов, где нельзя показывать капчу.
- Правила Smart Protection и WAF + Smart Protection в режиме Полная защита с условиями на трафик.
- Правила Smart Protection и WAF + Smart Protection в режиме Полная защита на весь трафик.
Пример настройки правил
| Приоритет | Имя правила | Действие | Описание правила |
|---|---|---|---|
| 8000 | allow-captcha | Разрешить | Правило для разрешения служебных путей капчи |
| 9000 | allow-by-list | Разрешить | Базовое для белых IP-адресов |
| 9100 | block-by-list | Запретить | Базовое для черных IP-адресов |
| 9200 | block-by-geo | Запретить | Базовое по регионам |
| 900000 | api-protection | Защита API | Smart Protection для публичного API |
| 999900 | sp-rule-1 | Полная защита | Smart Protection из готового шаблона |
| 1000000 | Разрешить | Базовое по умолчанию |
Для базового правила по умолчанию устанавливается действие Разрешить, пока остальные правила находятся в режиме Только логирование. При переключении правил в боевой режим установите базовому правилу по умолчанию действие Запретить.
Профиль ARL
Правила в профиле ARL применяются к трафику, который уже прошел проверку правилами профиля безопасности. Профиль ARL имеет собственную систему приоритетов, которая не зависит от приоритетов правил в профиле безопасности. Чем меньше число, тем выше приоритет правила ARL. Порядок выполнения правил приведен в таблице.
| Приоритет | Имя правила | Действие | Описание правила |
|---|---|---|---|
| 1000 | arl-rule-1 | Блокировать запросы свыше лимита | Ограничение общей нагрузки на ресурс |
| 2000 | arl-rule-2 | Временно блокировать все запросы | Защита от ботов, парсеров, брутфорса, спама |
| 3000 | arl-rule-3 | Отправлять на капчу запросы свыше лимита | Ограничение запросов к API |
Правила ARL можно настраивать с любыми значениями приоритета. В режиме Только логирование правила ARL не блокируют запросы, но фиксируют информацию о превышении лимитов в логах.