Yandex Cloud
Поиск
Связаться с намиПодключиться
  • Документация
  • Блог
  • Все сервисы
  • Статус работы сервисов
    • Популярные
    • Инфраструктура и сеть
    • Платформа данных
    • Контейнеры
    • Инструменты разработчика
    • Бессерверные вычисления
    • Безопасность
    • Мониторинг и управление ресурсами
    • Машинное обучение
    • Бизнес-инструменты
  • Все решения
    • По отраслям
    • По типу задач
    • Экономика платформы
    • Безопасность
    • Техническая поддержка
    • Каталог партнёров
    • Обучение и сертификация
    • Облако для стартапов
    • Облако для крупного бизнеса
    • Центр технологий для общества
    • Облако для интеграторов
    • Поддержка IT-бизнеса
    • Облако для фрилансеров
    • Обучение и сертификация
    • Блог
    • Документация
    • Контент-программа
    • Мероприятия и вебинары
    • Контакты, чаты и сообщества
    • Идеи
    • Истории успеха
    • Тарифы Yandex Cloud
    • Промоакции и free tier
    • Правила тарификации
  • Документация
  • Блог
Проект Яндекса
© 2025 ООО «Яндекс.Облако»
Yandex Smart Web Security
  • Начало работы
    • Все практические руководства
    • Создание L7-балансировщика с профилем безопасности
    • Создание L7-балансировщика с профилем безопасности через Ingress-контроллер Application Load Balancer
    • Защита API Gateway при помощи Smart Web Security
    • Централизованная публикация в интернете и защита приложений от DDoS
    • Обзор
    • Профили безопасности
    • WAF
    • ARL (лимит на запросы)
    • Правила
    • Условия
    • Списки
    • Квоты и лимиты
  • Управление доступом
  • Правила тарификации
  • Справочник Terraform
  • Метрики Monitoring
  • Аудитные логи Audit Trails
  • История изменений

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

  • Схема размещения ресурсов в Yandex Cloud
  • Требования и рекомендации по настройке ресурсов
  • Сеть
  • L7-балансировщики
  • Целевые ресурсы
  • Настройка безопасной публикации сервисов в интернете
  • Создание профиля безопасности
  • Создание L7-балансировщика
  • Проверка работы L7-балансировщика
  1. Практические руководства
  2. Централизованная публикация в интернете и защита приложений от DDoS

Централизованная публикация в интернете и защита от DDoS-атак приложений, размещенных в разных каталогах Yandex Cloud

Статья создана
Yandex Cloud
Обновлена 15 мая 2025 г.
  • Схема размещения ресурсов в Yandex Cloud
  • Требования и рекомендации по настройке ресурсов
    • Сеть
    • L7-балансировщики
    • Целевые ресурсы
  • Настройка безопасной публикации сервисов в интернете
    • Создание профиля безопасности
    • Создание L7-балансировщика
    • Проверка работы L7-балансировщика

В этом руководстве рассматривается сценарий, в котором с облачными ресурсами Yandex Cloud работает несколько независимых команд. Сервисы и приложения, которые разрабатывают команды, публикуются в интернете. Для разделения ресурсов используются каталоги Yandex Cloud, и каждая команда имеет доступ только к своему каталогу. Также по требованию службы информационной безопасности (СИБ) командам не разрешено напрямую публиковать ресурсы из своих каталогов в интернете.

С реализацией такой схемы помогут сервисы Yandex Cloud — Yandex Application Load Balancer (ALB) и Yandex Smart Web Security (SWS).

Сервис Application Load Balancer позволяет создавать балансировщики на уровне L7 модели OSI и равномерно распределять трафик по вашим сервисам и приложениям. А также публиковать их в интернете.

Сервис Smart Web Security позволяет защитить ваши ресурсы от DDoS-атак и ботов на уровне L7. Дополнительно можно подключить WAF и ограничить нагрузку на ваш ресурс с помощью модуля Advanced Rate Limiter (ARL). Параметры защиты ваших ресурсов настраиваются в профиле безопасности Smart Web Security. Профиль безопасности подключается к L7-балансировщику.

Чтобы настроить такую схему работы, надо решить несколько задач:

  • Централизованная публикация сервисов в интернете — это позволяет сделать L7-балансировщик.
  • Проверка входящего трафика на наличие информационных угроз — для этого используется сервис Smart Web Security.
  • Ограничение доступа команд к L7-балансировщикам и профилю безопасности — для этого надо разместить L7-балансировщики в отдельном каталоге. Доступ к этому каталогу должны иметь только избранные сотрудники. Например, сотрудники СИБ.
  • Организация сетевого взаимодействия между L7-балансировщиками и целевыми ресурсами команд в разных каталогах — для этого можно использовать Multi-folder VPC. При этом L7-балансировщики и ресурсы команд должны находиться в разных подсетях одной сети VPC.

Схема размещения ресурсов в Yandex CloudСхема размещения ресурсов в Yandex Cloud

На схеме обозначены следующие ресурсы:

  • ALB — L7-балансировщики Application Load Balancer, через которые сервисы публикуются в интернете.
  • SWS — сервис Smart Web Security для защиты на уровне приложений (L7).
  • Каталог СИБ — каталог L7-балансировщиков ALB, доступ к которому имеют только сотрудники службы информационной безопасности.
  • VPC — облачная сеть, в которой находятся подсети ALB и команд.
    • alb-subnet-a, alb-subnet-b, alb-subnet-d — подсети с узлами ALB.
    • subnet-team-1, subnet-team-2 — подсети с ресурсами команд.
  • Каталоги команд — каталоги, в которых размещены целевые ресурсы команд. Например, виртуальные машины (ВМ), базы данных, балансировщики L3-L4 Network Load Balancer (NLB) и другие.

В этом руководстве предполагается, что целевые ресурсы ваших сервисов уже созданы и находятся в разных каталогах.
Поэтому будут рассмотрены:

  • Требования и рекомендации по дополнительной настройке ресурсов.
  • Настройка защиты и публикация сервисов в интернете.

Требования и рекомендации по настройке ресурсовТребования и рекомендации по настройке ресурсов

СетьСеть

  • Для организации сетевой связности между L7-балансировщиками и целевыми ресурсами команд используйте Multi-folder VPC, расширяющий область действия сети VPC с одного каталога на несколько.

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

    • Группы безопасности целевых ресурсов должны разрешать входящий трафик от подсетей L7-балансировщика.

    • Группы безопасности L7-балансировщика должны разрешать входящий трафик на подсети целевых ресурсов.

      Рекомендации по настройке групп безопасности см. в разделе Группы безопасности.

L7-балансировщикиL7-балансировщики

  • Разместите все L7-балансировщики в одном каталоге, доступ к которому имеют только сотрудники СИБ.

  • (Опционально) Подключите защиту от DDoS-атак на уровне L3-L4. Для этого:

    • Зарезервируйте статический публичный IP-адрес с защитой от DDoS-атак и используйте его для обработчика L7-балансировщика.
    • Настройте порог для срабатывания механизмов защиты на уровне L3-L4, который будет соответствовать объему легитимного трафика на ваши сервисы.
    • На целевых ресурсах задайте MTU — 1450.
  • Для обработчиков одного L7-балансировщика нельзя использовать разные публичные IP-адреса.

  • Для обработчиков одного L7-балансировщика используйте разные порты.

    Для HTTPS-протокола можно использовать обработчики SNI с одинаковым портом. Допустимое количество обработчиков SNI см. в лимитах.

  • (Опционально) Для отказоустойчивости разместите L7-балансировщики в разных зонах доступности.

  • Для узлов L7-балансировщика учитывайте размеры подсетей.

  • Настройте для L7-балансировщика минимальное количество ресурсных единиц в каждой зоне согласно правилам автомасштабирования. Количество ресурсных единиц определяется ожидаемой нагрузкой на ваши сервисы по следующим параметрам:

    • количество запросов в секунду (RPS);
    • количество одновременных активных соединений;
    • количество новых соединений в секунду;
    • объем трафика в секунду.
  • При большой нагрузке на L7-балансировщик, учитывайте его лимиты. Если не получается масштабировать сервис за счет ресурсов внутри одного балансировщика, распределите его на несколько L7-балансировщиков.

  • Для высоконагруженных сервисов выделите для каждого сервиса свой L7-балансировщик.

  • При публикации нескольких сервисов через один L7-балансировщик ALB учитывайте SLA.

  • Учитывайте, что внешние запросы к веб-серверам будут приходить от IP-адресов из диапазона внутренних IP-адресов подсетей L7-балансировщика. IP-адреса источников запросов (пользователей) будут сохраняться в HTTP-заголовке X-Forwarded-For (XFF). Поэтому для логирования IP-адреса пользователей из XFF на веб-серверах целевых ресурсов может потребоваться изменение конфигурации.

Целевые ресурсыЦелевые ресурсы

  • В целевой группе L7-балансировщика укажите IP-адреса ваших сервисов из каталогов команд, которые должны быть доступны в интернете.
  • Эти адреса должны входить в частные диапазоны по RFC 1918.
  • При изменении внутреннего IP-адреса у целевого ресурса вручную обновите настройки целевой группы L7-балансировщика.

Настройка безопасной публикации сервисов в интернетеНастройка безопасной публикации сервисов в интернете

Чтобы настроить безопасную публикацию ваших сервисов в интернете:

  1. Создайте каталог СИБ.
  2. Предоставьте доступ к каталогу только сотрудникам СИБ.
  3. Настройте сетевое взаимодействие ресурсов из разных каталогов.
  4. Настройте группы безопасности согласно рекомендациям.
  5. Зарезервируйте публичный IP-адрес, включите защиту от DDoS-атак на уровнях L3-L4.
  6. Создайте профиль безопасности.
  7. При использовании HTTPS добавьте TLS-сертификат в Certificate Manager.
  8. Создайте L7-балансировщик.
  9. Проверьте работу L7-балансировщика.

На схеме представлены ресурсы L7-балансировщика, которые будут созданы и настроены в этом сценарии.

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

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

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

  3. Нажмите кнопку Создать профиль.

  4. Выберите По преднастроенному шаблону.

  5. Введите имя профиля — sws-ddos.

  6. В поле Действие для базового правила по умолчанию выберите Разрешить.

  7. В блоке Правила безопасности напротив правила sp-rule-1 нажмите значок и выберите Редактировать.

  8. Включите опцию Только логирование (dry run).

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

  9. Нажмите кнопку Сохранить изменения.

  10. Нажмите кнопку Создать.

Другие способы создания профиля безопасности см. в разделе Создать профиль безопасности.

Создание L7-балансировщикаСоздание L7-балансировщика

Консоль управления
  1. В консоли управления выберите каталог СИБ.
  2. В списке сервисов выберите Application Load Balancer.
  3. Нажмите кнопку Создать L7-балансировщик и выберите Визард.

Настройка целевой группыНастройка целевой группы

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

Консоль управления
  1. Введите имя целевой группы: test-target-group.

  2. Укажите внутренний IP-адрес вашего целевого ресурса: адрес обработчика внутреннего NLB вашего сервиса или адрес ВМ.

  3. Выберите подсеть, в которой размещены ресурсы вашего сервиса.

    Для выбора подсети пользователь должен иметь роль vpc.user на каталог, в котором находится подсеть.

  4. Задайте настройки других целевых ресурсов: нажмите кнопку Добавить целевой ресурс и укажите адреса и подсети.

  5. Нажмите кнопку Создать и продолжить.

Настройка группы бэкендовНастройка группы бэкендов

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

Консоль управления
  1. Включите Расширенные настройки.

  2. Введите имя группы бэкендов: test-backend-group.

  3. Тип группы оставьте HTTP.

  4. Чтобы запросы одной пользовательской сессии обрабатывал один и тот же ресурс бэкенда, включите Привязка сессий (session affinity). Если в качестве целевого ресурса используется внутренний балансировщик NLB, привязку сессий можно не включать.

  5. В блоке Бэкенды:

    • Введите имя бэкенда: backend-1.
    • Оставьте тип бэкенда — Целевая группа.
    • Оставьте созданную ранее целевую группу: test-target-group.
    • Укажите TCP-порт вашего сервиса. Обычно 80 для HTTP и 443 для HTTPS.
    • Если в качестве целевого ресурса используется ВМ, настройте проверку состояния.
    • Если в качестве целевого ресурса используется внутренний балансировщик NLB, удалите проверку состояния.
  6. Нажмите кнопку Создать и продолжить.

Настройка HTTP-роутераНастройка HTTP-роутера

HTTP-роутеры определяют правила маршрутизации запросов к бэкендам и позволяют модифицировать запросы прямо на балансировщике. Визард автоматически создает виртуальный хост и правило маршрутизации. В качестве группы бэкендов будет выбрана группа, созданная на предыдущем шаге.

Консоль управления
  1. Введите имя роутера: test-http-router.

  2. Включите Расширенные настройки.

  3. В блоке Виртуальные хосты задайте:

    • Имя хоста: test-virtual-host.

    • Authority — имя домена вашего сервиса.

    • Профиль безопасности — профиль, созданный ранее.

      Если профиль не выбран, защита Smart Web Security работать не будет.

  4. Задайте параметры маршрута:

    • Имя маршрута: test-route.
    • Путь — Начинается с и далее \.
    • Действие — Маршрутизация.
    • Группа бэкендов — оставьте созданную ранее группу.
  5. Нажмите кнопку Создать и продолжить.

Настройка L7-балансировщикаНастройка L7-балансировщика

Балансировщик принимает запросы и распределяет их по ВМ из целевой группы в соответствии с правилами, указанным в HTTP-роутере. Для приема трафика балансировщик использует обработчики. Визард создает обработчик автоматически. В качестве HTTP-роутера будет выбран роутер, созданный на предыдущем шаге.

Консоль управления
  1. Введите имя балансировщика: test-load-balancer.

  2. Включите Расширенные настройки.

  3. В блоке Сетевые настройки выберите созданную ранее сеть VPC.

  4. Для Группы безопасности выберите Из списка и далее группу безопасности, созданную ранее.

  5. В блоке Размещение выберите подсети в нужных зонах доступности и включите прием трафика в этих подсетях.

  6. Настройте обработчик:

    • Введите имя обработчика: test-listener.
    • В блоке Публичный IP-адрес включите публичный IP-адрес и укажите:
      • Порт — TCP-порт вашего сервиса. Обычно 443 для HTTPS и 80 для HTTP.
      • Тип — список и выберите публичный IP-адрес, зарезервированный ранее.
    • В блоке Приём и обработка трафика укажите:
      • Тип обработчика — HTTP.
      • Протокол — HTTP или HTTPS.
      • Для протокола HTTPS выберите TLS-сертификат вашего сервиса, добавленный ранее в Certificate Manager.
      • HTTP-роутер — оставьте созданный ранее роутер.
  7. Нажмите кнопку Создать.

Если в вашей инфраструктуре уже используется L7-балансировщик и настроен обработчик с публичным IP-адресом:

  1. В консоли управления выберите сервис Application Load Balancer.
  2. Выберите L7-балансировщик.
  3. В блоке Обработчики напротив обработчика с публичным IP-адресом нажмите значок и выберите Редактировать.
  4. В блоке Приём и обработка трафика нажмите Добавить обработчик SNI и укажите:
    • Имена серверов — доменное имя вашего сервиса. В этом поле задаются значения расширения SNI, при получении которых от клиента будет задействован обработчик для установки TLS-соединения.

      Совет

      Некоторые браузеры переиспользуют TLS-соединения с одним IP-адресом, если в сертификате соединения есть нужное доменное имя. При этом обработчик SNI не выбирается заново, а значит трафик может направляться на неправильный HTTP-роутер. Чтобы избежать этого, используйте разные сертификаты для разных обработчиков SNI и основного обработчика. Для управления трафиком между доменными именами в одном сертификате настройте виртуальные хосты в HTTP-роутере.

    • Сертификаты — TLS-сертификат вашего сервиса, добавленный ранее в Certificate Manager.

    • HTTP-роутер — созданный ранее HTTP-роутер.

Другие способы создания L7-балансировщика и дополнительные настройки см. в разделе Пошаговые инструкции.

Проверка работы L7-балансировщикаПроверка работы L7-балансировщика

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

  2. В списке сервисов выберите Application Load Balancer.

  3. Выберите созданный L7-балансировщик.

  4. Слева выберите Проверки состояния.

    Убедитесь, что все проверки состояния L7-балансировщика для вашей группы бэкендов находятся в состоянии HEALTHY.

  5. Слева выберите Карта балансировки.

    Проверьте корректность настройки по схеме: Обработчик > HTTP-роутер > Группа бэкендов > Целевая группа.

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

Предыдущая
Защита API Gateway при помощи Smart Web Security
Следующая
Обзор
Проект Яндекса
© 2025 ООО «Яндекс.Облако»