BotBan

Новости проекта

Первая атака на нас самих: что сработало, что нет, и память о нарушителях

Через сутки после подключения botban.ru к самому себе пришёл сканер: 215 запросов за 26 секунд под 196 именами. Движок отбил 213, а вот автооткат ошибся. Разбираем и делаем выводы.

Вчера в 21:50 по UTC на botban.ru пришёл гость с адреса Google Cloud. За 26 секунд он сделал 215 запросов и каждый раз представлялся новым роботом: GPTBot, Amazonbot, Discordbot, PerplexityBot, Twitterbot, Claude-User — 196 разных имён. Искал он не статьи: /fetch, /proxy, /@fs/proc/self/environ, /etc/passwd, appsettings.Production.json. Это перебор дыр SSRF и утечек конфигов, обычная разведка.

Что сработало

Движок заблокировал 213 запросов из 215. Прошли первые два: сканер начал с имён ИИ-краулеров, а они по умолчанию в белом списке в пределах бюджета. С третьего запроса включилась смена масок, потом частота, потом память о поиске секретов, и дальше каждый запрос набирал 90–100 баллов. Живых посетителей в это время было шестеро, все прошли.

Что не сработало

Сработали оба предохранителя, и оба ошиблись:

  • Автооткат считал долю блокировок по запросам: 213 из 215 за пять минут — «99 % посетителей», защита выключена. По адресам это один нарушитель.
  • Подозрение на прокси увидело 200 запросов с одного адреса от 196 «браузеров» и решило, что сайт стоит за прокси. Прокси от сканера отличается просто: за прокси стоят люди, и их запросы пропускаются, а у сканера почти всё заблокировано.

Оба предохранителя нужны: первый спасает от неудачного правила, второй не даёт заблокировать целый офис за одним адресом. Но считать они должны людей, а не запросы.

Что изменилось

  • Автооткат считает адреса: защита отключается, если заблокировано больше порога адресов за окно, при этом заблокированных адресов не меньше десяти. Один сканер с тысячей запросов откат не вызывает.
  • Подозрение на прокси не ставится адресу, у которого за час заблокировано больше пятой части запросов. Такому адресу частота считается как всем.
  • Память о нарушителях. Пять блокировок с одного адреса за несколько часов — и дальше он получает тяжёлый довод по самому адресу, какие бы имена ни называл. Память общая для всех сайтов BotBan, если вы не выключили общую репутацию; операторские сети и CDN в неё не попадают никогда.
  • «Отражена атака». Когда с одного адреса за час заблокировано пятьдесят запросов, дашборд сообщает об этом отдельно: адрес, сеть, страна. Делать ничего не нужно, это просто чтобы вы видели, от чего защита вас уберегла.
  • В список поиска секретов добавлены пути из этой атаки: /@fs/, /proc/self/, /proc/1/, обход каталогов, appsettings.json.

Главное правило прежнее: ни один признак не блокирует в одиночку, а адреса, за которыми много людей, жёстко не блокируются никогда.