Анализ лога сервера
Вставьте кусок лога nginx или Apache — покажем долю автоматического трафика, самые активные адреса, кто искал ваши секреты и какие роботы к вам ходят. Лог никуда не отправляется и нигде не сохраняется.
Что мы ищем в логе
Библиотеки вместо браузеров. python-requests, curl, Go-http-client, Scrapy и ещё несколько десятков строк User-Agent, которые не принадлежат ни одному браузеру. Их авторы обычно даже не прячутся: такой трафик — самая простая и самая массовая часть автоматики.
Частоту с одного адреса. Человек открывает страницу раз в десять-двадцать секунд, скрипт — несколько в секунду. Адреса с сотнями запросов за минуту почти всегда парсеры, даже если User-Agent у них от настоящего Chrome.
Запросы к тому, чего на сайте нет. .env, .git/config, wp-login.php на сайте без WordPress, резервные копии с расширением .sql. Так выглядят сканеры уязвимостей — их видно по одной строке.
Роботов поисковиков. Яндекс, Google, Bing и другие отмечаются отдельно и в долю ботов не попадают: их трафик полезен, и блокировать его нельзя ни при каких условиях.
Частые вопросы
Какой формат лога подходит?
Стандартный combined-формат nginx и Apache: адрес, дата, строка запроса, код ответа, размер, реферер и User-Agent. Именно так логи пишутся по умолчанию на большинстве хостингов. Другие форматы разбираются частично — по тем полям, которые удалось распознать.
Сколько строк нужно, чтобы картина была честной?
Хотя бы несколько тысяч за один и тот же промежуток времени. По сотне строк доля ботов может выйти и 5 %, и 60 % — в зависимости от того, кто зашёл в эту минуту. Час или сутки трафика дают устойчивую оценку.
Что означает «искали секреты»?
Запросы к файлам, которых на сайте быть не должно, но которые иногда забывают: .env, .git, резервные копии, phpMyAdmin. Такие запросы делают только сканеры — у живого посетителя нет причин искать конфигурацию сервера.
Почему поисковый робот попал в подозрительные?
Инструмент проверяет подлинность робота по обратному DNS только для адресов из вставленного лога и не всегда успевает за один запрос. Если робот отмечен как неподтверждённый, проверьте адрес отдельно — в проверке IP это делается полностью.
Разбирать логи руками — занятие на вечер
BotBan делает то же самое на каждом визите и показывает результат сразу, с объяснением по каждому решению.
Подключить бесплатноБез карты. 100 000 визитов в месяц бесплатно.