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

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

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

Условия

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

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

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

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

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

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

В одной проверке может быть несколько значений. При проверке принадлежности IP региону между значениями действует ИЛИ: достаточно совпадения с одним из указанных регионов.

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

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

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

Пример с 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-адрес относится к любому из перечисленных регионов или входит в список — условие не выполнено.

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

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

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

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

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

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

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 задайте в поле Значение путь без схемы, домена и параметров запроса, его префикс или регулярное выражение библиотеки PIRE. Параметры запроса проверяются отдельно в Query Match.

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

Query Match

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

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

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

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

Host

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

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

HTTP method

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

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

Cookie

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

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

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

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

HTTP body

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

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

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

Условие http_body доступно в правилах профиля безопасности, WAF и ARL.

Тело запроса анализируется как обычный текст, без разбора структуры 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

  • Да
  • Нет

Является ли данный бот проверенным и одобренным: Да, Нет

Bot score

Значение или диапазон значений оценки роботности от 0 до 100 с операторами >=, <=, =, !=.

Интерпретация оценки:

  • не более 20 — человек;
  • 20–40 — вероятно человек;
  • 40–60 — не определено;
  • 60–80 — вероятно бот;
  • более 80 — бот.

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

FingerPrint

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

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

Отпечаток формируется на основе версии TLS, наборов шифров, расширений, алгоритмов подписи и других параметров. Примеры значений:

  • 6734f37431670b3ab4292b8f60f29984 (отпечаток TrickBot по методу JA3);
  • 4d7a28d6f2263ed61de88ca66eb011e3 (отпечаток Emotet по методу JA3);
  • t13d3812h2_8a4b5c6d_7e8f9a0b (формат JA4).

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

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

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

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

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

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

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

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

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

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

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

Предыдущая
Правила
Следующая
Списки
Сделано на Gravity UI
Проект Яндекса
© 2026 ООО «Яндекс.Облако»