Как начать работать с Yandex Smart Web Security
Smart Web Security позволяет защитить вашу инфраструктуру от информационных угроз на прикладном уровне L7 модели OSI. Например, DDoS-атак, ботов, SQL-инъекций. Дополнительно вы можете подключить защиту от DDoS-атак на уровнях L3 и L4 с помощью Yandex DDoS Protection.
Smart Web Security — это это набор инструментов, которые можно использовать по отдельности или сочетать, чтобы настроить оптимальную защиту ваших ресурсов. Основной элемент в Smart Web Security — профиль безопасности, к нему можно подключить:
- Базовые правила — для простой фильтрации трафика по некоторым условиям.
- Правила Smart Protection — для анализа трафика с помощью алгоритмов машинного обучения и поведенческого анализа.
- Правила из профиля WAF — позволяют использовать наборы правил от распространенных угроз безопасности, такие как OWASP Core Rule Set (CRS). Защищают веб-приложения от множества известных угроз, например, SQL-инъекций, командных инъекций, межсайтового скриптинга, несанкционированного доступа к серверным ресурсам и других.
- CAPTCHA — после проверки правилами трафик можно дополнительно направить в Yandex SmartCaptcha для защиты от ботов и спама.
- Профиль ARL — для ограничения количества запросов к защищаемому ресурсу по различным условиям.
Для защиты ресурсов профиль безопасности подключается к виртуальному хосту или Ingress-контроллеру сервиса Yandex Application Load Balancer.
Чтобы начать работу с сервисом:
- Подготовьте облако к работе
- Создайте и проверьте профиль безопасности
- Подключите профиль безопасности к виртуальному хосту
- (Опционально) Создайте и подключите профиль WAF
- (Опционально) Создайте и подключите профиль ARL
- Настройте L7-балансировщик для дополнительной защиты
Подготовьте облако к работе
Зарегистрируйтесь в Yandex Cloud и создайте платежный аккаунт:
- Перейдите в консоль управления
, затем войдите в Yandex Cloud или зарегистрируйтесь. - На странице Yandex Cloud Billing
убедитесь, что у вас подключен платежный аккаунт, и он находится в статусеACTIVE
илиTRIAL_ACTIVE
. Если платежного аккаунта нет, создайте его и привяжите к нему облако.
Если у вас есть активный платежный аккаунт, вы можете создать или выбрать каталог, в котором будет работать ваша инфраструктура, на странице облака
Подробнее об облаках и каталогах.
Создайте и проверьте профиль безопасности
Создайте первый профиль безопасности и подключите его к имеющемуся виртуальному хосту L7-балансировщика Yandex Application Load Balancer.
Если у вас еще не настроен L7-балансировщик, вы можете развернуть тестовую инфраструктуру.
Создайте профиль безопасности
-
В консоли управления
выберите каталог, в котором вы хотите создать профиль. -
В списке сервисов выберите Smart Web Security.
-
Нажмите Создать и выберите По преднастроенному шаблону.
Преднастроенный профиль содержит:
- базовое правило по умолчанию, включенное для всего трафика с типом действия
Запретить
; - правило Smart Protection, включенное для всего трафика, с типом действия
Полная защита
.
Совет
Создание преднастроенного профиля с полной защитой Smart Protection является предпочтительным. Рекомендуем использовать его, чтобы обеспечить наибольшую безопасность защищаемого ресурса.
- базовое правило по умолчанию, включенное для всего трафика с типом действия
-
Введите имя профиля, например
test-sp1
. -
В поле Действие для базового правила по умолчанию выберите
Запретить
. -
Нажмите Создать.
Проверьте настройки профиля безопасности
-
Выберите профиль
test-sp1
, созданный ранее. -
Убедитесь, что на вкладке Правила безопасности есть правило со следующими параметрами:
- Тип —
Smart Protection
. - Действие —
Полная защита
. - Условия —
Весь трафик
.
Это правило отправляет весь трафик, приходящий к защищаемому ресурсу, на автоматическую оценку с помощью алгоритмов машинного обучения и поведенческого анализа. По результатам автоматической оценки:
- Легитимные запросы направляются к защищаемому ресурсу.
- Нелегитимные запросы и атаки блокируются.
- Подозрительные запросы направляются в SmartCaptcha для дополнительной верификации.
- Тип —
Подключите профиль безопасности к виртуальному хосту
-
Справа сверху нажмите
Подключить к хосту. -
В открывшемся окне выберите:
-
Виртуальный хост. Вы можете подключить профиль безопасности сразу к нескольким хостам.
Чтобы подключить профиль к еще одному L7-балансировщику, нажмите Добавить балансировщик.
-
Нажмите Подключить.
На вкладке Подключенные хосты появится подключенный виртуальный хост.
Создайте и подключите профиль WAF
WAF позволяет использовать наборы правил для защиты веб-приложений от множества информационных атак.
Создайте профиль WAF
- В консоли управления
выберите каталог, в котором вы хотите создать профиль WAF. - В списке сервисов выберите Smart Web Security.
- Перейдите на вкладку Профили WAF и нажмите Создать профиль WAF.
- Введите имя профиля, например
test-waf-profile-1
. - По умолчанию в профиле WAF включен набор базовых правил OWASP Core Rule Set
. Чтобы посмотреть правила в наборе, нажмите на строку с его описанием. - Нажмите Создать.
Настройте набор базовых правил
-
На открывшейся обзорной странице профиля WAF нажмите Настроить набор базовых правил.
-
Установите необходимый Порог аномальности — суммарную аномальность сработавших правил, при которой запрос будет заблокирован, например
Умеренный — 25 и выше
.Рекомендуется начинать с порога аномальности
25
и постепенно снижать его до5
. Чтобы снизить порог аномальности, отработайте ложные срабатывания WAF на легитимные запросы. Для этого подберите правила из базового набора и настройте правила-исключения. Также для тестирования разных порогов аномальности используйте в профиле безопасности режим Только логирование (dry-run). -
Установите необходимый Уровень паранойи, например
2 и ниже
.Уровень паранойи классифицирует правила по степени агрессивности. Чем выше уровень паранойи, тем лучше уровень защиты, но и больше вероятность ложных срабатываний WAF.
-
Проверьте включенные в набор правила, при необходимости включите дополнительные или уберите ненужные. При работе с правилами обращайте внимание на значение их аномальности и уровень паранойи.
Любое правило из набора можно сделать блокирующим. Запрос, соответствующий таком правилу, будет заблокирован независимо от установленного порога аномальности. Чтобы сделать правило блокирующим, нажмите
Создайте правило-исключение
-
Перейдите на вкладку
Правила-исключения и нажмите Создать правило-исключение. -
Введите имя правила-исключения, например
exception-rule-1
. -
В блоке Область применения укажите правила из базового набора, для которых будет срабатывать исключение. Вы можете выбрать
Все правила
или указать конкретные. -
В блоке Условия на трафик выберите условия для срабатывания правила-исключения.
Если оставить поле Условия пустым, правило-исключение будет применено ко всему трафику.
-
Нажмите Создать.
Подключите профиль WAF к профилю безопасности
- Перейдите на вкладку
Профили безопасности. - В списке выберите профиль безопасности, к которому вы хотите подключить профиль WAF, например
test-sp1
. - Нажмите
Добавить правило. - Введите имя правила, например
waf-rule-1
. - В поле Приоритет задайте значение выше, чем у правил Smart Protection, уже имеющихся в профиле безопасности, например
888800
. - (Опционально) Чтобы протестировать профиль WAF и отработать ложные срабатывания на легитимные запросы, используйте в профиле безопасности режим Только логирование (dry-run).
- В поле Тип правила выберите
Web Application Firewall
. - В поле Профиль WAF выберите
test-waf-profile-1
, созданный ранее. - В поле Действие выберите
Полная защита
. - При необходимости задайте условия для сопоставления трафика.
- Нажмите Добавить.
Создайте и подключите профиль ARL
ARL позволяет устанавливать лимиты на количество запросов к защищаемому ресурсу, чтобы избежать чрезмерной нагрузки.
Создайте профиль ARL
- В консоли управления
выберите каталог, в котором вы хотите создать профиль ARL. - В списке сервисов выберите Smart Web Security.
- Перейдите на вкладку
Профили ARL и нажмите Создать профиль ARL. - Введите имя профиля, например
test-arl-profile-1
. - При необходимости добавьте описание профиля и метки.
- Нажмите Создать.
Настройте правила
-
На открывшейся обзорной странице профиля ARL нажмите Добавить правило.
-
Введите имя правила, например
arl-rule-1
. -
В поле Приоритет задайте приоритет выполнения правила в рамках профиля ARL, например
1000
. -
(Опционально) Чтобы протестировать правило ARL, включите режим Только логирование (Dry run). В этом режиме запросы блокироваться не будут.
-
В блоке Условия на трафик выберите
Весь трафик
илиПри условии
. -
Чтобы задать условия на трафик, в списке Условия выберите один или несколько пунктов:
IP
— IP-адрес, диапазон адресов или регион IP-адресов;HTTP header
— строка в заголовке HTTP;Host
— домен, на который пришел запрос;HTTP method
— метод запроса;Cookie
— строка в заголовке cookie.
-
В блоке Подсчет запросов выберите, как считать запросы для применения лимита:
Без группировки
— подсчет каждого запроса в отдельности;По характеристикам
— подсчет количества групп запросов, объединенных одной или несколькими характеристиками.
-
Выберите характеристику для группировки:
Request path
— путь запроса;HTTP method
— метод запроса;IP адрес
— IP-адрес, с которого пришел запрос;Регион
— регион, которому принадлежат IP-адреса запросов;Host
— домен, на который пришел запрос;HTTP cookie
— строка в заголовке cookie;HTTP header
— строка в заголовке HTTP;Query params
— строка в параметрах запроса.
-
(Опционально) Включите опцию Учитывать регистр, чтобы характеристики с одинаковыми значениями, но в разном регистре попадали в разные группы.
-
Укажите лимит запросов и выберите промежуток времени, например
1000
запросов за1
минуту. -
Нажмите Сохранить правило.
Подключите профиль ARL к профилю безопасности
- Перейдите на вкладку
Профили безопасности. - В списке выберите профиль безопасности, к которому вы хотите подключить профиль ARL, например
test-sp1
. - Нажмите
Редактировать. - В списке Профиль ARL выберите
test-arl-profile-1
, созданный ранее. - Нажмите Сохранить.
Настройте L7-балансировщик для дополнительной защиты
Для улучшения защиты ваших приложений от DDoS-атак следуйте дополнительным рекомендациям:
- Настройте автомасштабирование — это позволяет динамически адаптироваться к увеличенной нагрузке и перераспределять трафик оптимальным образом.
- Разместите ресурсные единицы в нескольких зонах доступности.
- Используйте защищенный протокол HTTPS — настройте обработчик для автоматического перенаправления запросов с HTTP на HTTPS.
- Обеспечьте защиту на более низком уровне модели OSI — включите базовую защиту от DDoS-атак на уровнях L3-L4, что поможет предотвратить часть атак на более ранней стадии.
Эти меры в дополнение к настройке Smart Web Security помогут повысить устойчивость ваших сервисов к потенциальным угрозам и обеспечат безопасную работу приложений.