Как скрыть сайт от сервисов конкурентной разведки? Самое эффективное решение. Reverse DNS
12 May 2021

Как скрыть сайт от сервисов конкурентной разведки? Самое эффективное решение. Reverse DNS

Сервисы конкурентной разведки позволяют выяснить как именно продвигается сайт.

Полученные данные помогают конкурентам обогнать визави в поисковой выдаче.

Как скрыть ценную информацию от конкурентов? Разбираем самый эффективный метод, после выполнения которого конкуренты не смогут проанализировать ваш сайт.

1 — Целеполагание: зачем запрещать доступ к сайту роботам?


Сервисы конкурентной разведки позволяют выгрузить ценную информацию о вашем сайте. К полезной информации относятся: структура сайта, внешние ссылки, текстовое содержание и прочее.

Большинство предложений на рынке услуг по продвижению базируется на копировании стратегий лидеров поиска.

Работы состоят из простых шагов:

  • Поиск конкурентов. Например, с использованием сервиса Поиск конкурентов от MegaIndex;
  • Выгрузка ценных данных о конкурентных сайтах;
  • Копирование решений.

Рекомендованный материал в блоге MegaIndex по ссылке — Поиск конкурентов по ключевым словам. Бесплатно. Как найти и зачем.

К ценным данным относятся:

  • Внешние ссылки с частной сети сайтов;
  • Структура сайта;
  • Контент в части заголовков title, h1-h6, сниппетов и основное содержание страницы.

Данные по внешним ссылкам позволяет узнать сервис Внешние ссылки от MegaIndex.

внешние ссылки

Копирование успешных стратегий является действительно эффективным решением.

Скрыть сайт от сервисов конкурентной разведки можно разными способами.

Наименее эффективным является запрет в файле robots.txt.

Запрет роботов с использованием директив в файле robots.txt

Директива robots.txt является рекомендацией, а не правилом. Авторитетные сервисы такие как MegaIndex учитывают рекомендации. Но файл robots.txt не является гарантией от сканирования сайта другими сервисами.

Эффективным способом является запрет на уровне сервера. Пример кода размещено по ссылке — запрет сканирования сайта на уровне сервера.

Запрет роботов на уровне сервера

Идея правильная, но способ не идеален.

2 — Проблема: Как роботы сканируют сайты в обход запретов?


При обращении к сайту на сервер передается запрос с информацией о клиенте. Обращения записываются в журнал посещений, так называемый файл называется logs. В файл logs сохраняется информация обо всех обращениях к сайту.

В каждой строке содержатся User-Agent, а также IP.

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

  • Googlebot;
  • Yandex*. Например, Yandexbot, YandexCalendar, YandexMobileBot.

Сервисы представляются аналогично, к примеру MegaIndexBot.

Скрипт блокировки на уровне сервера отклоняет обращения согласно списку значений User-Agent.

Робот системы конкурентной разведки заблокирован. Но обойти защиту просто. Например, представиться краулером как Yandexbot или Googlebot. Определенные сервисы заявили публично, что начали сканировать сайты используя поддельные имена.

Робот подделка под user-agent Googlebot

Что делать? Предлагаю решение, которое гарантированно закроет сайт от сканирования сервисами конкурентной разведки. Дополнительный эффект заключается в экономии трафика.

Принцип заключается в проверке робота на достоверность.

3 — Решение. Как закрыть сайт от сканирования системами конкурентной разведки


Метод базируется на использовании цепочки запросов к серверу доменных имен.

Порядок действий следующий.

Шаг 1. Робот поисковой системы обращается к сайту. В строке запроса указан. User-Agent поисковых систем Google и Яндекс. Выгружаем IP-адрес.

Шаг 2. По IP-адресу определяем хост, для этого выполняем обратный DNS-запрос.

Проверяем, принадлежит ли хост Яндексу или Google. Хосты всех роботов Google заканчиваются на googlebot.com или google.com. Хосты всех роботов Яндекса заканчиваются на yandex.ru, yandex.net или yandex.com. Если имя хоста имеет любое другое окончание, значит робот не принадлежит поисковой системе.

Как работает прямой запрос к DNS

Шаг 3. Выполняем прямой DNS запрос на перевод хоста в IP, для этого выполняем прямой DNS-запрос. Получаем IP-адрес соответствующий имени хоста.

Как работает обратный запроса к DNS

Шаг 4. Адрес должен совпадать с IP-адресом, использованным при обратном DNS запросе. Если IP-адреса не совпадают, значит полученное имя хоста поддельное.

В результате обращения к сайту от сервисов конкурентной разведки заблокированы. Для робота поисковой системы доступ к сайту открыт.

Блокировка роботов

Как выполнить обратный запрос DNS?


Для реализации блокировки требуется скрипт, выполняющий описанный порядок действий. Методология реализуется на любом популярном языке.

Для понимания процесса показываю как проверить самому.

Например, через консоль Windows проверка выполняется через такие команды:

  • nslookup;
  • ping -a.

Запрос с использованием команды nslookup:

nslookup 89.108.117.218

Результат:

nslookup для определения хоста клиента

Запрос с использованием ping:

ping -a 89.108.117.218

Выводы


Часто под видом поисковых роботов к сайту обращаются системы по конкурентной разведке, спамеры.

Системы конкурентной разведки позволяют выявить ценные наработки по продвижению сайта.

Данные о выполненных работах по поисковой оптимизации позволяют конкурентам повторить успех.

Схема работы довольно простая:


Повторить стратегию лидера поиска просто, поэтому надо закрыть сайт от систем аналитики.

Есть расхожие простые способы. Например:

  • Использовать запрет на уровне сервера. Пример кода размещен на indexoid;
  • Запретить через robots.

Проблемы такие:

  • Директивы robots исполняются не всеми роботами;
  • Запрет на уровне сервера позволяет добиться принудительной блокировки. Но есть способ обойти защиту. Как? Блокировка проводится по признаку User-Agent. Решение по обходу блокировки заключается в подделке передаваемого значения.

Поисковые системы, включая Google и Яндекс, не публикуют списки адресов поисковых роботов.

Как же убедиться, что сайт сканирует именно робот поисковой системы?

Для проверки требуется выполнить обратный DNS запрос.

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

Система проверки с использованием DNS позволяет закрыть как главный сайт и сайты сателлиты от анализа любыми внешними сервисами.

Алгоритм проверки заключается в следующих действиях:

  • Если к сайту обращается Googlebot, Yandex*, то выгрузить данные об IP;
  • Выполнить обратный reverse DNS запрос. Убедиться, что в результате получено доменное имя принадлежащее поисковой системе. Для Яндекс — yandex.ru, yandex.net или yandex.com. Для Google — googlebot.com или google.com;
  • Выполнить прямой DNS запрос для преобразования хоста в цифровой адрес.
  • Проверить соответствие. IP должен совпадать с IP-адресом, использованным при обратном DNS запросе. Если IP-адреса не совпадают, значит что сайт сканирует не поисковая система, а хост поддельный.

Результат:

  • Сайт доступен для обозначенных роботов поисковых систем;
  • Сайт доступен для пользователей;
  • Все страницы сайта закрыты от систем разведки.

Закрыть сайт от ботов

В результате сервер не передает контент сторонним сервисам. Алгоритм позволяет сэкономить трафик и защитить сайт от сторонних роботов.

Защита от атаки ботами

Настроек по DNS много. Если интересно узнавать больше об оптимизации сайта посредством DNS, напишите в комментариях.

Остались вопросы? Есть чем дополнить материал? Хотите узнать как отличить робота от пользователя? Напишите сообщение в комментариях.

Обсуждение

ofban
14:07 13 May 2021
А есть способ закрыть сайт от ботов, лезут в стуки более 2000.
kakoynibud
15:28 13 May 2021
https://github.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker это для nxing, для апач там рядом
Дмитрий Угниченко
10:55 14 May 2021
Да. Конечно. Часто блокировка ботов проводится по признаку включения JavaScript.
yarnik.seo
14:23 13 May 2021
обычных пользовательей тоже баним заодно, так что ли?
Дмитрий Угниченко
10:54 14 May 2021
Если сайт является просто источником ссылок, то часто так и делают. Если сайт собирает трафик, то не надо банить.
parktechno
15:11 13 May 2021
В реальности подобных серых ботов почти нет. Но есть очень много других, которых мы, например, отлавливаем вручную, а потом также блочим вручную по айпишнику или по обобщённому правилу. Пример блокировок на скрине: https://disk.yandex.ru/i/8Xz3i7YezFuK0g
Дмитрий Угниченко
13:56 14 May 2021
Какие задачи боты выполняли? Спасибо за скриншот.
mediakot1
15:27 13 May 2021
А зачем вы это рассказали, если вы сами сайт-разведка?
Дмитрий Угниченко
10:53 14 May 2021
MegaIndex действует по понятным правилам. Относится с уважением к пожеланиям владельцев сайтов. Если на сайте есть запрет в robots.txt, роботы не выламывают двери чтобы просканировать сайт.
mediakot1
07:23 15 May 2021
Кстати алгоритм, описанный в статье проверяет только, если бот маскируется под яндекс или гугл. Если же бот не маскируется, то алгоритм его пропустит.
Думаю такой алгоритм правильнее:
1. Получаем IP обратившегося хоста.
2. Делаем реверс DNS.
3. Сверяем с белым списком и пропускаем или блочим.
mediakot1
07:24 15 May 2021
Да, и между первым и вторым шагом проверка, что это не простой пользователь.
Дмитрий Угниченко
15:58 17 May 2021
Полный разбор по работе с ботами и как отличить бота от пользователя - тема более глобальной. Данные вопросы не рассматривались. Концептуально решение понятное, но есть нюансы.
romlog
15:45 13 May 2021
Все что описано в статье можно настроить в облачной версии программного продукта , там как раз эта технология обратного ДНС применяется чтобы пускать только белых ботов Яндекса и Гугла на сайт. Ну и поведенческих ботов отлавливать и не пускать на сайт. Подключается легко практически на любой php движок. Да и как удобный инструмент анализа и наблюдения за всеми кто лезет на сайт.
admin
16:32 13 May 2021
Рефку выпили "рекомендатор" :)
romlog
20:49 13 May 2021
Редачить комменты не умею. А сервисом сам пользуюсь. А вообще кому интересно и с рефкой перейдет, а если посчитает продукт достойным будет им пользоваться.
Дмитрий Угниченко
10:56 14 May 2021
Что имеете ввиду под поведенческими ботами? Чтобы отсечь примитивных ботов Обычно достаточно сделать проверку по признаку включения JavasScript.
romlog
11:56 14 May 2021
Последнее время очень большой поток трафика не реальных пользователей а пользователей имитирующих поведение реальных пользователей, для накрутки поведенческих факторов для себя и скручивания поведенческих для конкурентов. Сейчас таких инструментов очень много, они созданы на основе браузерных движков google chromium. Поэтому по признаку JS их уже не отсечь.
Дмитрий Угниченко
15:57 17 May 2021
Как эффективно такие боты справляются с капчей?
Дмитрий Угниченко
15:57 17 May 2021
Есть примеры таких сервисов накрутки?
bestlegalf
16:11 18 May 2021
Для сайта, работающего на Америку, подойдет?
demimurych
17:25 19 May 2021
Способы описанные в статье Вам помогут только в случае если с Вами работает человек которые впервые занимается решением подобных вопросов.
Это как ставить механический замок с кнопками на подьезде. Формально войти может только тот кто знает комбинацию кнопок, на деле этот замок остановит только пьяного, который валяясь под дверью не может дотянуться до кнопок.
Любой маломальский грамотный технический специалист все подобные ограничения даже не замечает. Это характерно не только для решения вопросов сканирования. Это характерно для любы вопросов связанных с сетевой активностью.
Патология современных публичных сетей такова, что не дает никаких механизмов по дифференциации сетевых соединений. Как следствие, нет никакой возможности в ПО уровнем выше, реализовывать функционал который бы мог фильтровать "плохих" от "хороших".
Иными словами, если Ваш проект допускает анонимное соединение, то снять с Вас метрики не составляет никакого труда. Любой же эвристикой, которая пытается ранжировать клиента на основании частоты запросов, интенсивности и прочем можно клопов давить.
По очень простым причинам - не нужно даже иметь в личном пользовании сколько нибудь значимой распределенной сети для осуществления запросов из разных источников - они сейчас стоят сущие копейки в аренду. И часто вообще даются бесплатно в случае когда Вам нужен какой нибудь детский лимит по одному запросу с хоста. Не говоря уже о том, что те кто занимается решением похожих вопросов профессионально, имеют в своем распоряжении свои инструменты.
kharin_stragh
15:27 25 июня 2021
Подскажите, готовый сервис/софт предоставляющий такую услугу или программистов, которые могут это реализовать?
alisakobzar
16:52 26 июля 2021
Теперь понятно для чего был этот пост, чтоб по прошествии двух месяцев запилить свой продаван курс за 600 баксов (((
admin
14:57 29 июля 2021
Какие курсы?
nabewo6534
08:39 29 июля 2021
We still take analogue impressions
Для добавления комментария, пожалуйста, авторизуйтесь