Тактика поводження з недоброзичливими роботами


9

У мене є сайт, який з регуляторних причин може не індексуватися або шукатися автоматично. Це означає, що нам потрібно тримати подалі всіх роботів і не дозволяти їм розкручувати сайт.

Очевидно, у нас був файл robots.txt, який від самого початку відключає все. Однак, спостерігати за файлом robots.txt - це лише те, що робите роботи. Нещодавно у нас виникли проблеми з недоброзичливими роботами. Я налаштував Apache заборонити декілька користувачів-агентів, але це досить просто обійти.

Отже, питання полягає в тому, чи є якийсь спосіб налаштувати Apache (можливо, встановивши якийсь модуль?) Для виявлення поведінки, що нагадує робота, та відповіді? Будь-які інші ідеї?

На даний момент все, що я можу зробити, це заборона IP-адрес, заснованих на ручному огляді журналів, і це просто не є життєздатною довгостроковою стратегією.


Зважаючи на те, що ви запитуєте про модулі Apache (ознайомтеся з mod_evasive), і ваше рішення може закінчитися використанням деяких спеціальних правил розбору журналу та iptables, ця тема може стати кращим кандидатом для ServerFault.com, якщо у вас виникнуть запитання щодо блокування конкретної поведінки бота.
danlefree

Відповіді:


7

Ви можете зв’язати приховану сторінку, яка під час відвідування фіксує Useragent та IP-адресу бота, а потім додає один чи обидва до файлу .htaccess, який їх постійно блокує. Це автоматизовано, тому вам не потрібно нічого робити для його підтримки.


Це дуже цікава ідея, хоча у випадку, коли вони використовують дуже загальний користувальницький агент, ви не хочете автоматично закривати будь-який користувальницький агент.
Кріс

Я б тоді дотримувався IP-адрес. Крім того, якщо ви використовуєте I-адреси та бачите шаблон із блоку IP-адрес, то ви можете легко заблокувати їх одним простим правилом замість того, щоб підтримувати довгий список окремих IP-адрес.
Джон Конде

3
Ви можете використовувати описаний метод, щоб випадково зупинити поганих ботів від сканування вашого сайту. Але 1) Можна обійти (погані боти - та їх господарі - можуть навчитися ідентифікувати медові горщики та знати, як їх уникнути); та 2) Цей метод також може блокувати легітимізованих користувачів, яким перерозподілено IP-адреси, які були занесені до чорного списку як належні до ботів, що не поводяться. Якщо у вас є юридичне чи регуляторне зобов’язання не індексувати або автоматично закривати певний сайт, ви повинні використовувати належну автентифікацію та надавати доступ лише автентифікованим користувачам. Все інше не захищено.
Безкоштовний радикал

Хороша ідея. Але, якщо я це здійснив, я маю надію, що я б випадково не потрапив у медовий горщик і продовжував заблокувати з мого власного сайту.
JW01

@ JW01 Все, що вам потрібно зробити, щоб не відвідувати сторінку, яка обробляє це. Оскільки на ньому немає вмісту, який слід зробити простим.
Джон Конде

2

Ви можете піггіфікувати роботу інших людей з виявлення поганих IP-адрес, використовуючи модуль Apache, який взаємодіє з чорним списком IP Project Honeypot . Якщо ви робите це у великих масштабах, можливо, ввічливо запропонуйте запустити мед.


Я був вражений, коли додав на свій сайт чорний список IP-адрес Project Honeypot. Роки туги закінчилися так просто блокуючи лиходіїв. Я думаю, що ви можете виявити ботів пошукової системи і з ним. Отже, плюс 1 за це.
JW01

Але суть справи полягає в тому, що якщо у вас є загальнодоступні сторінки, очікуйте, що вони будуть індексовані. Отже, потрібна якась автентифікація. Дивіться відповідь Майкла Гемптона .
JW01

2

Як зазначила у коментарі Жисл Ханнемір , найкращий спосіб зробити це - вимагати входу всіх користувачів і не надавати обмежений вміст тим, хто не ввійшов у систему.

Якщо ви не можете вимагати входу з якихось причин, ви можете скористатися парою резервних копій (відмова від відповідальності: обидва винні я частково або повністю):

  1. Основний набір правил OWASP ModSecurity містить ряд правил , призначених для виявлення автоматизації, навіть якщо бот зробив кроки , щоб замаскувати себе в якості браузера (наприклад , підробка його User-Agent рядки). Якщо ви повністю контролюєте свій сервер, наприклад VPS, виділений сервер або щось більше, ніж це, то ви можете використовувати ці правила з ModSecurity .

    Цей набір правил містить також інші правила, які мають на меті зупинити широкий спектр невідповідних дій; якщо ви ще не подивилися на це, ви, безумовно, повинні.

  2. Якщо ви не повністю контролюєте свій сервер (тобто ви перебуваєте на спільному веб-хостингу) і ваш хост не дозволяє вам використовувати власні правила ModSecurity, ви можете спробувати щось на рівні програми, наприклад, мій Bad Поведінка . Я розпочав цей проект у 2005 році для боротьби зі спамом у блозі та скреперами вмісту, такими, що стосуються вас. Його можна додати до будь-якого веб-сайту на базі PHP.

    Слід також зазначити, що багато правил поганої поведінки було включено до набору основних правил ModSecurity, тому доки ви ввімкнули ці правила, запуск обох буде досить зайвим. Ці правила позначаються в наборі основних правил як такі, що походять із поганої поведінки.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.