Перейти до вмісту

Перевірки PTR-записів: виявлення фейкових ботів через зворотний DNS у BotBlocker

Один із найефективніших способів відрізнити справжні краулери пошукових систем від самозванців - перевірка PTR-записів (зворотного DNS). Багато ботів намагаються замаскуватися, використовуючи легітимні рядки User-Agent, як-от Googlebot чи Bingbot. Однак вони майже ніколи не мають правильних PTR-записів, які підтримують справжні боти пошукових систем.

Що таке PTR-запис (зворотний DNS)?

PTR-запис зіставляє IP-адресу з доменним ім’ям. У контексті веббезпеки це називають зворотним DNS-запитом. Якщо звичайний DNS-запис перетворює доменне ім’я (наприклад, google.com) на IP-адресу, то PTR-запис робить навпаки: він показує, який домен пов’язаний з конкретною IP-адресою.

Приклад:

  • Прямий DNS: googlebot.com → 66.249.66.1
  • PTR (зворотний DNS): 66.249.66.1 → crawl-66-249-66-1.googlebot.com

Саме ця двостороння перевірка робить верифікацію через зворотний DNS надійною. Фейковий бот може за секунди скопіювати рядок User-Agent, але не може змінити, на який домен резолвиться його IP-адреса. Це зіставлення повністю контролює власник IP, а у випадку справжніх краулерів це завжди сама компанія пошукової системи. Google описує цей метод перевірки у власних офіційних настановах щодо верифікації Googlebot, а Bing дотримується схожого підходу, описаного в документації Microsoft щодо верифікації Bingbot.

Як BotBlocker використовує PTR для виявлення ботів

BotBlocker автоматично виконує PTR-перевірку щоразу, коли відвідувач заявляє, що він є краулером великої пошукової системи. Плагін перевіряє:

  • Чи відповідає IP-адреса в запиті заявленому User-Agent (наприклад, що це Googlebot)
  • Чи вказує запис зворотного DNS (PTR) для цієї IP-адреси на офіційний домен (наприклад, *.googlebot.com)
  • Додатково - прямий DNS-запит, який переконується, що ім’я хоста вказує назад на ту саму IP-адресу, для додаткової надійності

Якщо якась із цих перевірок не проходить, відвідувача визнають фейковим ботом і блокують або показують йому виклик.

Процес верифікації повністю виконується на боці сервера й не потребує змін у коді вашого сайту. BotBlocker сам виконує DNS-запити, логує результати й застосовує налаштовану дію: жорстке блокування, перенаправлення чи CAPTCHA-виклик. Тобто власники сайтів отримують повний захист, не розбираючись у технічних деталях роботи DNS.

Чому PTR-перевірка важлива

Фейкові боти часто підробляють User-Agent, щоб сканувати сайт або атакувати його, не будучи виявленими простими правилами. Лише офіційні пошукові системи володіють потрібними діапазонами IP і підтримують валідні PTR-записи. Це робить фільтрацію на основі PTR одним із найнадійніших методів проти:

  • Скраперів контенту
  • Спам-ботів, які видають себе за пошукові системи
  • Ботів, що намагаються обійти стандартні фільтри безпеки

За даними дослідження Cloudflare щодо бот-трафіку, значна частина автоматизованого трафіку в інтернеті - це боти, які видають себе за легітимні сервіси. Багато з них копіюють відомі рядки User-Agent саме тому, що базові інструменти безпеки перевіряють лише цей рядок і більше нічого. PTR-верифікація закриває цю прогалину, додаючи рівень, який неможливо підробити без контролю над реальною IP-інфраструктурою.

Як PTR-перевірки захищають ваш сайт

Окрім захисту контенту, блокування фейкових краулерів зменшує й зайве навантаження на сервер. Коли бот-скрапер багаторазово відвідує ваші сторінки, видаючи себе за Googlebot, він споживає трафік і серверні ресурси так само, як справжній краулер. Раннє виявлення таких ботів через зворотний DNS означає менше марних запитів і нижчі витрати на хостинг із часом.

Обмеження та найкращі практики

  • PTR-перевірки стосуються лише ботів, які заявляють, що є пошуковими системами (наприклад, Googlebot, Bingbot тощо)
  • Не застосовуються до звичайних користувачів чи типових ботів
  • Запити зворотного DNS можуть додавати невелику затримку, але лише для конкретних User-Agent, а не для кожного відвідувача

Також варто залишати PTR-верифікацію частиною ширшого комплексу заходів безпеки, а не покладатися лише на неї. Поєднання перевірок зворотного DNS з аналізом User-Agent, обмеженням частоти запитів і поведінковим виявленням дає значно сильніший результат, ніж будь-який метод окремо.

FAQ

Чи можна випадково заблокувати справжній Googlebot?
Майже ніколи. Google та інші справжні боти мають бездоганні PTR- і прямі DNS-записи.

Чи PTR-перевірка ввімкнена для всіх відвідувачів?
Ні, вона запускається лише для запитів із підозрілими рядками User-Agent, що імітують краулери пошукових систем.

Чи впливає це на швидкість сайту?
Ні, оскільки запити зворотного DNS рідкісні й оптимізовані в BotBlocker.

Які пошукові системи охоплює ця перевірка?
BotBlocker охоплює всі великі краулери, які публікують свої діапазони IP і DNS-записи, зокрема Google, Bing, Яндекс та кілька інших. Будь-який бот, що заявляє, що він є одним із цих сервісів, проходить ту саму логіку верифікації.

Аномалії PTR