Сумасшедшие боты и способы борьбы с ними

12
slavegirl
На сайте с 25.06.2012
Offline
388
4580

На днях столкнулась с ситуацией, когда маленький форум с посещаемостью 2000-3000 уникальных посетителей в день периодически становился полностью недоступным. Google Analytics показывает всего 20-30 человек онлайн, а страницы грузятся полминуты и Load Averages достигает больше 10.

После некоторых наблюдений удалось обнаружить несколько диапазонов адресов, с которых шло слишком много просмотров страниц за единицу времени. Предположительно эти адреса принадлежат ботам, потому как каждая второй просмотр был направлен на профили пользователей (хотя в robots.txt установлен запрет на это). Также в сети удалось найти похожие жалобы на эти диапазоны и рекомендации к их блокировке.

После бана диапазонов в .htaccess нагрузка с форума сразу исчезла: LA опустился до нормальных значений 0.1-0.2 с пиками всего в 1.5-2.0. Я считаю, что это ненормальная ситуация, когда каждый день в интернете появляются все новые и новые поисковые системы, которые открыто игнорируют общепринятые директивы запретов. Также пытаюсь (пока не очень успешно) бороться с китайским поисковиком Baidu, который плевать хотел на robots.txt и постоянно маскируется. Как показывает статистика, посещения из Азии он практически не дает, да и ресурс направлен больше на пользователей из США и Европы.

Приведу список из 2 заблокированных вчера диапазонов, которые полностью перегружали форум:

.htaccess

=======


SetEnvIf Remote_Addr "^208\.86\.198\." CrazyBots
SetEnvIf Remote_Addr "^208\.93\.7\." CrazyBots

Order Allow,Deny
Allow from All
Deny from env=CrazyBots

Если здесь есть пользователи, которые так же сталкивались с подобными проблемами, связанными с перегрузками ресурсов малоизвестными (и скорее всего, ненужными) ботами, очень прошу поделиться их диапазонами адресов.

Заранее очень благодарна!

https://t.me/joinchat/RKtR6f68OwU1NzM6  ❤️‍🔥  Сарказм is my orgazm
Г
На сайте с 16.12.2010
Offline
194
#1
А еще люблю мой форум

ого, адалт форум у девочки? первый раз такое вижу:)

slavegirl
На сайте с 25.06.2012
Offline
388
#2

Может тематика форума и является причиной агрессивности ботов? :)

Прямо как пчёлы на мёд слетаются!

F
На сайте с 17.05.2009
Offline
28
#3

А еще лучше сразу их в iptables забанте, нагрузки еще меньше будет.

slavegirl
На сайте с 25.06.2012
Offline
388
#4

Спасибо за совет. Пока еще не хватает знаний по iptables, но уже пытаюсь разобраться.

Wandex
На сайте с 15.04.2012
Offline
19
#5

Хмм... А фильтрация по User-Agent - не вариант?

slavegirl
На сайте с 25.06.2012
Offline
388
#6

На фильтрацию по User-Agent в .htaccess Baidu, например, не отреагировал. Для его блокировки уже нашла немного модифицированное решение. Да и названия не всех ботов получается выяснить. Видно только, из диапазонов каких IP-адресов идет нагрузка, а кто за ними скрывается можно и не узнать.

F
На сайте с 17.05.2009
Offline
28
#7
Wandex:
Хмм... А фильтрация по User-Agent - не вариант?

Если сильно долбятся - то не вариант.

yanus
На сайте с 21.01.2009
Offline
348
#8

Вы наверное удивитесь, но в огромном количестве софта можно прописывать произвольный юзер-агент. Так копируют сайты, занимаются граббингом и тд, прикрываясь юзерагентами поисковиков.

Сами же поисковые боты довольно умны и не будут "ddos-ить" сайт.

Wandex
На сайте с 15.04.2012
Offline
19
#9
yanus:
Вы наверное удивитесь, но в огромном количестве софта можно прописывать произвольный юзер-агент. Так копируют сайты, занимаются граббингом и тд, прикрываясь юзерагентами поисковиков.
Сами же поисковые боты довольно умны и не будут "ddos-ить" сайт.

Не беспокойтесь, это и так очевидно, я и сам имею немалый опыт написания различного назначения ботов и парсеров. Но как я сначала понял вопрос был не про парсеры и ddos , а о малоизвестных ботах, которые при том игнорируют robots, как я понял юзер агенты у них отличались. Если это поисковики, то никто менять юзер агент не станет, если парсеры или ддос. юзер агенты сменятся и только в этом случае нужно перейти к более радикальной блокировке, по IP.

---

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

slavegirl
На сайте с 25.06.2012
Offline
388
#10

В Mozilla Firefox есть очень замечательный плагин, который позволяет на лету изменять User-agent и заходить на сайты под видом телефона или Googlebot (список агентов большой и может дополняться). Называется User Agent Switcher.

Вчера забанила еще около 5 предположительно поисковиков, нагрузка форума в часы пик уменьшилась в 2 раза.

Боты вычисляются в логах следующим образом:

1. Если бот послушный, будет периодически встречаться запись "GET /robots.txt HTTP/1.0".

2. Среди общего набора URL присутствует большое количество адресов, по которым обычные пользователи не переходят: просмотр профилей пользователей одного за другим, RSS-новости, справка.

3. Очень малая задержка между переходами на протяжении длительного времени.

Пыталась блокировать бота Baidu двумя описанными в Интернете способами, но так ничего из этого не вышло. Сама захожу с его User-agent - меня сайт не впускает, а на форуме в списке ботов Baidu все равно активен. Придется изучать код SMF для того, чтобы выяснить, как форум его идентифицирует: по длинному списку IP-адресов или по какому-нибудь другому специфическому признаку. Этот противный китайский бот может грузить сайт парой сотен своих клонов одновременно.


Сейчас на форуме:
1148 Гостей, 265 Пользователей (340 Пауков)
Google (6), Alexa (1), Yahoo! (1), MSN (Media) (1), Baidu (331)

Мои попытки:


RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} ^Baiduspider [NC]
RewriteRule .* - [F]


SetEnvIfNoCase User-Agent "^Baiduspider" SearchBots
Order Allow,Deny
Allow from All
Deny from env=SearchBots
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий