Управление списками
Вы можете управлять только пользовательскими списками. Предустановленные списки Yandex Cloud изменять нельзя.
Создать список
-
В консоли управления
выберите каталог. -
Перейдите
в сервис Smart Web Security. -
На панели слева выберите
Списки и нажмите Создать список. -
Выберите тип списка:
-
IP-адреса— IP-адреса, диапазоны адресов или префиксы в формате CIDR . Примеры:111.222.33.44 2001:0db8:85a3:0000:0000:8a2e:5678:1234 10.123.1.1/32 10::1234:1abc:1/64 1.2.0.0-1.2.1.1 -
Номера ASN— номера автономных систем . Примеры:AS64512 AS4294967294 15169 1.10 -
Регулярные выражения— регулярные выражения, например для анализа заголовкаUser-Agentили для объединения нескольких путей запроса через|. Примеры:User-Agent:\s* \\[\'\"\.\;] a{100,} --.* /api/v[12]/users /promo/(sale|discount)/? /assets/.*\.(css|js)Где:
/api/v[12]/users— пути/api/v1/usersи/api/v2/users./promo/(sale|discount)/?— страницы/promo/saleи/promo/discountс необязательной завершающей косой чертой./assets/.*\.(css|js)— пути к CSS- и JS-файлам в каталоге/assets/.
В регулярном выражении можно объединять несколько вариантов (разные пути запроса, версии API или значения заголовка) с помощью оператора
|. Специальные символы необходимо экранировать. Например, точка в имени файла записывается как\..В списках регулярных выражений проверяется совпадение всей строки. Не добавляйте якоря
^и$. -
Строковые значения— текстовые строки, например идентификаторы или пути запроса. Примеры:fev4ct8l9infabcd1234 id345678 /api/v1/users /promo/sale /assets/logo.svg
Для фильтрации по пути запроса подключите список к условию
Request URI. В списке указывайте пути без схемы, домена и query-параметров.Чтобы фильтровать запросы к статическим файлам на домене
static.example.com, подключите к условиюRequest URIсписок с регулярным выражением/assets/.*\.(css|js). Добавьте отдельное условиеHost = static.example.comи объедините оба условия логическим оператором «И». -
-
Введите имя и описание списка.
-
При необходимости добавьте метку.
-
Нажмите Создать список и затем Добавить в список.
-
Введите значения в список вручную или загрузите их из файла TXT или CSV.
В списке или в файле каждое значение указывайте с новой строки. Дополнительно можно добавить описание через запятую без пробела:
<значение_1>,<описание_1> <значение_2>,<описание_2> <значение_3> <значение_4>При загрузке файла прежний список не сохранится, а будет заменен на новый.
-
Нажмите Сохранить изменения.
Если у вас еще нет интерфейса командной строки Yandex Cloud (CLI), установите и инициализируйте его.
По умолчанию используется каталог, указанный при создании профиля CLI. Чтобы изменить каталог по умолчанию, используйте команду yc config set folder-id <идентификатор_каталога>. Также для любой команды вы можете указать другой каталог с помощью параметров --folder-name или --folder-id.
Если вы обращаетесь к ресурсу по имени, поиск будет выполнен в каталоге по умолчанию. Если вы обращаетесь к ресурсу по идентификатору, поиск будет выполнен глобально — во всех каталогах с учетом прав доступа.
-
Посмотрите описание команды:
yc smartwebsecurity match-list match-list create --help -
Создайте пользовательский список. Укажите тип элементов в параметре
--item-type:-
ip— IP-адреса, диапазоны адресов или префиксы CIDR:yc smartwebsecurity match-list match-list create <идентификатор_каталога> \ --name <имя_списка> \ --list-type custom \ --item-type ip \ --items '[{value="192.0.2.1",description="Описание IP-адреса"}]' -
asn— номера автономных систем:yc smartwebsecurity match-list match-list create <идентификатор_каталога> \ --name <имя_списка> \ --list-type custom \ --item-type asn \ --items '[{value="AS64512",description="Описание номера ASN"}]' -
reg-exp— регулярные выражения:yc smartwebsecurity match-list match-list create <идентификатор_каталога> \ --name <имя_списка> \ --list-type custom \ --item-type reg-exp \ --items '[{value="User-Agent:\\s*",description="Описание регулярного выражения"}]' -
str— текстовые строки:yc smartwebsecurity match-list match-list create <идентификатор_каталога> \ --name <имя_списка> \ --list-type custom \ --item-type str \ --items '[{value="fev4ct8l9infabcd1234",description="Описание строкового значения"}]'
Где:
<идентификатор_каталога>— идентификатор каталога, в котором будет создан список.--name— имя списка.--list-type— тип списка, укажите значениеcustom(пользовательский список). Значениеmanagedиспользуется для предустановленных списков.--item-type— тип элементов списка:ip,asn,str,reg-exp. У предустановленных списков могут быть типыip,bot-name,bot-category.--items— элементы списка в shorthand-синтаксисе. Строковые значения указывайте в двойных кавычках.
-
-
Чтобы не создавать файл запроса вручную, сформируйте и отредактируйте его шаблон.
Для JSON-файла выполните команду:
yc smartwebsecurity match-list match-list create --example-json > request.jsonДля YAML-файла выполните команду:
yc smartwebsecurity match-list match-list create --example-yaml > request.yamlОтредактируйте созданный файл и передайте его в команде создания списка:
yc smartwebsecurity match-list match-list create \ --request-file request.yaml
Воспользуйтесь методом REST API create для ресурса MatchList или вызовом gRPC API MatchListService/Create.
Теперь при добавлении правила в профиле безопасности, профиле ARL или правила-исключения в профиле WAF вы можете выбрать созданный список.
Скачать список
-
В консоли управления
выберите каталог. -
Перейдите
в сервис Smart Web Security. -
На панели слева выберите
Списки. -
Нажмите строку с нужным списком.
-
Перейдите на вкладку IP-адреса.
-
Нажмите
Скачать список.Список будет сохранен в формате CSV.
-
Посмотрите описание команды:
yc smartwebsecurity match-list match-list get --help -
Сохраните список в файл:
yc smartwebsecurity match-list match-list get \ --list-id <идентификатор_списка> \ --format json > list.jsonФайл
list.jsonсодержит JSON-представление ресурса с метаданными и элементами списка. Без> list.jsonкоманда выводит результат в терминал.
Воспользуйтесь методом REST API get для ресурса MatchList или вызовом gRPC API MatchListService/Get.
Метод возвращает ресурс с метаданными и элементами списка. Ответ REST API можно сохранить в JSON-файл.
Изменить параметры списка
- В консоли управления
выберите каталог. - Перейдите
в сервис Smart Web Security. - На панели слева выберите
Списки. - В строке с нужным списком нажмите
и выберите Переименовать. - Измените имя и описание списка, добавьте или удалите метки.
- Нажмите Сохранить изменения.
-
Посмотрите описание команды:
yc smartwebsecurity match-list match-list update --help -
Измените параметры списка:
yc smartwebsecurity match-list match-list update \ --list-id <идентификатор_списка> \ --name <имя_списка> \ --description <описание_списка>Где:
--list-id— идентификатор списка.--name— имя списка.- (Опционально)
--description— описание списка.
Воспользуйтесь методом REST API update для ресурса MatchList или вызовом gRPC API MatchListService/Update.
Передайте новые значения полей name, description или labels. Чтобы сохранить остальные поля, перечислите изменяемые поля в маске обновления: updateMask для REST API или update_mask для gRPC API.
Изменить список значений
-
В консоли управления
выберите каталог. -
Перейдите
в сервис Smart Web Security. -
На панели слева выберите
Списки. -
Нажмите строку с нужным списком.
-
Перейдите на вкладку IP-адреса.
-
Чтобы изменить описание для одного или нескольких значений, выберите их и на панели внизу нажмите
Изменить описание. -
Чтобы удалить одно или несколько значений, выберите их и нажмите
Удалить. -
Чтобы отредактировать список в текстовом формате или загрузить новый файл со списком:
- Нажмите
Изменить список. - Отредактируйте список или загрузите новый файл.
- Нажмите Сохранить изменения.
- Нажмите
-
-
Посмотрите описание команды:
yc smartwebsecurity match-list match-list update --help -
Измените значения списка:
Важно
Команда полностью заменяет содержимое списка: прежние элементы, не указанные в
--items, будут удалены. Перед обновлением скачайте текущий список в формате JSON, отредактируйте массивitemsи передайте его в параметре--items.yc smartwebsecurity match-list match-list update \ --list-id <идентификатор_списка> \ --items '[{"value":"192.0.2.1","description":"Описание IP-адреса"}]'Где:
--list-id— идентификатор списка.--items— полный список значений в формате JSON, которым будет заменен существующий список.
Воспользуйтесь методом REST API update для ресурса MatchList или вызовом gRPC API MatchListService/Update.
Передайте полный массив элементов в поле items. Чтобы изменить только содержимое списка, укажите items в маске обновления: updateMask для REST API или update_mask для gRPC API.
Важно
Массив items полностью заменяет содержимое списка. Прежние элементы, не включенные в массив, будут удалены.
Удалить список
Перед удалением уберите ссылки на список из правил профилей безопасности, правил ARL и правил-исключений WAF. Пока список используется, удалить его нельзя, в CLI и API будет возвращаться ошибка FailedPrecondition.
- В консоли управления
выберите каталог. - Перейдите
в сервис Smart Web Security. - На панели слева выберите
Списки - В строке с нужным списком нажмите
и выберите Удалить.
-
Посмотрите описание команды:
yc smartwebsecurity match-list match-list delete --help -
Удалите список:
yc smartwebsecurity match-list match-list delete --list-id <идентификатор_списка>
Воспользуйтесь вызовом gRPC API MatchListService/Delete.