В разделе Настройки фильтров
личного кабинета Curator вы можете настроить фильтрацию запросов для текущего домена или сервиса. Фильтрация может выполняться по HTTP-заголовкам, по странам-источникам запросов или по пользовательским правилам.
Фильтр по заголовкам
Фильтры по заголовкам позволяют автоматически формировать динамические чёрный и белый списки IP-адресов посетителей на основании HTTP-заголовков User-Agent
и Referer
. Такие динамические списки определяют, как сеть Curator будет обрабатывать последующие запросы от тех же IP-адресов, даже если эти адреса не указаны вручную в разделе Списки IP.
Каждое правило проверяется независимо от остальных. Если выполнено хотя бы одно из правил для белого списка, то запросы этого пользователя считаются легитимными. Если выполнено хотя бы одно из правил для чёрного списка, то все запросы после текущего считаются нелегитимными. Остальные случаи обрабатываются сетью Curator в обычном порядке.
Правила для белого списка имеют приоритет над правилами для чёрного списка.
Добавить правило
-
Выберите нужный домен в разделе Домены или сервис в разделе Сервисы.
-
Выберите пункт меню Настройки фильтров.
-
Рядом с названием секции HTTP-заголовки поставьте чекбокс, если он ещё не поставлен.
-
Нажмите ссылку Добавить правило рядом с нужным списком правил.
-
Заполните появившиеся поля:
- Заголовок для проверки:
User-Agent
илиReferer
. - Способ проверки:
- = (знак
равно
) — значение заголовка должно строго совпадать со строкой, введённой в текстовое поле. - Содержит — значение заголовка должно содержать строку, введённую в текстовое поле.
- Пуст — заголовок должен отсутствовать.
- = (знак
- Строка, используемая для проверки.
- Заголовок для проверки:
-
Чтобы сохранить изменения, нажмите кнопку Сохранить в уведомлении в нижней части экрана.
Изменения будут применены в течение нескольких минут.
Удалить правило
-
Выберите нужный домен в разделе Домены или сервис в разделе Сервисы.
-
Выберите пункт меню Настройки фильтров.
-
В секции HTTP-заголовки найдите правило, которое нужно удалить, и нажмите рядом с этим правилом.
-
Чтобы сохранить изменения, нажмите кнопку Сохранить в уведомлении в нижней части экрана.
Изменения будут применены в течение нескольких минут.
Отключить фильтр по заголовкам
-
Выберите нужный домен в разделе Домены или сервис в разделе Сервисы.
-
Выберите пункт меню Настройки фильтров.
-
Рядом с названием секции HTTP-заголовки снимите чекбокс.
-
Чтобы сохранить изменения, нажмите кнопку Сохранить в уведомлении в нижней части экрана.
Изменения будут применены в течение нескольких минут.
Фильтр по странам
С помощью этого фильтра вы можете ограничить доступ к ресурсу посетителям из определённых стран. Страна-источник запроса определяется по IP-адресу с помощью базы данных MaxMind GeoIP.
Обратите внимание, что фильтр по странам игнорируется, когда IP-адрес пользователя находится в белом или чёрном списке IP-адресов.
Включить фильтр по странам
-
Выберите нужный домен в разделе Домены или сервис в разделе Сервисы.
-
Выберите пункт меню Настройки фильтров.
-
Рядом с названием секции Гео-фильтры поставьте чекбокс, если он ещё не поставлен.
-
В выпадающем списке выберите подходящий режим ввода списка стран:
- Разрешить запросы только из определённых стран.
- Отклонить запросы из определённых стран.
В обоих случаях первый запрос от пользователя будет считаться легитимным, но после него IP-адрес будет внесён в чёрный список, если не соответствует условию. Если используется обратный HTTPS-прокси без раскрытия ключей, то IP-адрес будет внесён в чёрный список после получения логов первого запроса, что может вызвать дополнительную задержку.
-
Отредактируйте список стран. Страны в списке представлены кодами согласно стандарту ISO 3166, например, для России используется код
RU
.- Чтобы добавить страну в список, кликните по её названию в выпадающем списке. Для поиска нужной страны начните вводить в текстовое поле часть её названия или её код.
- Чтобы удалить страну из списка, кликните по крестику рядом с её кодом.
-
Чтобы сохранить изменения, нажмите кнопку Сохранить в уведомлении в нижней части экрана.
Изменения будут применены в течение нескольких минут.
Отключить фильтр по странам
-
Выберите нужный домен в разделе Домены или сервис в разделе Сервисы.
-
Выберите пункт меню Настройки фильтров.
-
Рядом с названием секции Гео-фильтры снимите чекбокс.
-
Чтобы сохранить изменения, нажмите кнопку Сохранить в уведомлении в нижней части экрана.
Изменения будут применены в течение нескольких минут.
Пользовательские правила
В секции Пользовательские правила можно настроить условия для внесения IP-адресов в чёрный или белый список на основе большого количества свойств запросов и ответов (см. список ниже). Также можно объединять эти условия в более сложные правила с помощью логических операций AND, OR и NOT.
Условия проверяются во время пересылки ответа апстрима пользователю. Если запрос и ответ соответствуют условиям, то к последующим запросам с того же IP-адреса будет применено действие, выбранное для правила.
-
Выберите нужный домен в разделе Домены или сервис в разделе Сервисы.
-
Выберите пункт меню Настройки фильтров.
-
Рядом с названием секции Пользовательские правила поставьте чекбокс, если он ещё не поставлен.
-
Задайте список правил.
Чтобы добавить правило, нажмите Добавить правило внизу страницы. Чтобы удалить правило, нажмите рядом с правилом.
-
Чтобы сохранить изменения, нажмите кнопку Сохранить в уведомлении в нижней части экрана.
Изменения будут применены в течение нескольких минут.
Доступные действия для правил:
- Whitelist — отправить ответ на текущий запрос, проигнорировав другие фильтры и чёрный список.
- Blacklist — отправить ответ на текущий запрос, но добавить IP-адрес в чёрный список для будущих запросов.
- RateLimit — ограничить частоту запросов, соответствующих правилу, согласно алгоритму Leaky bucket. При выборе этого действия можно указать значения Rate и Burst для алгоритма.
Доступные типы условий:
-
группы для вложенных условий:
- AND — условие выполняется, если выполнены все вложенные условия.
- OR — условие выполняется, если выполнено хотя бы одно из вложенных условий.
- NOT — условие выполняется, если не выполнено вложенное условие.
-
проверки свойств запроса:
- Method — HTTP-метод запроса.
- Path — путь, к которому делается запрос.
- Query — строка GET-аргументов из запроса.
- Request Uri — полный URI запроса. Включает название протокола, Host, Path и Query.
- Host — хост, к которому делается запрос.
- Header — значение произвольного HTTP-заголовка из запроса. Имя заголовка вводится в первом поле.
- Cookie — значение произвольной cookie из запроса. Имя cookie вводится в первом поле.
- User Agent — значение HTTP-заголовка
User-Agent
из запроса. - Referer — значение HTTP-заголовка
Referer
из запроса. - Content Length — значение HTTP-заголовка
Content-Length
из запроса. - Geo — страна-источник запроса. В выпадающем списке можно выбрать несколько стран одновременно. Страна-источник запроса определяется по IP-адресу с помощью базы данных MaxMind GeoIP.
-
проверки свойств ответа:
- Status — HTTP-код ответа.
- Duration — время ожидания ответа от апстрима в миллисекундах.
- Response Header — значение HTTP-заголовка из ответа. Поддерживаются только заголовки
Location
иContent-Type
. Нужный заголовок выбирается в первом поле.
Для разных свойств можно выбрать разные операции. Например, для всех строковых свойств доступны операции !=
(проверка точного совпадения), startsWith
(проверка совпадения префикса) и другие. Для числовых свойств доступны операции >
(строго больше), >=
(больше или равно) и другие. Для свойств, связанных с HTTP-заголовками и Cookies, доступны операции exist
и notExists
, проверяющие наличие заголовка.
Большинство операций требуют параметров: например, строки для сравнения. Все параметры обязательны для заполнения.
Пример конфигурации
В данном примере:
-
Клиент обнаружил большое количество автоматизированных запросов, которые содержали подстроку
https://example.com/
в заголовкеReferer
, и принял решение автоматически добавлять в чёрный список все IP-адреса, от которых приходят такие запросы. -
Клиент добавил правило для автоматического добавления в белый список всех IP-адресов, от которых приходят запросы со значением
CustomTestTool
в заголовкеUser-Agent
. Например, если он настроит свои инструменты тестирования так, чтобы они использовали этот заголовок, то это предотвратит ложноположительные срабатывания защиты Curator при анализе тестовых запросов. -
Клиент работает только с пользователями из России, поэтому IP-адреса из любых других стран автоматически добавляются в чёрный список.
-
Клиент принял решение вносить IP-адреса в чёрный список, если с них поступали запросы к главной странице без заголовка
User-Agent
, обработка которых заняла больше 1 секунды.