Новости проекта
Движок стал строже к сканерам, а в кабинете появились страны и карта запросов
Разобрали журнал собственного сайта и закрыли дыры: сканеры, перебор ключей и масок роботов теперь не проходят. Заодно у адресов появились страны и сети, на дашборде карта, а в журнале справка об адресе.
Мы подключили botban.ru к самому себе и сели читать журнал. Картина
оказалась поучительной: сканер с одного адреса Google Cloud за полминуты
запросил /id_rsa, /key.pem, /server.key и /rclone.conf, каждый раз
представляясь новым роботом — ClaudeBot, GrokBot, CCBot, cohere. Заблокированы
были только два запроса, где он назвался Googlebot: их мы умеем проверять
по обратному DNS. Остальные прошли с баллом 25. Десяток адресов из облаков
Tencent и Alibaba с одинаковым «iPhone OS 13» ходили по новостям с
идеальными заголовками и баллом 0. Ниже — что мы с этим сделали.
Новые признаки
- Сканеры сети. Censys, Shodan, InternetMeasurement, Nmap, sqlmap, Nuclei, WPScan и подобные подписываются честно. Раньше они проходили как «неизвестный робот», теперь получают полный вес признака.
- Поиск ключей и дампов. Список путей расширен: ключи SSH и
сертификаты, дампы базы, бэкапы конфигов,
/owa/,/phpinfo.php, отпечатки WordPress вродеwlwmanifest.xml. И главное — память: второй запрос к секретам с того же адреса за шесть часов считается второй независимой уликой, а этого хватает на блокировку. Память общая для всех сайтов: сканер, прошедшийся по одному клиенту, у следующего встречает закрытую дверь. Обычную страницу с такого адреса это почти не трогает — за операторским NAT после сканера может прийти человек. - Смена масок. Адрес, который за час назвался тремя разными роботами, доверия лишается. Настоящий краулер ходит под одним именем.
- Робот без проверки. Назвался роботом, но в каталоге его нет — небольшой довод. Честные мониторинги и SEO-сервисы бывают, поэтому один этот признак ничего не решает.
- Сеть адреса. Теперь мы знаем, из какой сети пришёл адрес: домашний провайдер, оператор связи или хостинг. Адрес из облака весит мало — через те же облака ходят люди по VPN. Но «iPhone» из дата-центра с безупречными заголовками — единственное, за что можно зацепиться у парсера, и это второй довод.
- Строка браузера без платформы. Настоящий Chrome всегда пишет «Mozilla/5.0 (Windows…». Строка без скобок собрана вручную.
- Кредит доверия — не индульгенция. Робот из белого списка (мониторинг, краулер соцсети, ИИ-краулер) теряет пропуск, если ищет секреты или меняет имена.
Главный принцип не изменился: ни один признак не дотягивает до блокировки в одиночку, для неё нужны два независимых довода, а адреса, за которыми стоит много людей, жёстко не блокируются никогда.
ИИ-краулеры
В «Кого не трогать никогда» появился четвёртый переключатель — GPTBot, ClaudeBot, PerplexityBot, Bytespider и ещё три десятка роботов ИИ-компаний. По умолчанию они проходят. Это единственный переключатель, который можно выключить без вреда для людей: сайт просто перестанет попадать в ответы ассистентов. Кабинет об этом напомнит.
Страны, карта и справка об адресе
Страну и сеть мы берём из открытого справочника, который обновляется ежедневно. Что из этого видно в кабинете:
- флаг страны рядом с каждым адресом в журнале и на дашборде;
- карта «Откуда идут запросы» на дашборде — сколько визитов из каждой страны и какая доля заблокирована; страны, откуда идут в основном боты, подсвечены красным;
- в раскрытом визите — кнопка «Подробнее об адресе»: страна, сеть и номер автономной системы, признак хостинга, обратное DNS-имя, отметка об общем адресе, история адреса на сайте за 30 дней и место в ваших списках;
- чёрный список стран в настройках заработал по-настоящему.
Визитам за последние 30 дней страну дописали задним числом, так что карта не пустая с первого дня.