Добавить правило в профиль безопасности
В профиле безопасности можно добавить базовые правила, а также правила Smart Protection и WAF. Правила ARL добавляются в профиле ARL.
-
В консоли управления
выберите каталог, в котором находится нужный профиль безопасности. -
В списке сервисов выберите Smart Web Security.
-
Выберите профиль, в который вы хотите добавить правило.
-
Нажмите кнопку
Добавить правило и в открывшемся окне:-
Введите имя правила.
-
(опционально) Введите описание.
-
Задайте приоритет правила. Добавляемое правило будет иметь более высокий приоритет, чем преднастроенные правила.
Примечание
Чем меньше значение параметра, тем больший приоритет у правила. Приоритеты преднастроенных правил:
- базовое правило по умолчанию —
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
.
-
Чтобы посмотреть список имеющихся профилей безопасности в каталоге по умолчанию, выполните команду:
yc smartwebsecurity security-profile list
Результат:
+----------------------+-------------------+---------------------+----------------+------------+-------------+ | ID | NAME | CREATED | DEFAULT ACTION | CAPTCHA ID | RULES COUNT | +----------------------+-------------------+---------------------+----------------+------------+-------------+ | fev3s055oq64******** | my-new-profile | 2024-08-05 06:57:18 | DENY | | 1 | | fevlqk8vei9p******** | my-sample-profile | 2024-08-05 06:57:28 | DENY | | 2 | +----------------------+-------------------+---------------------+----------------+------------+-------------+
-
Обновите профиль безопасности, применив к нему YAML
-конфигурацию, содержащую описание как уже имеющихся, так и новых правил безопасности, которые необходимы для профиля:-
Чтобы получить YAML-конфигурацию уже имеющихся в профиле правил безопасности, выполните команду, указав имя или идентификатор профиля безопасности:
yc smartwebsecurity security-profile get <имя_или_идентификатор_профиля_безопасности>
Результат:
id: fev450d61ucv******** folder_id: b1gt6g8ht345******** cloud_id: b1gia87mbaom******** labels: label1: value1 label2: value2 name: my-new-profile description: my description default_action: DENY security_rules: - name: rule-condition-deny 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 description: My first security rule. This rule it's just example to show possibilities of configuration. created_at: "2024-08-05T17:54:48.898624Z"
-
Скопируйте в любой текстовый редактор и сохраните в файл текущую конфигурацию правил (содержимое блока
security_rules
), добавив в нее новые правила, например: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
Внимание
При изменении правил в профиле безопасности все существующие правила будут удалены. Поэтому YAML-файл с изменениями должен содержать полный набор правил, который будет действовать в профиле безопасности.
-
Чтобы внести изменения в профиль безопасности, выполните команду, указав имя или идентификатор профиля:
yc smartwebsecurity security-profile update <имя_или_идентификатор_профиля_безопасности> \ --security-rules-file <путь_к_файлу_с_правилами_безопасности>
Где
--security-rules-file
— путь к YAML -файлу с описанием правил безопасности.Результат:
id: fevr4g3121vn******** folder_id: b1g07hj5r6i4******** cloud_id: b1gia87mbaom******** name: my-sws-profile default_action: ALLOW security_rules: - 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 created_at: "2024-07-27T20:37:36.389730Z"
-
Подробнее о команде yc smartwebsecurity security-profile update
читайте в справочнике CLI.
Воспользуйтесь методом REST API update для ресурса SecurityProfile или вызовом gRPC API SecurityProfileService/Update.