Yandex Cloud
Поиск
Связаться с экспертомПопробовать бесплатно
  • Кейсы
  • Документация
  • Блог
  • Все сервисы
    • Cloud Interconnect
    • Cloud Backup
    • Cloud Registry
    • Compute Cloud
    • Object Storage
    • Managed Service for Kubernetes®
    • Managed Service for PostgreSQL
    • Managed Service for ClickHouse®
    • Monium
    • Cloud CDN
    • Network Load Balancer
    • Virtual Private Cloud
    • Cloud DNS
    • Application Load Balancer
    • Yandex Cloud Router
    • Managed Service for MySQL®
    • Managed Service for Valkey™
    • Managed Service for Apache Spark™
    • Managed Service for OpenSearch
    • Managed Service for Apache Kafka®
    • Data Transfer
    • Yandex MPP Analytics Engine for PostgreSQL
    • Managed Service for YDB
    • SpeechKit
    • Yandex Identity Hub
    • Key Management Service
    • Certificate Manager
    • Yandex Lockbox
    • Audit Trails
    • Container Registry
    • Managed Service for Prometheus®
    • Message Queue
    • Identity and Access Management
    • Yandex Cloud Console
    • Resource Manager
    • Yandex Cloud Billing
    • Cloud Apps
    • Yandex AI Studio
    • Yandex BareMetal
    • Smart Web Security
    • Security Deck
    • Yandex Cloud Video
    • Stackland
    • Yandex Managed Service for Apache Airflow®
    • Data Processing
    • Yandex MetaData Hub
    • Yandex WebSQL
    • DataLens
    • Yandex Search API
    • SpeechSense
    • DataSphere
    • Vision OCR
    • Translate
    • SmartCaptcha
    • Yandex SIEM
    • SourceCraft Code Assistant
    • Managed Service for GitLab
    • Cloud Functions
    • API Gateway
    • Yandex Cloud Postbox
    • IoT Core
    • Serverless Containers
    • Cloud Notification Service
  • Статус работы сервисов
  • Marketplace
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Искусственный интеллект
    • Безопасность
    • Инструменты DevOps
    • Бессерверные вычисления
    • Управление ресурсами
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Калькулятор цен
    • Тарифы
  • Кейсы
  • Документация
  • Блог
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»
Yandex Smart Web Security
RU
  • Начало работы
    • Обзор
    • Профили безопасности
    • Профили WAF
    • ARL (лимит на запросы)
    • Правила
    • Условия
    • Списки
    • Управление бот-трафиком
    • Защита доменов
    • Network Protection (защита от DDoS L3–L4)
    • Шаблоны ответов
    • Логирование
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики
  • Аудитные логи
  • История изменений

В этой статье:

  • Объединение условий
  • Пример с IP-адресом и HTTP-заголовком
  • Пример с исключением регионов и списка IP-адресов
  • Описание условий
  • Формат регулярных выражений
  • Особенности синтаксиса
  • Регистр в регулярных выражениях
  • Примеры регулярных выражений
  1. Концепции
  2. Условия

Условия

Статья создана
Yandex Cloud
Обновлена 3 ноября 2026 г.
Открыть в Markdown
  • Объединение условий
    • Пример с IP-адресом и HTTP-заголовком
    • Пример с исключением регионов и списка IP-адресов
  • Описание условий
  • Формат регулярных выражений
    • Особенности синтаксиса
    • Регистр в регулярных выражениях
    • Примеры регулярных выражений

Условия определяют, к каким HTTP-запросам применяется правило Smart Web Security.

Объединение условийОбъединение условий

В одном правиле может быть несколько условий, а внутри одного условия — несколько проверок. Например, в условии IP можно одновременно проверить принадлежность адреса региону и списку адресов.

Условия разных типов (например, IP и HTTP header) объединяются оператором И — запрос должен соответствовать каждому из них.

Проверки внутри условий IP, HTTP-заголовков, параметров запроса, cookie и Bot score объединяются оператором И: должны выполняться все настроенные проверки.

В одной проверке может быть несколько значений. Между ними действует ИЛИ: достаточно совпадения с одним из значений. Например, в проверке IP принадлежит региону достаточно, чтобы адрес относился к одному из указанных регионов. Так же объединяются IP-адреса и диапазоны, значения ASN и списки в одной проверке.

В проверках с отрицанием совпадений не должно быть ни с одним из значений. Например, IP не принадлежит региону означает, что адрес не относится ни к одному из указанных регионов. Аналогично IP не принадлежит списку требует, чтобы адрес не входил ни в один из указанных списков.

Если достаточно выполнения одного из условий или одной из проверок, создайте для них отдельные правила с одинаковым действием. При настройке учитывайте порядок применения правил.

В правилах ARL соответствие условиям само по себе не означает блокировку: действие применяется при превышении лимита запросов.

Примеры объединения условий

Пример с IP-адресом и HTTP-заголовкомПример с IP-адресом и HTTP-заголовком

В правиле настроены два условия:

  • IP — адрес принадлежит одному из регионов ru или kz и входит в выбранный список адресов.
  • HTTP header — значение заголовка User-Agent начинается с curl/.

Допустим, сервис определил регион IP-адреса клиента как ru, а сам адрес входит в выбранный список. Клиент отправляет запрос:

GET /api/orders HTTP/1.1
Host: api.example.com
User-Agent: curl/8.0

Запрос соответствует обоим условиям: IP-адрес принадлежит допустимому региону и входит в список, а значение заголовка начинается с curl/.

Если заменить заголовок на User-Agent: Mozilla/5.0, запрос перестанет соответствовать условиям правила, хотя обе проверки IP по-прежнему выполнены.

Пример с исключением регионов и списка IP-адресовПример с исключением регионов и списка IP-адресов

В условии IP настроены две проверки: IP не принадлежит региону со значениями ru, kz, tr, ge и IP не принадлежит списку с выбранным списком адресов.

Возможны два результата проверки:

  • IP-адрес вне перечисленных регионов и вне списка — обе проверки выполнены, запрос соответствует условию.
  • IP-адрес относится к любому из перечисленных регионов или входит в список — условие не выполнено.

Описание условийОписание условий

В таблице указаны способы сопоставления, форматы значений и примеры настройки для каждого типа условия.

Проверка Соответствует условиям на списки позволяет сопоставлять значение со списками строк или регулярных выражений. Для совпадения достаточно, чтобы значение соответствовало хотя бы одному элементу любого из выбранных списков (ИЛИ). При проверке отсутствия совпадений значение не должно соответствовать ни одному элементу ни одного из выбранных списков.

Проверка Совпадает с выполняется, только если значение совпадает с указанной строкой целиком.

Тип и способы сопоставления

Значения и пример

IP

  • Совпадает или принадлежит диапазону
  • Не совпадает и не принадлежит диапазону
  • IP принадлежит региону
  • IP не принадлежит региону
  • IP принадлежит списку
  • IP не принадлежит списку
  • IP принадлежит ASN
  • IP не принадлежит ASN
  • IP принадлежит списку ASN
  • IP не принадлежит списку ASN

В зависимости от проверки укажите:

  • IP-адрес: 192.0.2.10 или 2001:db8::1.
  • Подсеть в формате CIDR: 192.0.2.0/24 (IPv4).
  • Подсеть в формате CIDR: 2001:db8::/32 (IPv6).
  • Диапазон адресов: 192.0.2.10-192.0.2.20.
  • Двухбуквенный код страны по ISO 3166-1 alpha-2: ru, kz.
  • Значение ASN в виде целого числа без префикса as: 12345.

Например, проверке Совпадает или принадлежит диапазону со значением 192.0.2.0/24 соответствует адрес 192.0.2.10, но не 198.51.100.10.

HTTP header

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Существует
  • Не существует
  • Соответствует условиям на списки

В поле Ключ укажите имя HTTP-заголовка. Регистр в имени не учитывается. Для сопоставления со строкой или регулярным выражением задайте в поле Значение полное значение заголовка, его префикс или регулярное выражение библиотеки PIRE.

Пример: Ключ — User-Agent, проверка Начинается с, Значение — curl/. Такой проверке соответствует заголовок User-Agent: curl/8.0.

Проверки заголовков объединяются оператором И.

Request URI

Request path:

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Соответствует условиям на списки

Query Match (необязательно) — те же способы, а также:

  • Существует
  • Не существует

Request path. В поле Значение укажите путь без схемы, домена и параметров запроса, его префикс или регулярное выражение.

Например, в URL https://example.com/api/orders?status=pending путь — /api/orders. Он соответствует проверке Начинается с со значением /api/.

Перед сравнением сервис удаляет косые черты / в конце пути запроса, кроме корневого пути /. Поэтому проверке Совпадает с со значением /api/orders соответствуют пути /api/orders и /api/orders/.

В проверке Совпадает с указывайте путь без завершающей косой черты. Регулярное выражение также должно соответствовать пути без нее. Исключение — корневой путь /.

Если значение в проверке Начинается с заканчивается на /, ему соответствует и путь без завершающей косой черты: значению /api/ соответствуют /api и /api/orders.

Query Match. В поле Ключ укажите имя параметра запроса. Для сопоставления со строкой или регулярным выражением задайте в поле Значение полное значение параметра, его префикс или регулярное выражение.

Пример: Ключ — status, проверка Совпадает с, Значение — pending. Такой проверке соответствует параметр status=pending в запросе /api/orders?status=pending.

Проверки параметров запроса и проверка пути объединяются оператором И.

Host

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Соответствует условиям на списки

Проверяется значение заголовка Host для HTTP/1.1 или псевдозаголовка :authority для HTTP/2, по которому выбирается виртуальный хост. Укажите полное значение, например api.example.com, его префикс или регулярное выражение.

HTTP method

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Соответствует условиям на списки

Укажите метод HTTP-запроса в верхнем регистре (например, GET, POST или DELETE), его префикс или регулярное выражение. Допускаются произвольные имена методов.

Чтобы проверить несколько методов, используйте регулярное выражение, например `(POST

PUT

DELETE)`, или список строк.

Cookie

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Существует
  • Не существует
  • Соответствует условиям на списки

В поле Ключ укажите имя cookie. Для сопоставления со строкой или регулярным выражением задайте в поле Значение полное значение cookie, его префикс или регулярное выражение.

Например, проверка Существует с ключом session_id выполнена, если запрос содержит cookie с таким именем.

Проверки cookie объединяются оператором И.

HTTP body

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Соответствует условиям на списки

Укажите полное содержимое тела HTTP-запроса, его префикс или регулярное выражение.

При проверке Совпадает с и значении action=login тело запроса должно содержать только эту строку. Тело action=login&user=test проверку не пройдет.

Чтобы найти строку в любом месте тела, используйте регулярное выражение, например .*action=login.*.

Условие HTTP body доступно в правилах профилей безопасности и ARL, а также в правилах-исключениях WAF.

Тело запроса анализируется как обычный текст, без разбора структуры JSON или XML. Для корректного сопоставления используйте текстовое тело запроса с соответствующим заголовком Content-Type, например:

  • text/plain, text/csv, text/html — обычный текст, CSV, HTML;
  • application/x-www-form-urlencoded — данные формы;
  • application/json, application/xml — JSON, XML.

Дополнительно закодированные данные, например в формате Base64, не декодируются при сопоставлении.

Bot name

  • Принадлежит списку
  • Не принадлежит списку

Список имен легитимных ботов, принадлежащих различным компаниям и сервисам, например YandexBot или SEMrushBot.

Bot category

  • Принадлежит списку
  • Не принадлежит списку

Список категорий ботов, например AccessibilityBot или SearchEngineCrawlerBot.

Verified bot

  • Да
  • Нет

Проверяется, верифицирован ли бот сервисом Smart Web Security.

Bot score

Оценка роботности запроса от 0 (человек) до 100 (бот). Чем выше оценка, тем вероятнее, что запрос отправил бот. Задайте значение или диапазон с помощью операторов >=, <=, =, !=.

Проверки оценки объединяются оператором И. Например, >= 40 и <= 60 задают диапазон от 40 до 60 включительно.

FingerPrint

  • Совпадает с
  • Не совпадает с
  • Начинается с
  • Не начинается с
  • Соответствует регулярному выражению
  • Не соответствует регулярному выражению
  • Соответствует условиям на списки

Отпечаток SSL/TLS‑соединения по методу JA3 или JA4. В поле Условия на FingerPrint выберите тип отпечатка: Ja3 или Ja4.

Для JA3 используется исходная строка параметров TLS-сообщения ClientHello без MD5-преобразования. Примеры значений:

  • JA3: 771,4865-4866-4867,0-11-10-35-16-5-13,29-23-24,0.
  • JA4: t13d1516h2_8daaf6152771_b186095e22b6.

Формат регулярных выраженийФормат регулярных выражений

Smart Web Security использует регулярные выражения библиотеки PIRE. Выражение применяется к выбранной части HTTP-запроса. Например, в условии HTTP header проверяется значение указанного заголовка.

Выражение должно соответствовать значению целиком. Например, выражению admin соответствует только значение admin. Чтобы найти подстроку в любом месте значения, добавьте .* в начало и конец выражения: .*admin.*.

Особенности синтаксисаОсобенности синтаксиса

Чтобы использовать специальный символ как обычный, экранируйте его обратной косой чертой \. Например, \. соответствует точке.

В Smart Web Security символы & (пересечение выражений) и ~ (отрицание) также имеют специальное значение. Для буквального сопоставления экранируйте их: \&, \~. Например, телу запроса action=login&user=test соответствует выражение action=login\&user=.*.

В PIRE \w соответствует латинской или русской букве, а \W — любому другому символу. Цифры и _ в \w не входят.

Регистр в регулярных выраженияхРегистр в регулярных выражениях

По умолчанию регистр учитывается: выражению example не соответствует строка Example.

Модификатор (?i) отключает учет регистра и допускается только в начале регулярного выражения. Например, (?i)example соответствует строкам example, EXaMple и EXAMPLE.

Проверки Совпадает с и Начинается с всегда учитывают регистр: модификатор (?i) в них не действует.

Примеры регулярных выраженийПримеры регулярных выражений

В примерах используется проверка Соответствует регулярному выражению:

  • Пути API. Для Request path укажите /api/(v1|v2)/orders. Выражение соответствует путям /api/v1/orders и /api/v2/orders, но не /api/v3/orders.
  • Числовой параметр запроса. Для Query Match укажите ключ order_id и выражение [0-9]+. Ему соответствует значение 12345, но не abc и не 12a.
  • Поддомены. Для Host укажите (api|admin)\.example\.com. Выражение соответствует значениям api.example.com и admin.example.com, но не api-example.com. Обратная косая черта перед каждой точкой позволяет сопоставлять ее как обычный символ.

Была ли статья полезна?

Предыдущая
Правила
Следующая
Списки
Проект Яндекса
© 2026 ТОО «Облачные Сервисы Казахстан»