Перейти к содержанию

Проверка поисковых роботов

SmartBot Protection обеспечивает доступ известных поисковых роботов к защищаемым ресурсам. Строку идентификации клиента (User-Agent) можно подделать, поэтому для подтверждения подлинности робота проверяется принадлежность его IP-адреса к сетям заявленной поисковой системы.

Проверка выполняется двумя способами: по DNS-записям или по списку сетей робота (CIDR). Для подтверждения достаточно одного из них.

Как работает проверка

Проверка применяется, когда клиент представляется известным поисковым роботом, но не предъявляет токен.

Сначала IP-адрес клиента проверяется по списку сетей робота. Если сети не заданы или адрес в них не входит, выполняется DNS-проверка.

Проверка по DNS-записям

Для робота задаются маска строки идентификации и DNS-маски – доменные имена, с которых он обращается, например *.googlebot.com.

Проверка выполняется в следующем порядке:

  1. Для IP-адреса клиента выполняется обратный DNS-запрос (PTR).

  2. По полученному доменному имени выполняется прямой DNS-запрос.

  3. Клиент подтверждается, если полученный IP-адрес совпадает с исходным, а доменное имя соответствует DNS-маскам робота.

Робот, прошедший проверку, получает доступ без токена. Если проверка не пройдена, клиент блокируется как поддельный поисковый робот.

Срабатывание фиксируется с основанием Имитация бота из белого списка и доступно для анализа в разделе Боты.

Проверка по сетям (CIDR)

Для робота можно задать список сетей в формате CIDR отдельно для IPv4 и IPv6.

Если IP-адрес клиента входит в одну из указанных сетей, робот подтверждается без DNS-запросов. Это ускоряет проверку и снижает нагрузку на DNS-резолвер.

Для подтверждения достаточно совпадения по одному из способов. Если IP-адрес входит в разрешённую сеть, DNS-проверка не выполняется.

Сети настраиваются в Консоли управления вместе с DNS-масками. Для робота достаточно настроить хотя бы один способ подтверждения, но рекомендуется использовать оба.

Используйте диапазоны адресов, официально опубликованные поисковыми системами для своих роботов. Указывайте минимально необходимые диапазоны. Чем шире сеть, тем выше риск пропустить клиента, маскирующегося под поискового робота из её адресного пространства.

Пропуск по сети фиксируется отдельно. Соответствующий счётчик доступен в метриках ноды, а результат проверки отражается в журнале доступа.

Подробнее – Журналы и метрики ноды.

Кэширование и IPv6

Результаты проверки сохраняются в кэше ноды. Срок хранения задаётся отдельно для разрешённых и заблокированных клиентов:

  • Подтверждённый робот – 24 часа.
  • Отклонённый робот – 1 час.

Короткий срок хранения результата блокировки позволяет повторно проверить робота после устранения проблем с DNS-записями.

Для клиентов с изменяющимися IPv6-адресами блокировка распространяется на весь префикс /64. Смена адреса внутри этой сети не позволяет обойти блокировку.

Настройка

Список поисковых роботов настраивается в Консоли управления в разделе Списки на вкладке Белый список ботов.

Каждая запись содержит:

  • Наименование робота.
  • Маску строки идентификации.
  • DNS-маски.
  • Сети CIDR.

Порядок добавления и изменения записей описан в Управлении списками.

Для проверки по DNS на ноде должен быть настроен DNS-резолвер. Порядок настройки приведён в Настройке SmartBot Protection.

Поставщик сопровождает общесистемный список известных поисковых роботов. Записи заказчика действуют поверх общесистемного списка.