Как настроить защиту веб‑приложения в облаке с помощью Yandex Smart Web Security
Веб‑приложения постоянно испытывают атаки разного уровня — от простого перебора паролей до сложных попыток SQL‑инъекций. Наш сервис помогает отражать угрозы до того, как они нанесут реальный ущерб.
1 июля 2025 г.
15 минут чтения
Остановка сайта и потеря данных — не только технические проблемы, но и финансовые риски для бизнеса. Важно вовремя выявлять сложные угрозы и отличать реальных пользователей от ботов. 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 и веб‑приложению
Если после входа язык консоли английский, его можно переключить на русский:
Открыть раздел Settings → Language and region;
Выбрать русский язык и сохранить изменения.
Настройка приложения DVWA для тестов
Чтобы начать проверять защиту в Yandex Smart Web Security, приложение DVWA нужно настроить:
Перейдите на страницу Database Setup и нажмите Create/Reset Database, чтобы инициализировать базу данных.
После этого система снова запросит авторизоваться — повторно войдите в приложение.
Далее в левом меню выберите раздел DVWA Security, установите уровень безопасности на Low и сохраните изменения.
После этих действий приложение будет готово для демонстрации атак и тестирования защитных настроек SWS.
Создание профиля безопасности Yandex Smart Web Security
Профиль безопасности в Yandex Smart Web Security объединяет различные виды защитных правил и определяет реакцию сервиса на подозрительный трафик. Начать лучше с преднастроенного шаблона, который включает базовые настройки и защиту от DDoS‑атак.
Условие — «Request URI начинается с /vulnerabilities».
Сохраните правило.
Как подключить профиль безопасности к балансировщику
Созданный профиль безопасности нужно подключить к балансировщику Yandex Application Load Balancer, чтобы он начал проверять запросы к приложению DVWA. Так защита будет включаться в работу и проверять входящие запросы.
Шаги для подключения:
В консоли Yandex Cloud откройте раздел Smart Web Security → Профили безопасности.
Выберите ранее созданный профиль безопасности (например, sws).
Перейдите на вкладку Подключённые хосты и нажмите кнопку Подключить к хосту.
Укажите параметры подключения:
Балансировщик — sws‑alb;
HTTP‑роутер — alb‑http‑router;
Виртуальный хост — dvwa‑domain.
Подтвердите подключение.
Теперь весь трафик, проходящий через 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).
Запись раскроет технические детали: 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- и других автоматизированных атак. Подозрительный трафик автоматически направляется на капчу, чтобы не перегружать приложение.
Чтобы увидеть это в действии, проводится тест с искусственной нагрузкой:
В консоли Yandex Cloud откройте раздел Load Testing → Агенты и убедитесь, что агент load‑testing‑agent готов к работе.
Перейдите в раздел Тесты и создайте новый тест с параметрами:
Также в профиле безопасности в разделе Мониторинг доступен график Redirected to SmartCaptcha RPS, который наглядно показывает, сколько запросов было перенаправлено на капчу во время нагрузки.
Как Advanced Rate Limiter защищает приложение от перегрузки
Advanced Rate Limiter (ARL) ограничивает число запросов, чтобы защитить приложение от перегрузки при всплесках трафика.
Как работает ARL, видно на примере теста:
В консоли Yandex Cloud откройте раздел Virtual Private Cloud → IP‑адреса и скопируйте публичный IP агента load‑testing‑agent.
Перейдите в Smart Web Security → Профили безопасности и добавьте базовое правило, разрешающее трафик от агента Load Testing (чтобы проверять именно ARL):
Имя правила — allow‑load‑testing;
Приоритет — 90;
Тип правила — базовое;
Действие — разрешить;
Условие — IP‑адрес агента.
Запустите тест повторно в разделе 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
Использовать готовые списки угроз для блокировки запросов