Как настроить защиту веб‑приложения в облаке с помощью Yandex Smart Web Security

Веб‑приложения постоянно испытывают атаки разного уровня — от простого перебора паролей до сложных попыток SQL‑инъекций. Наш сервис помогает отражать угрозы до того, как они нанесут реальный ущерб.

Остановка сайта и потеря данных — не только технические проблемы, но и финансовые риски для бизнеса. Важно вовремя выявлять сложные угрозы и отличать реальных пользователей от ботов. Yandex Smart Web Security защищает от DDoS‑атак, фильтрует подозрительные запросы и ограничивает интенсивность трафика, чтобы сервис оставался доступным.

В статье расскажем, как настроить Yandex Smart Web Security, чтобы предотвратить атаки до того, как они навредят бизнесу. Разберём, как создать и подключить профиль безопасности, настроить Web Application Firewall (WAF) и Advanced Rate Limiter (ARL) и проверить работу защиты на реальных атаках и нагрузках.

Как устроен лабораторный стенд

Для демонстрации защиты мы подготовили лабораторный стенд в облаке Yandex Cloud. Балансировщик Yandex Application Load Balancer управляет доступом к демонстрационному приложению DVWA (Damn Vulnerable Web Application). Это приложение было специально создано, чтобы тестировать защиту от веб‑угроз.

Полноэкранное изображение

Для мониторинга и анализа на стенде есть несколько инструментов. Yandex Audit Trails записывает события безопасности. Лог‑группа в Yandex Cloud Logging собирает и анализирует логи балансировщика и событий Yandex Smart Web Security. Также установлен агент Yandex Load Testing. С его помощью можно создавать нагрузку и проверять работу защиты при повышенном трафике.

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

Подключение к облаку и DVWA

Чтобы начать работу с приложением DVWA и защитой в Yandex Smart Web Security, понадобится доступ к консоли Yandex Cloud и веб‑приложению

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

  1. Открыть раздел SettingsLanguage and region;
  2. Выбрать русский язык и сохранить изменения.

Настройка приложения DVWA для тестов

Чтобы начать проверять защиту в Yandex Smart Web Security, приложение DVWA нужно настроить:

  1. Перейдите на страницу Database Setup и нажмите Create/Reset Database, чтобы инициализировать базу данных.
  2. После этого система снова запросит авторизоваться — повторно войдите в приложение.
  3. Далее в левом меню выберите раздел DVWA Security, установите уровень безопасности на Low и сохраните изменения.

После этих действий приложение будет готово для демонстрации атак и тестирования защитных настроек SWS.

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

Профиль безопасности в Yandex Smart Web Security объединяет различные виды защитных правил и определяет реакцию сервиса на подозрительный трафик. Начать лучше с преднастроенного шаблона, который включает базовые настройки и защиту от DDoS‑атак.

Шаги по созданию профиля:

  1. В консоли Yandex Cloud выберите Smart Web SecurityПрофили безопасности.

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

  3. Укажите настройки:

    • Имя профиля — sws;
    • Действие для базового правила по умолчанию — «Запретить»;
    • SmartCaptcha — оставить по умолчанию;
  4. Сохраните профиль.

После этого нужно настроить Web Application Firewall (WAF) для защиты от уязвимостей:

  1. В разделе Профили WAF нажмите Создать профиль WAF.
  2. Укажите имя — waf, и создайте профиль.
  3. Настройте набор базовых правил: порог аномальности выставите на 15.
  4. Сохраните изменения.

Чтобы WAF начал защищать приложение:

  1. Вернитесь в профиль безопасности sws.

  2. Добавьте новое правило:

    • Имя — waf‑rule;
    • Приоритет — 1000;
    • Тип правила — Web Application Firewall;
    • Выберите ранее созданный профиль WAF;
    • Действие — «Полная защита»;
    • Условие — «Request URI начинается с /vulnerabilities».
  3. Сохраните правило.

Как подключить профиль безопасности к балансировщику

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

Шаги для подключения:

  1. В консоли Yandex Cloud откройте раздел Smart Web SecurityПрофили безопасности.

  2. Выберите ранее созданный профиль безопасности (например, sws).

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

  4. Укажите параметры подключения:

    • Балансировщик — sws‑alb;
    • HTTP‑роутер — alb‑http‑router;
    • Виртуальный хост — dvwa‑domain.
  5. Подтвердите подключение.

Теперь весь трафик, проходящий через Yandex Application Load Balancer, автоматически проверяется правилами безопасности из профиля Yandex Smart Web Security.

Как работает WAF: защита от XSS и SQL‑инъекций

Web Application Firewall (WAF) блокирует распространённые атаки, такие как Cross‑Site Scripting (XSS) и SQL‑инъекции. Рассмотрим на примерах, как это происходит.

Как WAF защищает от Cross Site Scripting (XSS)

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

Порядок действий:

  • В приложении DVWA перейдите в раздел XSS (Reflected).

  • Введите вредоносный код:

    <img """><script>alert("XSS")</script>">
    
  • Отправьте форму.

WAF заблокирует запрос и покажет сообщение об ошибке (код 403).

Детали инцидента можно посмотреть в логах Yandex Cloud Logging:

  1. В консоли Yandex Cloud нужно перейти в Cloud Loggingлог‑группа default → вкладка «Логи».
  2. В поле «Запрос» задать фильтр для заблокированных WAF‑запросов:
json_payload.smartwebsecurity.matched_rule.rule_type = WAF

Чтобы вывести только реально заблокированные обращения, нужно добавить условие:

json_payload.smartwebsecurity.matched_rule.action = "BLOCK"
  1. После нажатия Enter — появятся строки с IP‑адресом, URI, идентификатором правила и профиля безопасности.
  2. Для аудита нужно включить фильтр событий Audit Trails:
json_payload.event_type = "yandex.cloud.audit.smartwebsecurity.WafRuleTrigger"

Запись раскроет технические детали: trace‑id, уровень OWASP и так далее.

Как WAF предотвращает SQL‑инъекции

При SQL‑инъекциях злоумышленник пытается внедрить SQL‑команды через форму и получить скрытые данные.

Порядок действий:

  • Откройте раздел SQL Injection в DVWA.

  • Введите вредоносный запрос:

    %' and 1=0 union select null, concat(user,':',password) from users #
    
  • Отправьте запрос.

WAF снова заблокирует запрос (код 403), а детали будут зафиксированы в логах Yandex Cloud Logging.

Как работает функция Smart Protection при нагрузке

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

Чтобы увидеть это в действии, проводится тест с искусственной нагрузкой:

  1. В консоли Yandex Cloud откройте раздел Load TestingАгенты и убедитесь, что агент load‑testing‑agent готов к работе.

  2. Перейдите в раздел Тесты и создайте новый тест с параметрами:

  3. Запустите тест и наблюдайте результаты:

    • В графике HTTP‑кодов ответов можно увидеть коды 302 — это означает, что трафик отправляется на капчу и не достигает приложения напрямую.
    • Подробности срабатывания защиты можно посмотреть в Yandex Cloud Logging на вкладке Логи.

Также в профиле безопасности в разделе Мониторинг доступен график Redirected to SmartCaptcha RPS, который наглядно показывает, сколько запросов было перенаправлено на капчу во время нагрузки.

Как Advanced Rate Limiter защищает приложение от перегрузки

Advanced Rate Limiter (ARL) ограничивает число запросов, чтобы защитить приложение от перегрузки при всплесках трафика.

Как работает ARL, видно на примере теста:

  1. В консоли Yandex Cloud откройте раздел Virtual Private CloudIP‑адреса и скопируйте публичный IP агента load‑testing‑agent.

  2. Перейдите в Smart Web SecurityПрофили безопасности и добавьте базовое правило, разрешающее трафик от агента Load Testing (чтобы проверять именно ARL):

    • Имя правила — allow‑load‑testing;
    • Приоритет — 90;
    • Тип правила — базовое;
    • Действие — разрешить;
    • Условие — IP‑адрес агента.
  3. Запустите тест повторно в разделе Load TestingТесты с той же конфигурацией, что была в демонстрации Smart Protection.

На вкладке результатов теста отобразятся HTTP‑коды 200 (запросы прошли успешно) и 429 (избыточные запросы заблокированы ARL). Подробности о заблокированных запросах можно посмотреть в логах сервиса Yandex Cloud Logging.

В профиле безопасности на вкладке Мониторинг будут графики, отображающие количество заблокированных (Denied by ARL Profile RPS) и разрешённых (Allowed by ARL Profile RPS) запросов.

Как лучше всего настраивать защиту: полезные практики и сценарии

Базовые настройки защиты подходят не всем приложениям. Поэтому стоит знать, какие подходы и сценарии эффективны на практике.

Вот несколько проверенных практик для настройки профилей безопасности:

Практика или сценарий Что делать Примеры и пояснения
Обеление трафика бизнес‑партнёров Добавить разрешающие правила для IP‑адресов и HTTP‑заголовков Отдельные правила для IP партнёров, HTTP Headers для идентификации
Блокировка подозрительных IP Использовать готовые списки угроз для блокировки запросов Списки: is_ddoser (DDoS‑атаки), is_tor (сеть TOR), is_anonymous (анонимные сети)
Защита от резких всплесков нагрузки Установить правила ARL с лимитом запросов в секунду или минуту Ограничения для IP‑адреса, защита страниц входа и отправки сообщений
Защита от брутфорс‑атак Задать лимиты ARL для страницы авторизации Пример: не более 15 запросов в час с одного IP‑адреса
Геоблокировка Ограничить или блокировать доступ из определённых регионов Настроить капчу или блокировку для регионов, откуда трафик не ожидается

Эти практики помогут эффективно настроить защиту, снизить риски ложных срабатываний и вовремя обнаружить угрозы.

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

Итог

Чтобы изучить возможности Yandex Smart Web Security подробнее или начать использовать сервис, рекомендуем изучить документацию:

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

В конце июня провели вебинар и рассказали, как настроить балансировщики нагрузки и защиту от DDoS-атак на серверах.

Как настроить защиту веб‑приложения в облаке с помощью Yandex Smart Web Security
Войдите, чтобы сохранить пост