Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Истории успеха
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Доступны в регионе
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • AI Studio
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Партнёрская программа
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Истории успеха
  • Документация
  • Блог
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»
Практические руководства
    • Все руководства
    • Разграничение прав доступа для групп пользователей
    • Приглашение нового пользователя и назначение ролей
    • Создание L7-балансировщика с профилем безопасности Smart Web Security через Ingress-контроллер Application Load Balancer
    • Централизованная публикация в интернете и защита приложений от DDoS
    • Базовая настройка SWS
    • Экстренная защита сервисов в Application Load Balancer от DDoS на уровне L7
    • Передача логов с виртуальной машины в Cloud Logging
    • Запись логов балансировщика в PostgreSQL
    • Безопасное хранение паролей для GitLab CI в виде секретов Yandex Lockbox
    • Сервисный аккаунт с профилем OS Login для управления ВМ с помощью Ansible
    • Передача логов с Container Optimized Image в Cloud Logging
    • Добавление HTML-страницы для работы SmartCaptcha
    • Создание L7-балансировщика с профилем безопасности
    • Настройка алертов в Monitoring
    • Загрузка аудитных логов в MaxPatrol SIEM
    • Загрузка аудитных логов в SIEM Splunk
    • Загрузка аудитных логов в SIEM ArcSight
    • Шифрование для бакета Object Storage на стороне сервера
    • Шифрование секретов в HashiCorp Terraform
    • Управление ключами KMS с HashiCorp Terraform
    • Auto Unseal в HashiCorp Vault
    • Передача логов кластера Managed Service for Greenplum® в Yandex Cloud Logging

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

  • Порядок работы
  • Необходимые платные ресурсы
  • Подготовьте облако к работе
  • Создайте защищаемый ресурс
  • Подготовьте данные о ресурсе
  • Создайте прокси-сервер
  • Добавьте домен
  • Настройте вашу инфраструктуру
  • Проверьте статус вашего ресурса
  • Настройте защиту от DDoS и ботов
  • Создайте профиль безопасности
  • Настройте фильтрацию по спискам адресов
  • Настройте фильтрацию по регионам
  • Настройте разрешающее правило для капчи
  • Проверьте порядок выполнения правил
  • Подключите профиль безопасности к ресурсам
  • Проверьте профиль безопасности в режиме логирования
  • Проверьте профиль безопасности в реальном режиме
  • Настройте ограничение нагрузки
  • Создайте профиль ARL
  • Настройте правила ARL
  • Добавьте профиль ARL к профилю безопасности
  • Проверьте работу правил ARL
  • Настройте Web Application Firewall
  • Создайте профиль WAF
  • Настройте набор базовых правил
  • Создайте правило-исключение
  • Добавьте профиль WAF к профилю безопасности
  • Проверьте работу правил WAF
  • Дальнейшая настройка политик безопасности
  1. Безопасность
  2. Базовая настройка SWS

Базовая настройка защиты в Smart Web Security

Статья создана
Yandex Cloud
Обновлена 30 июля 2025 г.
  • Порядок работы
  • Необходимые платные ресурсы
  • Подготовьте облако к работе
  • Создайте защищаемый ресурс
    • Подготовьте данные о ресурсе
    • Создайте прокси-сервер
    • Добавьте домен
    • Настройте вашу инфраструктуру
    • Проверьте статус вашего ресурса
  • Настройте защиту от DDoS и ботов
    • Создайте профиль безопасности
    • Настройте фильтрацию по спискам адресов
    • Настройте фильтрацию по регионам
    • Настройте разрешающее правило для капчи
    • Проверьте порядок выполнения правил
    • Подключите профиль безопасности к ресурсам
    • Проверьте профиль безопасности в режиме логирования
    • Проверьте профиль безопасности в реальном режиме
  • Настройте ограничение нагрузки
    • Создайте профиль ARL
    • Настройте правила ARL
    • Добавьте профиль ARL к профилю безопасности
    • Проверьте работу правил ARL
  • Настройте Web Application Firewall
    • Создайте профиль WAF
    • Настройте набор базовых правил
    • Создайте правило-исключение
    • Добавьте профиль WAF к профилю безопасности
    • Проверьте работу правил WAF
  • Дальнейшая настройка политик безопасности

Smart Web Security (SWS) защищает веб-ресурсы от интернет-угроз, фильтруя вредоносный трафик.

Для индивидуальной настройки можно подключить несколько инструментов Smart Web Security:

  • базовые правила для простой фильтрации;
  • правила Smart Protection для защиты от DDoS;
  • SmartCaptcha для защиты от ботов;
  • Web Application Firewall (WAF) — от эксплуатации уязвимостей;
  • Advanced Rate Limiter (ARL) для ограничения трафика.

Каждый инструмент настраивается по этапам: добавление правил, проверка в реальных условиях и корректировка. Рекомендуется настраивать инструменты последовательно, начиная с базовых правил и Smart Protection. Это позволит быстро включить защиту и облегчить отслеживание и корректировку правил.

В этом руководстве вы настроите защиту веб-ресурса с помощью инструментов SWS, которые будут подключаться к профилю безопасности — центральному элементу SWS. Настройка профиля безопасности включает калибровку правил на основе реального трафика веб-приложения. Поэтому предполагается, что у вас уже есть настроенный веб-ресурс в Yandex Cloud или в другой инфраструктуре.

Порядок работыПорядок работы

  1. Подключение ресурсов к Yandex Cloud:

    1. Подготовьте облако к работе
    2. Создайте защищаемый ресурс
  2. Настройте защиту от DDoS и ботов:

    1. Создайте профиль безопасности
    2. Настройте фильтрацию по спискам адресов
    3. (Опционально) Настройте фильтрацию по регионам
    4. Настройте разрешающее правило для капчи
    5. Проверьте порядок выполнения правил
    6. Подключите профиль безопасности к ресурсам
    7. Проверьте профиль безопасности в режиме логирования
    8. Проверьте профиль безопасности в реальном режиме
  3. Настройте ограничение нагрузки:

    1. Создайте профиль ARL
    2. Настройте правила ARL
    3. Добавьте профиль ARL к профилю безопасности
    4. Проверьте работу правил ARL
  4. (Опционально) Настройте Web Application Firewall

    1. Создайте профиль WAF
    2. Настройте набор базовых правил
    3. Создайте правило-исключение
    4. Добавьте профиль WAF к профилю безопасности
    5. Проверьте работу правил WAF

Необходимые платные ресурсыНеобходимые платные ресурсы

  • Плата за количество запросов в сервис Smart Web Security.
  • Плата за инфраструктуру Application Load Balancer или API Gateway при ее использовании. Инфраструктура доменов не тарифицируется.

Подготовьте облако к работеПодготовьте облако к работе

Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:

  1. Перейдите в консоль управления, затем войдите в Yandex Cloud или зарегистрируйтесь.
  2. На странице Yandex Cloud Billing убедитесь, что у вас подключен платежный аккаунт, и он находится в статусе ACTIVE или TRIAL_ACTIVE. Если платежного аккаунта нет, создайте его и привяжите к нему облако.

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

Подробнее об облаках и каталогах.

Создайте защищаемый ресурсСоздайте защищаемый ресурс

Профиль безопасности можно подключить к разным типам ресурсов:

  • Виртуальный хост или Ingress-контроллер для защиты ресурсов, использующих Yandex Application Load Balancer.
  • API-шлюз API Gateway для защиты API ваших приложений.
  • Домен для защиты вашего сайта или веб-приложения, расположенного в Yandex Cloud, в вашей внутренней инфраструктуре или на других хостингах.

Руководство предполагает, что у вас уже есть настроенный веб-ресурс. Если ресурс находится вне Yandex Cloud или вы не используете Application Load Balancer и API Gateway, создайте домен по инструкции ниже. Также можно ознакомиться с документацией других сервисов, которые работают с Smart Web Security, и настроить соответствующую инфраструктуру.

L7-балансировщик
API-шлюз
Домен

Application Load Balancer равномерно распределяет входящий трафик между узлами, что позволяет избежать перегрузки и повысить отказоустойчивость.

API-шлюз — единая точка входа для API различных сервисов, которая позволяет управлять запросами, маршрутизацией, аутентификацией и так далее.

Домен — сервер, сайт, приложение, которое обрабатывает внешние запросы по веб-адресу. Для защиты домена Smart Web Security предоставляет прокси-сервер с балансировкой нагрузки, анализом и маршрутизацией запросов, а также базовой защитой от DDoS.

На прокси-сервере установлено ограничение MTU для всех пакетов — 1450 байт.

Примечание

Функциональность защиты доменов находится на стадии Preview.

Подготовьте данные о ресурсеПодготовьте данные о ресурсе

  • Адрес домена, на котором работает веб-приложение. У вас должен быть доступ к кабинету управления доменом, чтобы изменить A-запись.
  • IP-адрес сервера, порт и протокол, на котором работает веб-приложение.
  • Действительный приватный ключ и TLS-сертификат для этого домена в PEM-encoded формате. Поддерживаются сертификаты с ключами RSA-2048 и RSA-4096.

Создайте прокси-серверСоздайте прокси-сервер

Консоль управления
  1. В консоли управления выберите каталог.

  2. В списке сервисов выберите Smart Web Security.

  3. На панели слева выберите Защита доменов.

  4. Нажмите кнопку Создать прокси-сервер.

  5. Введите произвольное имя для прокси-сервера, например, test-proxy.

  6. Включите опцию Логировать запросы.

  7. Выберите существующую лог-группу или создайте новую.

  8. Нажмите кнопку Создать сервер.

    Для работы с прокси-сервером будет создан сервисный аккаунт с ролями monitoring.editor, smart-web-security.admin, certificate-manager.admin, logging.writer.

    Создание прокси-сервера может занять несколько минут. Дождитесь, когда сервер перейдет в статус Active. После этого можно добавить домен.

Добавьте доменДобавьте домен

Консоль управления
  1. В меню слева перейдите на вкладку Домены и нажмите кнопку Добавить домен.

  2. Введите адрес домена, на котором находится ваше веб-приложение, например, example.com.

  3. Нажмите Продолжить.

  4. Выберите тип соединения, которое используется в вашем приложении. Рекомендуем выбрать защищенный протокол HTTPS.

  5. Если вы используете сервис Certificate Manager и добавляли в него сертификат вашего домена, выберите его из списка.

  6. Если вы не используете Certificate Manager, нажмите кнопку Создать → Пользовательский сертификат.

    1. Введите произвольное имя сертификата.
    2. Скопируйте или загрузите файлом приватный ключ, сертификат и цепочку промежуточных сертификатов в формате PEM.
    3. Нажмите кнопку Создать сертификат.
  7. Нажмите Продолжить.

  8. В блоке Целевые ресурсы задайте настройки целевых ресурсов:

    1. IP-адрес и порт, на котором работает ваше веб-приложение.
    2. (Опционально) Разверните блок Подключение к целевым ресурсам, чтобы выбрать протокол, на котором работает ваше веб-приложение.
  9. Нажмите кнопку Добавить домен.

После создания домена откроется страница обзора параметров домена. В разделе Как активировать защиту? скопируйте IP-адрес прокси-сервера, он потребуется на следующем шаге.

Настройте вашу инфраструктуруНастройте вашу инфраструктуру

  1. Добавьте ресурсную А-запись в публичную DNS-зону вашего домена, указав в ней значения:

    • Имя записи — адрес вашего домена, заканчивающийся на точку. Например: example.com. или my.first.example.com..
    • Значение — полученный на предыдущем шаге IPv4-адрес прокси-сервера.

    Эта запись перенаправляет запросы, которые поступают на ваш домен, на IP-адрес прокси-сервера.

    Примечание

    Если ваш домен делегирован Yandex Cloud DNS, создайте ресурсную запись по инструкции. В остальных случаях воспользуйтесь личным кабинетом вашего регистратора доменных имен. Если нужна помощь, обратитесь к документации регистратора или в его поддержку.

  2. В настройках вашего сервера запретите все соединения и разрешите только соединения для IP-адресов Yandex Cloud.

Проверьте статус вашего ресурсаПроверьте статус вашего ресурса

Консоль управления
  1. В разделе Защита доменов выберите созданный прокси-сервер.

  2. В меню слева перейдите на вкладку Домены и выберите созданный домен.

  3. В блоке Целевые ресурсы убедитесь, что ваш ресурс находится в статусе Доступен.

    Если это не так, прокси-сервер не может соединиться с вашим ресурсом. Проверьте адрес вашего веб-сервера и настройки сети. Убедитесь, что к веб-серверу разрешен доступ с IP-адресов Yandex Cloud.

  4. На панели слева убедитесь, что ваш домен находится в статусе Доступен.

    Если это не так, проверьте адрес домена и А-запись, а также валидность сертификата.

Настройте защиту от DDoS и ботовНастройте защиту от DDoS и ботов

Создайте профиль безопасностиСоздайте профиль безопасности

Профиль безопасности настраивается в соответствии с моделью угроз — описанием возможных рисков, атакующих сторон и уязвимостей с учетом особенностей вашего сервиса. Если вы настраиваете защиту без участия специалистов по информационной безопасности, рекомендуется использовать готовый шаблон профиля, настроенный экспертами Yandex Cloud. Это обеспечит базовый уровень защиты и поможет сократить вероятность ошибок при настройке.

В этом руководстве при настройке используется готовый шаблон профиля безопасности.

Консоль управления
  1. В консоли управления выберите каталог, в котором находятся защищаемые ресурсы.

  2. В списке сервисов выберите Smart Web Security.

  3. На панели слева выберите Профили безопасности.

  4. Нажмите Создать профиль и выберите По преднастроенному шаблону.

    Преднастроенный профиль содержит:

    • базовое правило по умолчанию, включенное для всего трафика с типом действия Запретить;
    • правило Smart Protection sp-rule-1, включенное для всего трафика, с типом действия Полная защита.
  5. Введите имя профиля, например site-protection.

  6. Включите тестовый режим для правила Smart Protection sp-rule-1:

    1. Для опции Действие для базового правила по умолчанию выберите Разрешить.
    2. Напротив правила sp-rule-1 нажмите и выберите Редактировать.
    3. Включите опцию Только логирование.
    4. Нажмите Сохранить изменения.

    Примечание

    Правила в профиле безопасности применяются по принципу первого сработавшего правила в порядке приоритета. Правила, которые находятся в режиме Только логирование, фактически не срабатывают. В логи записывается информация только о возможном срабатывании правил. Поэтому первым сработавшим правилом будет базовое правило по умолчанию с типом действия Запретить. Это заблокирует весь трафик к вашему ресурсу. Чтобы этого не случилось, переведите базовое правило по умолчанию в режим Разрешить.

    Трафик, обработанный правилами в режиме Только логирование, тарифицируется. Подробнее см. раздел Правила тарификации для Yandex Smart Web Security.

  7. (Опционально) Настройте политики безопасности для API-вызовов.

    Если ваш сервис дополнительно обрабатывает запросы к публичному API, настройте отдельное правило Smart Protection с действием Защита API. В отличие от полной защиты, в таком режиме запросы не отправляются в SmartCaptcha для дополнительной проверки на автоматизированный трафик. Для этого правила тоже включите режим Только логирование.

    1. Нажмите кнопку Добавить правило.
    2. Введите имя правила, например api-protection.
    3. Задайте приоритет выше, чем у правила с полной защитой. Например, 900000.
    4. Включите опцию Только логирование.
    5. Укажите параметры правила:
      • Тип правила — Smart Protection.
      • Действие — Защита API.
      • Трафик — При условии.
      • Условия — Request URI.
      • Request path — относительный путь для запросов к API. Например, ваш основной домен — example.com, а запросы к API принимаются по адресу example.com/api. Тогда в условии выберите Начинается с и укажите относительный путь — /api.
    6. Нажмите Создать профиль.
  8. В разделе Обучение ML-моделей оставьте включенным согласие об использовании информации об HTTP-запросах для улучшения моделей машинного обучения. Иначе в сервис Smart Web Security не будут поступать данные для расследования инцидентов безопасности.

  9. Нажмите Создать.

Настройте фильтрацию по спискам адресовНастройте фильтрацию по спискам адресов

Списки адресов помогают оптимизировать проверку трафика, разрешая запросы для заведомо надежных (белых) адресов. Небезопасные или сомнительные адреса можно сразу блокировать или отправлять в SmartCaptcha.

В Smart Web Security предустановлены списки ненадежных (черных) IP-адресов. Списки белых адресов, например, адреса ваших контрагентов или партнеров, вы добавляете вручную. Также можно добавить собственные списки черных адресов.

Консоль управления
  1. Добавьте свои черные и белые списки адресов.

    1. На панели слева выберите Списки.
    2. Нажмите Создать список.
    3. Введите имя списка, например, my-partners, и нажмите Создать список.
    4. Нажмите Добавить адреса.
    5. Введите или загрузите список белых адресов, которые не нуждаются в фильтрации.
    6. Нажмите Сохранить изменения.
    7. При необходимости добавьте список черных адресов.
  2. Настройте правило блокировки по спискам IP-адресов.

    1. На панели слева выберите Профили безопасности и выберите профиль site-protection.
    2. Нажмите кнопку Добавить правило.
    3. Введите имя правила, например block-by-list.
    4. Задайте Приоритет выше, чем у правил Smart Protection. Например, 9100.
    5. Включите опцию Только логирование.
    6. Укажите параметры правила:
      • Тип — Базовое.

      • Действие — Запретить или Показать капчу.

      • Трафик — При условии.

      • Условия — IP.

      • Условия на IP — IP принадлежит списку.

      • Выберите список is_ddoser (IP-адреса, которые участвовали в DDoS-атаках). Запросы с этих адресов будут блокироваться.

      • Чтобы добавить еще один список, нажмите кнопку + или и выберите список.

        Добавьте предустановленные списки is_tor (IP-адреса сети TOR, которая используется для анонимизации трафика), is_anonimous (IP-адреса анонимных сетей, которые часто используются для сокрытия личности) и свои черные списки.

    7. Нажмите кнопку Добавить.
  3. Настройте разрешающее правило, которое будет пропускать все запросы с белых IP-адресов.

    1. В профиле site-protection нажмите кнопку Добавить правило.
    2. Введите имя правила, например allow-by-list.
    3. Задайте Приоритет выше, чем у блокирующего правила для черных списков. Например, 9000.
    4. Включите опцию Только логирование.
    5. Укажите параметры правила:
      • Тип — Базовое.
      • Действие — Разрешить.
      • Трафик — При условии.
      • Условия — IP.
      • Условия на IP — IP принадлежит списку.
      • Выберите созданные ранее белые списки адресов.
    6. Нажмите кнопку Добавить.

Настройте фильтрацию по регионамНастройте фильтрацию по регионам

Если ваш сервис не ожидает трафика из определенных стран, можно настроить политики его обработки. Например, блокировать или отправлять на капчу.

Консоль управления
  1. В профиле site-protection нажмите кнопку Добавить правило.

  2. Введите имя правила, например block-by-geo.

  3. Включите опцию Только логирование.

  4. Задайте Приоритет выше, чем у правил Smart Protection, но ниже, чем у правил по спискам IP-адресов. Например, 9200.

  5. Укажите параметры правила:

    • Тип — Базовое.

    • Действие — Запретить или Показать капчу.

    • Трафик — При условии.

    • Условия — IP.

    • Условия на IP — IP принадлежит региону.

    • Выберите регион, в котором ваш сервис не работает. Например, CN, US, IN.

      Чтобы добавить еще регион, нажмите кнопку + или.

    Совет

    Если ваш сервис работает только в некоторых регионах, выберите условие IP не принадлежит региону. В списке укажите целевой регион, например, RU. Трафик из других регионов будет блокироваться.

    Уточнить регион по IP-адресу можно на сайте ipinfo.io или с помощью ASN провайдера.

  6. Нажмите кнопку Добавить.

Настройте разрешающее правило для капчиНастройте разрешающее правило для капчи

Разрешающее правило для SmartCaptcha необходимо, когда для базового правила по умолчанию установлено действие Запретить и запросы отправляются на проверку в SmartCaptcha.

  1. Нажмите кнопку Добавить правило.
  2. Введите имя правила, например allow-captcha.
  3. Задайте Приоритет выше, чем у правил, которые отправляют запросы на капчу.
  4. Включите опцию Только логирование.
  5. Укажите параметры правила:
    • Тип — Базовое.
    • Действие — Разрешить.
    • Трафик — При условии.
    • Условия — Request URI.
    • Request path — Соответствует регулярному выражению.
    • Введите выражение /(captcha_smart.*\.(css|js)|showcaptcha|checkcaptcha).
  6. Нажмите кнопку Добавить.

Проверьте порядок выполнения правилПроверьте порядок выполнения правил

Правила в профиле безопасности применяются к трафику согласно приоритету: чем меньше число, тем выше приоритет. Порядок выполнения правил приведен в таблице.

Приоритет Имя правила Действие Описание правила
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 Разрешить Базовое по умолчанию

Для базового правила по умолчанию устанавливается действие Разрешить, пока остальные правила находятся в режиме Только логирование. При переключении правил в боевой режим установите базовому правилу по умолчанию действие Запретить.

Подключите профиль безопасности к ресурсамПодключите профиль безопасности к ресурсам

L7-балансировщик
API-шлюз
Домен

Чтобы подключить виртуальный хост в сервисе Application Load Balancer:

  1. Если балансировщик управляется Ingress-контроллером Application Load Balancer, используйте аннотацию ресурса Ingress.

  2. Если балансировщик управляется вами, в разделе Профили безопасности выберите созданный профиль.

  3. Справа сверху нажмите Подключить к хосту.

  4. В открывшемся окне последовательно выберите:

    • Балансировщик.
    • HTTP-роутер.
    • Виртуальный хост. Вы можете подключить профиль безопасности сразу к нескольким хостам.

    Чтобы подключить профиль к еще одному L7-балансировщику, нажмите Добавить балансировщик.

  5. Нажмите Подключить.

На вкладке Подключенные хосты появится подключенный виртуальный хост.

Чтобы подключить API-шлюз:

  1. В разделе Профили безопасности скопируйте идентификатор нужного профиля.
  2. При создании API-шлюза или в спецификации уже созданного API-шлюза задайте расширение x-yc-apigateway:smartWebSecurity.
  3. Укажите в расширении скопированный идентификатор.

Чтобы подключить домен:

  1. В разделе Защита доменов → Домены выберите нужный домен.
  2. В меню сверху нажмите Подключить профиль безопасности и выберите профиль безопасности site-protection.

Проверьте профиль безопасности в режиме логированияПроверьте профиль безопасности в режиме логирования

Примечание

Оставьте правила в режиме Только логирование на несколько дней. Это поможет найти ложные срабатывания, при этом не остановит работу вашего сервиса.

Чтобы посмотреть работу правил в профиле безопасности, изучите логи.

L7-балансировщик
API-шлюз
Домен
  1. Убедитесь, что настроено логирование.
  2. В списке сервисов выберите Application Load Balancer.
  3. Выберите балансировщик, к которому привязан профиль безопасности.
  4. Выберите раздел Логи:

    • Выберите количество сообщений на одной странице и период, например, 1 час.

    • В строке Запрос укажите запрос на языке фильтрующих выражений и нажмите кнопку Выполнить.

      Примеры запросов

      • Показать запросы, для которых сработало правило Smart Protection с отправкой на капчу (в режиме логирования):

        json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.dry_run_matched_rule.verdict = CAPTCHA
        
      • Аналогичный запрос без режима логирования:

        json_payload.smartwebsecurity.matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.matched_rule.verdict = CAPTCHA
        
      • Показать запросы, заблокированные базовыми правилами с любыми условиями (в режиме логирования):

        json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY
        
      • Аналогичный запрос без режима логирования:

        json_payload.smartwebsecurity.matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY
        
  1. Убедитесь, что настроено логирование.
  2. В списке сервисов выберите API Gateway.
  3. Выберите API-шлюз, к которому привязан профиль безопасности.
  4. Выберите раздел Логи:

    • Выберите количество сообщений на одной странице и период, например, 1 час.

    • В строке Запрос укажите запрос на языке фильтрующих выражений и нажмите кнопку Выполнить.

      Примеры запросов

      • Показать запросы, для которых сработало правило Smart Protection с отправкой на капчу (в режиме логирования):

        json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.dry_run_matched_rule.verdict = CAPTCHA
        
      • Аналогичный запрос без режима логирования:

        json_payload.smartwebsecurity.matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.matched_rule.verdict = CAPTCHA
        
      • Показать запросы, заблокированные базовыми правилами с любыми условиями (в режиме логирования):

        json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY
        
      • Аналогичный запрос без режима логирования:

        json_payload.smartwebsecurity.matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY
        
  1. Убедитесь, что настроено логирование.
  2. В списке сервисов выберите Smart Web Security.
  3. На панели слева выберите Защита доменов.
  4. Выберите прокси-сервер, к которому привязан профиль безопасности.
  5. Выберите раздел Логи:

    • Выберите количество сообщений на одной странице и период, например, 1 час.

    • В строке Запрос укажите запрос на языке фильтрующих выражений и нажмите кнопку Выполнить.

      Примеры запросов

      • Показать запросы, для которых сработало правило Smart Protection с отправкой на капчу (в режиме логирования):

        json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.dry_run_matched_rule.verdict = CAPTCHA
        
      • Аналогичный запрос без режима логирования:

        json_payload.smartwebsecurity.matched_rule.rule_type = SMART_PROTECTION and json_payload.smartwebsecurity.matched_rule.verdict = CAPTCHA
        
      • Показать запросы, заблокированные базовыми правилами с любыми условиями (в режиме логирования):

        json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY
        
      • Аналогичный запрос без режима логирования:

        json_payload.smartwebsecurity.matched_rule.rule_type = RULE_CONDITION and json_payload.smartwebsecurity.matched_rule.verdict = DENY
        

Подробное описание работы с логами см. в разделе Настроить логирование.

После тестирования правил внесите необходимые корректировки и снова проверьте их работу в режиме Только логирование.

Проверьте профиль безопасности в реальном режимеПроверьте профиль безопасности в реальном режиме

Когда вы убедитесь, что правила отрабатывают корректно:

  1. Отключите режим Только логирование для всех правил профиля безопасности.
  2. Назначьте базовому правилу по умолчанию действие Запретить.

Проверьте работу правил в логах и на графиках мониторинга:

Консоль управления
  1. В списке сервисов выберите Smart Web Security.
  2. Выберите раздел Мониторинг.
  3. Посмотрите информацию на графиках:
    • Denied by Security Profile RPS — количество входящих запросов в секунду, которые были проверены и заблокированы профилем безопасности.
    • Redirected to SmartCaptcha RPS — количество входящих запросов в секунду, направленных в SmartCaptcha для дополнительной верификации.

Подробное описание графиков см. в разделе Мониторинг в Smart Web Security.

Настройте ограничение нагрузкиНастройте ограничение нагрузки

После настройки и тестирования профиля безопасности задайте ограничения для количества запросов. Это сохранит ваш сервис работоспособным при случайных скачках трафика или внезапном увеличении количества запросов при DDoS-атаках.

Ограничение запросов настраивается в профиле Advanced Rate Limiter (ARL). Он работает после профиля безопасности, проверяя только трафик, прошедший первичную проверку. В отличие от правил в профиле безопасности, правила ARL могут срабатывать одновременно. При этом к трафику применяется правило с более высоким приоритетом.

Чтобы задать ограничение запросов, сначала определите типовую нагрузку на ваш сервис. Если вы используете L7-балансировщик, это можно сделать в сервисе Application Load Balancer, в разделе Мониторинг. На графике RPS отображается общее количество входящих запросов в секунду, поступающих на балансировщик. Для лимита запросов устанавливайте значение с небольшим запасом. Можно задать лимит не на весь трафик, а по определенным условиям. Например, по региону, диапазону IP-адресов или по списку IP-адресов, по адресу запроса и так далее.

Создайте профиль ARLСоздайте профиль ARL

Консоль управления
  1. В консоли управления выберите каталог, в котором находится профиль безопасности.
  2. В списке сервисов выберите Smart Web Security.
  3. На панели слева выберите Профили ARL и нажмите Создать профиль ARL.
  4. Введите имя профиля, например arl-site-protection.
  5. Нажмите Создать.

Настройте правила ARLНастройте правила ARL

Консоль управления
  1. На странице профиля ARL нажмите Добавить правило.

  2. Введите имя правила, например arl-rule-1.

  3. В поле Приоритет задайте приоритет выполнения правила, например 1000.

    Поскольку правила ARL выполняются после всех правил профиля безопасности, этот приоритет действует только на профиль ARL и не пересекается с приоритетом в профиле безопасности.

  4. Включите режим dry-run (только логирование).

  5. В блоке Условия на трафик выберите Весь трафик или При условии.

  6. (Опционально) Задайте условия на трафик, по которым будет применяться правило.

  7. В блоке Подсчет запросов выберите, как считать запросы для применения лимита:

    • Без группировки — подсчет каждого запроса в отдельности;
    • По характеристикам — подсчет количества групп запросов, объединенных одной или несколькими характеристиками.
    1. (Опционально) Включите опцию Учитывать регистр, чтобы характеристики с одинаковыми значениями, но в разном регистре, попадали в разные группы.
  8. Укажите лимит запросов и выберите промежуток времени, например, 1000 за 1 минуту.

  9. Нажмите Сохранить правило.

Добавьте профиль ARL к профилю безопасностиДобавьте профиль ARL к профилю безопасности

Консоль управления
  1. На панели слева выберите Профили безопасности.
  2. Откройте профиль безопасности site-protection.
  3. Нажмите кнопку Редактировать.
  4. В списке профилей ARL выберите arl-site-protection.
  5. Нажмите Сохранить.

Проверьте работу правил ARLПроверьте работу правил ARL

Для правил ARL обычно достаточно одного тестирования, после этого можно включать защиту в боевой режим. Но в некоторых случаях может потребоваться более длительное тестирование и корректировка правил.

Для выполнения нагрузочного тестирования можно воспользоваться сервисом Load Testing. Подробнее о настройке нагрузки по протоколу HTTP см. HTTPS-тест с постоянной нагрузкой с помощью Phantom.

Консоль управления
  1. Откройте L7-балансировщик, API-шлюз или прокси-сервер, к которому привязан профиль безопасности.

  2. Выберите раздел Логи.

  3. В строке Запрос укажите запрос для поиска правил ARL и нажмите Выполнить.

    Примеры запросов:

    • Показать запросы, заблокированные правилами профиля ARL (в режиме логирования):
      json_payload.smartwebsecurity.dry_run_advanced_rate_limiter.verdict = DENY
      
    • Аналогичный запрос без режима логирования:
      json_payload.smartwebsecurity.advanced_rate_limiter.verdict = DENY
      

После отключения режима Только логирование проверьте работу профиля по логам и графикам мониторинга.

Консоль управления
  1. В списке сервисов выберите Smart Web Security.
  2. Выберите раздел Мониторинг.
  3. Посмотрите информацию на графиках:
    • Allowed by ARL Profile RPS — количество входящих запросов в секунду, которое не превышает лимит в профиле ARL.
    • Denied by ARL Profile RPS — количество входящих запросов в секунду, превысивших лимит профиля ARL и заблокированных.

Настройте Web Application FirewallНастройте Web Application Firewall

Web Application Firewall (WAF) защищает от эксплуатации различных уязвимостей веб-приложений и требует тонкой настройки, исходя из особенностей вашего сервиса.

При создании профиля WAF в него добавляется предустановленный набор правил OWASP Core Ruleset, который необходимо адаптировать к вашему сервису. Возможно, потребуется отключить некоторые правила для предотвращения ложных срабатываний и создать правила-исключения. Поскольку каждый сервис уникален, настройка может занять некоторое время.

Чтобы оптимизировать работу Smart Web Security, можно настраивать проверку WAF только для определенных маршрутов, а не для всего трафика.

Профиль WAF подключается к профилю безопасности в виде правила, наряду с базовыми правилами и Smart Protection. Правила WAF должны иметь более высокий приоритет, чем правила Smart Protection. Если условия на входящий трафик для правила WAF и Smart Protection одинаковые, Smart Protection можно отключить, поскольку согласно архитектуре сервиса до проверки правилом WAF всегда отрабатывает правило Smart Protection.

В профиле WAF нужно настроить два параметра:

  • Уровень паранойи — определяет количество активных правил. Чем выше уровень, тем больше проверок. Первый уровень паранойи соответствует наиболее выверенному набору правил, которые дают наименьшее число ложноположительных срабатываний. Начинайте с первого уровня в тестовом режиме, постепенно повышая его.

  • Порог аномальности — совокупный балл опасности запроса. Баллы добавляются за каждое сработавшее правило, и при превышении порога запрос блокируется. Начинайте настройку с порога 25 и постепенно его снижайте.

    Любое правило, которое вы считаете критичным для сервиса, можно сделать блокирующим. Тогда запрос, попавший под это правило, будет остановлен независимо от общего балла.

Чтобы избежать ложных срабатываний для вашего сервиса, можно создать исключения для всех или отдельных правил.

Создайте профиль WAFСоздайте профиль WAF

Консоль управления
  1. В консоли управления выберите каталог, в котором находится профиль безопасности.
  2. В списке сервисов выберите Smart Web Security.
  3. Перейдите на вкладку Профили WAF и нажмите Создать профиль WAF.
  4. Введите имя профиля, например waf-site-protection.
  5. По умолчанию в профиле WAF включен набор базовых правил OWASP Core Rule Set. Чтобы посмотреть правила в наборе, нажмите на строку с его описанием.
  6. Нажмите Создать.

Настройте набор базовых правилНастройте набор базовых правил

Консоль управления
  1. На странице профиля WAF нажмите Настроить набор базовых правил.

  2. Установите Порог аномальности — суммарную аномальность сработавших правил, при которой запрос будет заблокирован. Например Умеренный — 25 и выше.

    Рекомендуется начинать с порога аномальности 25 и постепенно снижать его до 5. Чтобы снизить порог аномальности, отработайте ложные срабатывания WAF на легитимные запросы. Для этого подберите правила из базового набора и настройте правила-исключения.

  3. Установите Уровень паранойи — Только 1.

    Уровень паранойи классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше уровень защиты, но и больше вероятность ложных срабатываний WAF.

  4. Проверьте включенные в набор правила, при необходимости включите дополнительные или уберите ненужные. При работе с правилами обращайте внимание на значение их аномальности и уровень паранойи.

  5. При необходимости назначьте одно или несколько правил блокирующими, нажав справа от правила. Запрос, соответствующий такому правилу, будет заблокирован независимо от порога аномальности.

Создайте правило-исключениеСоздайте правило-исключение

Консоль управления
  1. Перейдите на вкладку Правила-исключения и нажмите Создать правило-исключение.

  2. Введите имя правила-исключения, например exception-rule-1.

  3. В блоке Область применения укажите правила из базового набора, для которых будет срабатывать исключение. Вы можете выбрать Все правила или указать конкретные правила.

  4. В блоке Условия на трафик выберите условия для срабатывания правила-исключения.

    Если оставить поле Условия пустым, правило-исключение будет применено ко всему трафику.

  5. Нажмите Создать.

Добавьте профиль WAF к профилю безопасностиДобавьте профиль WAF к профилю безопасности

Консоль управления
  1. На панели слева выберите Профили безопасности.
  2. Откройте профиль безопасности site-protection.
  3. Нажмите кнопку Добавить правило.
  4. Введите имя правила, например waf-rule-1.
  5. Укажите приоритет выполнения правила выше, чем у правил Smart Protection. Например, 1111.
  6. Включите опцию Только логирование.
  7. Выберите Тип — Web Application Firewall.
  8. В списке профилей WAF выберите waf-site-protection.

Проверьте работу правил WAFПроверьте работу правил WAF

Консоль управления
  1. Откройте L7-балансировщик, API-шлюз или прокси-сервер, к которому привязан профиль безопасности.

  2. Выберите раздел Логи.

  3. В строке Запрос укажите запрос для поиска правил WAF и нажмите Выполнить.

    Примеры запросов:

    • Показать запросы, заблокированные по профилю WAF — правилами WAF из профиля безопасности (в режиме логирования):
      json_payload.smartwebsecurity.dry_run_matched_rule.rule_type = WAF and json_payload.smartwebsecurity.matched_rule.verdict = DENY
      
    • Аналогичный запрос без режима логирования:
      json_payload.smartwebsecurity.matched_rule.rule_type = WAF and json_payload.smartwebsecurity.matched_rule.verdict = DENY
      

Поскольку WAF настраивается индивидуально под особенности каждого веб-сервиса, тестируйте WAF в режиме логирования не менее недели. На этом этапе будет много ложных срабатываний, отслеживайте их в логах и корректируйте параметры правил. Например, при использовании HTTP/2 неправильно срабатывает правило с идентификатором id920280, его можно сразу отключить. В случае с HTTP/1.1 это правило работает корректно.

После того как WAF будет настроен и переведен в боевой режим, регулярно проверяйте работу правил по логам и графикам мониторинга. Это позволит отследить нетипичные ситуации и донастроить защиту под ваше веб-приложение.

Дальнейшая настройка политик безопасностиДальнейшая настройка политик безопасности

При каждом изменении или добавлении новых правил для профилей безопасности, WAF и ARL включайте режим Только логирование. Активируйте правило только после того, как логи подтвердят его корректную работу. Это поможет избежать ложных срабатываний и обеспечит стабильную работу вашего веб-приложения.

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

Предыдущая
Централизованная публикация в интернете и защита приложений от DDoS
Следующая
Экстренная защита сервисов в Application Load Balancer от DDoS на уровне L7
Проект Яндекса
© 2025 ТОО «Облачные Сервисы Казахстан»