Создать профиль безопасности
-
В консоли управления
выберите каталог, в котором вы хотите создать профиль безопасности. -
В списке сервисов выберите Smart Web Security.
-
Нажмите кнопку Создать.
-
Выберите один из вариантов создания:
-
По преднастроенному шаблону (рекомендуется). Преднастроенный профиль содержит:
- базовое правило по умолчанию, включенное для всего трафика с типом действия —
Запретить
; - правило Smart Protection, включенное для всего трафика, с типом действия —
Полная защита
.
- базовое правило по умолчанию, включенное для всего трафика с типом действия —
-
С чистого листа. Профиль содержит только базовое правило по умолчанию, включенное для всего трафика.
-
-
Введите имя профиля.
-
(опционально) Введите описание.
-
(опционально) Добавьте профилю метки.
-
В поле Действие для базового правила по умолчанию выберите, что делать с трафиком, который не попал под условия других правил:
Запретить
илиРазрешить
. -
Выберите или создайте профиль ARL, чтобы установить лимиты на количество запросов.
-
Выберите или создайте капчу Yandex SmartCaptcha для проверки подозрительных запросов:
-
По умолчанию
— контролируется на стороне Yandex Cloud, параметры капчи:- Основное задание — Чекбокс.
- Дополнительное задание —
Силуэты. - Сложность дополнительного задания — Легкая.
- Внешний вид — Стандартный.
Плата за использование капчи
По умолчанию
включена в стоимость Smart Web Security. -
Собственная капча
— вы можете настроить сложность, типы основного и дополнительного заданий, а также внешний вид капчи.Примечание
Чтобы использовать собственную капчу, выберите в ее настройках опцию Отключить проверку домена.
Плата за использование собственной капчи взимается в соответствии с тарификацией SmartCaptcha.
-
-
Нажмите кнопку
Добавить правило. -
В окне создания правила:
-
Введите имя правила.
-
(опционально) Введите описание.
-
Задайте приоритет правила. Добавляемое правило будет иметь более высокий приоритет, чем преднастроенные правила.
Примечание
Чем меньше значение параметра, тем больший приоритет у правила. Приоритеты преднастроенных правил:
- базовое правило по умолчанию —
1000000
; - правило Smart Protection с полной защитой —
999900
.
- базовое правило по умолчанию —
-
(опционально) Включите опцию Только логирование (dry run), если вы хотите только фиксировать информацию о трафике, который соответствует заданным условиям, но не применять к нему никаких действий.
-
Выберите тип правила:
-
Базовое — правило, которое по заданным условиям разрешает, запрещает или отправляет трафик в Yandex SmartCaptcha.
-
Smart Protection — правило, которое отправляет трафик на автоматический анализ с помощью алгоритмов машинного обучения и поведенческого анализа. Подозрительные запросы отправляются в Yandex SmartCaptcha для дополнительной верификации.
-
Web Application Firewall — правило, которое подключает набор правил из профиля WAF. Подозрительные запросы отправляются в Yandex SmartCaptcha.
Для правила WAF выберите или создайте профиль WAF.
-
-
Выберите действие:
-
Для базового правила:
Запретить
;Разрешить
;Показать капчу
— будет показана капча, выбранная в профиле безопасности.
-
Для правила Smart Protection или WAF:
Полная защита
— после проверки подозрительные запросы отправляются в SmartCaptcha.Защита API
— после проверки подозрительные запросы блокируются.
-
-
В блоке Условия на трафик определите трафик, для анализа которого будет использоваться правило:
-
Весь трафик
— правило будет использоваться для анализа всего трафика. -
При условии
— правило будет использоваться для анализа трафика, заданного в поле Условия:IP
— IP-адрес, диапазон адресов или регион IP-адресов;HTTP header
— строка в заголовке HTTP;Request URI
— путь запроса;Host
— домен, на который пришел запрос;HTTP method
— метод запроса;Cookie
— строка в заголовке cookie.
Вы можете задать несколько условий. Для этого в поле Условия выберите все необходимые типы условий.
Вы также можете задать несколько условий одного типа. Для этого в секции с нужным условием нажмите кнопку
и или или.Чтобы удалить условие, нажмите
.
-
-
Нажмите кнопку Добавить.
-
-
Последовательно добавьте все правила, которые вы хотите задействовать в профиле.
В блоке Правила безопасности в таблице появятся созданные вами правила.
-
Нажмите кнопку Создать.
Если у вас еще нет интерфейса командной строки Yandex Cloud, установите и инициализируйте его.
По умолчанию используется каталог, указанный в профиле CLI. Вы можете указать другой каталог с помощью параметра --folder-name
или --folder-id
.
-
Посмотрите описание команды CLI для создания профиля безопасности:
yc smartwebsecurity security-profile create --help
-
Чтобы создать профиль безопасности, выполните команду:
yc smartwebsecurity security-profile create \ --name <имя_профиля_безопасности> \ --description "<описание_профиля>" \ --labels <ключ_метки_1>=<значение_метки_1>,<ключ_метки_2>=<значение_метки_2>,...,<ключ_метки_n>=<значение_метки_n> \ --default-action <действие> \ --captcha-id <идентификатор_капчи> \ --security-rules-file <путь_к_файлу_с_правилами>
Где:
-
--name
— имя профиля безопасности. Обязательный параметр. Если задать только имя профиля без дополнительных параметров, в профиле безопасности будет создано одно базовое правило. -
--description
— текстовое описание профиля безопасности. Необязательный параметр. -
--labels
— список меток для добавления в профиль в форматеКЛЮЧ=ЗНАЧЕНИЕ
. Необязательный параметр. Например:--labels foo=baz,bar=baz'
. -
--default-action
— действие, которое следует выполнить для трафика, который не попал под условия других правил. Необязательный параметр. По умолчанию установлено значениеallow
, разрешающее все запросы к сервису. Чтобы запретить запросы, установите значениеdeny
. -
--captcha-id
— идентификатор капчи Yandex SmartCaptcha для проверки подозрительных запросов. Необязательный параметр. -
--security-rules-file
— путь к файлу с описанием правил безопасности в формате YAML . Необязательный параметр. Например:security-rules.yaml
- name: rule-condition-deny description: My first security rule. This rule it's just example to show possibilities of configuration. priority: "11111" dry_run: true rule_condition: action: DENY condition: authority: authorities: - exact_match: example.com - exact_match: example.net http_method: http_methods: - exact_match: GET - exact_match: POST request_uri: path: prefix_match: /search queries: - key: firstname value: pire_regex_match: .ivan. - key: lastname value: pire_regex_not_match: .petr. headers: - name: User-Agent value: pire_regex_match: .curl. - name: Referer value: pire_regex_not_match: .bot. source_ip: ip_ranges_match: ip_ranges: - 1.2.33.44 - 2.3.4.56 ip_ranges_not_match: ip_ranges: - 8.8.0.0/16 - 10::1234:1abc:1/64 geo_ip_match: locations: - ru - es geo_ip_not_match: locations: - us - fm - gb - name: rule-condition-allow description: Let's show how to whitelist IP. priority: "2" rule_condition: action: ALLOW condition: source_ip: ip_ranges_match: ip_ranges: - 44.44.44.44-44.44.44.45 - 44.44.44.77 - name: smart-protection-full description: Enable smart protection. Allow to show captcha on /search prefix. priority: "11" smart_protection: mode: FULL condition: request_uri: path: prefix_match: /search - name: smart-protection-api description: Enable smart protection with mode API. We are not expect to see captcha on /api prefix. priority: "10" smart_protection: mode: API condition: request_uri: path: prefix_match: /api
Результат:
id: fev6q4qqnn2q******** folder_id: b1g07hj5r6i******** cloud_id: b1gia87mbaom******** name: my-sample-profile description: "my description" labels: label1=value1,label2=value2 default_action: DENY created_at: "2024-07-25T19:21:05.039610Z"
-
Подробнее о команде yc smartwebsecurity security-profile create
читайте в справочнике CLI.
Terraform
Terraform распространяется под лицензией Business Source License
Подробную информацию о ресурсах провайдера смотрите в документации на сайте Terraform
Если у вас еще нет Terraform, установите его и настройте провайдер Yandex Cloud.
-
Опишите в конфигурационном файле Terraform параметры ресурсов, которые необходимо создать:
resource "yandex_sws_security_profile" "demo-profile-simple" { name = "<имя_профиля_безопасности>" default_action = "DENY" captcha_id = "<идентификатор_капчи>" advanced_rate_limiter_profile_id = "<идентификатор_ARL_профиля>" # Правило Smart Protection security_rule { name = "smart-protection" priority = 99999 smart_protection { mode = "API" } } # Базовое правило security_rule { name = "base-rule-geo" priority = 100000 rule_condition { action = "ALLOW" condition { source_ip { geo_ip_match { locations = ["ru", "kz"] } } } } } # Правило c WAF профилем security_rule { name = "waf" priority = 88888 waf { mode = "API" waf_profile_id = "<идентификатор_WAF_профиля>" } } }
Где:
name
— имя профиля безопасности.default_action
— действие для базового правила по умолчанию. Будет применяться к трафику, который не попал под условия других правил. Возможные значения:ALLOW
— разрешает все запросы к сервису,DENY
— запрещает.captcha_id
— идентификатор капчи Yandex SmartCaptcha для проверки подозрительных запросов. Необязательный параметр.advanced_rate_limiter_profile_id
— идентификатор ARL профиля безопасности. Необязательный параметр.security_rule
— описание правила безопасности:name
— имя правила безопасности.priority
— приоритет правила. Возможные значения от 1 до 1000000.smart_protection
— описание правила Smart Protection, включенное для всего трафика, с указанным типом действия в параметреmode
.mode
— действие правила. Возможные значения:FULL
— полная защита (подозрительные запросы отправляются на капчу) илиAPI
— защита API (подозрительные запросы блокируются).
waf
— описание правила Web Application Firewall. Чтобы добавить правило WAF, сначала надо создать профиль WAF. Необязательный блок параметров, содержит:waf_profile_id
— идентификатор WAF профиля.
Если не указать тип правила
smart_protection
илиwaf
, будет создано базовое правило с простой фильтрацией по заданным условиям в блокеrule_condition
.Более подробную информацию о параметрах ресурса
yandex_sws_security_profile
в Terraform, см. в документации провайдера . -
Создайте ресурсы:
-
В терминале перейдите в папку, где вы отредактировали конфигурационный файл.
-
Проверьте корректность конфигурационного файла с помощью команды:
terraform validate
Если конфигурация является корректной, появится сообщение:
Success! The configuration is valid.
-
Выполните команду:
terraform plan
В терминале будет выведен список ресурсов с параметрами. На этом этапе изменения не будут внесены. Если в конфигурации есть ошибки, Terraform на них укажет.
-
Примените изменения конфигурации:
terraform apply
-
Подтвердите изменения: введите в терминале слово
yes
и нажмите Enter.
-
Terraform создаст все требуемые ресурсы. Проверить появление ресурсов можно в консоли управления
yc smartwebsecurity security-profile get <идентификатор_профиля_безопасности>
Воспользуйтесь методом REST API create для ресурса SecurityProfile или вызовом gRPC API SecurityProfileService/Create.