- PVSM.RU - https://www.pvsm.ru -

Ставим сети — ловим роботов

Ставим сети — ловим роботов - 1

Началось всё как обычно — с подозрений. Уж больно много людей приходит на мои сайты, которые скачивают дистрибутивы приложений по прямым ссылкам без рефереров. Как-то странно это, правда? Не могут же быть так популярны блокировщики ссылок. Я замечал некоторые адреса и пользователи обычно приходили опять скачивать без ссылки. Часто другую программу — никак не относящуюся к первой. Дальше пошли в ход проверки, что да как в логах. Оказалось, что абсолютное большинство таких заходов — странные пользователи, которые имеют пустые HTTP_ACCEPT_ENCODING и HTTP_ACCEPT_LANGUAGE. HTTP_USER_AGENT иногда указывает на Java, JavaScript, Wget, Perl, PHP и так далее, но большинство обычные строки браузеров. Все более-менее приличные поисковики у меня давно учитываются и это, конечно, не они.

Дальше стало ещё интереснее — что же это такое. То есть понятно, что это роботы, но зачем? Зачем приходить раз в день — два — неделю и перекачивать все дистрибутивы совершенно разных направленностей? Даже минимального ответа пока не было. Но после долго просмотра логов стал замечать, что часто бывают почти одинаковые IP — то есть с одной подсети и потому сортировка по количеству хитов с одного IP ничего интересного не показывает кроме клинических случаев. Пришлось искать лог анализатор с возможностью группировки по подсетям. И ничего сходу не найдя я, как обычно, написал свой велосипед.

И что я нашёл интересного? Ну не очень много интересного и к сожалению 90% роботов — никак не идентифицируются. Много ходит всяких секюрити контор, которые проверяют веб страницы (и само собой файлы) на безопасность для своих антивирусных продуктов (касперский, симантек, инфосек, инфоватч, битдефендер...) — но эти далеко не главные, они заметны лишь периодичностью. Самое большое число роботов в сетях французского облачного провайдера OVH, в азиатских подсетях Amazon, само-собой в HETZNERе, просто где-то в Китае, в облаке Digital ocean и всё больше в Alibaba cloud. Зачем — я так и не понял. Но понятно почему многие в облаках — ведь входящий трафик там бесплатный. А Amazon, например, так и заявляет — приходите к нам и запускайте веб роботов [1]. Так же много искателей дыр в популярных CMS. Запросы к wp-login.php у меня уже за тысячу в день бывают. Запрашивающих его, кстати, можно сразу в роботы записывать.

Возникает вопрос, что с ними делать? Ну можно ничего не делать. Трафик нынче дёшев, сервера тоже. А можно заблокировать прям подсетями — живых посетителей оттуда всё равно увидеть практически нереально. Да и исходящий трафик в облаках платный, хоть и копеечный. И что самое главное для меня — они портят статистику, которую тяжелее анализировать из-за них.

В общем, выкладываю анализатор логов который [2] собирает статистику по подсетям — вдруг у кого-то получится найти что-то более интересное. Я ответов так и не нашёл.

Вот исходники анализатора [2] (С++, STL). Не надо пугаться, что оно под Windows — ядро анализатора отвязано от интерфейса и там даже два типа проекта — консольный вариант и с GUI. Для портирования на другие платформы пока STL из C++ 11 — не хватает, по хорошему нужна filesystems из C++ 17, чтобы уже сделать 100% портабельно. С другой стороны, нужно только одну функцию заменить — траверс директории.

Анализатор понимает файлы с данными подсетей из официальных NIC (Network Information Center) регионов (на гитхабе [2] ссылки есть) или более точные(но кривоватые) db-ip.com [3] (там часто CIDR не парсится нормально). Для работы надо три папки, где лежат логи, где лежат файлы подсетей (чтобы построить базу подсетей) и куда положить скомпилированную базу с подсетями(ну чтобы каждый раз не парсить) и отчёт. Ибо после анализа генерируется html отчёт с подсетями отсортированными по количеству хитов и объёму скачанного. По клику на адресе в отчёте открывается сторонний сервис, показывающий владельца подсети. Там собственно вся информация и черпается. По решётке открывается уже список конкретных адресов из подсети (и тоже отсортированные).

Репорт выглядит примерно так:

Ставим сети — ловим роботов - 2

Если у вас много посетителей, ставьте сразу большие лимиты на включение в отчёт. Там есть минимальное количество хитов из подсети и минималый объём по трафику.

ps. Если нет желания собирать самому — вот собранный под Windows [4].

Автор: crea7or

Источник [5]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/c-3/247481

Ссылки в тексте:

[1] нам и запускайте веб роботов: https://aws.amazon.com/ru/blogs/aws/aws-price-reductions/

[2] анализатор логов который: https://github.com/crea7or/NeuroLog

[3] db-ip.com: https://db-ip.com/db/

[4] под Windows: http://crea7or.spb.ru/files/neurolog.exe

[5] Источник: https://habrahabr.ru/post/323118/?utm_source=habrahabr&utm_medium=rss&utm_campaign=best