Skip to content
KitploitKITPLOIT
ИнструментыЭксплойтыБлог
Log in
Отправить
ИнструментыЭксплойтыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

ЛентыКонтактыКонфиденциальность© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
stop-bots — Автоматизируйте блокировку доступа вредоносных ботов к вашему серверу | Kitploit
Инструменты/GitHubGitHub/ivankovic/stop-bots
Оборонительные ИнструментыАудит конфигурацииСбор информацииВеб-безопасностьСетевая безопасностьУтилиты и фреймворкиОбнаружение ВторженийАнти-БотАнализ Журналов
GitHubivankovic/stop-bots

stop-bots

Автоматизируйте блокировку доступа вредоносных ботов к вашему серверу

3964 дней назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Репозиторий
Поделиться

Stop Bots

CI crates.io Coverage License: AGPL v3+

TUI, веб-консоль и CLI, которые помогают настроить ваш сервер для блокировки нежелательных ботов без необходимости прятаться за CDN.

Он работает вместе с NGINX и вашим существующим межсетевым экраном (nftables или iptables):

  • Конфигурация NGINX. — Он классифицирует известных ботов по категориям (сканеры, поисковые системы, AI краулеры) и блокирует или разрешает их, внедряя правило в конфигурации вашего сайта. Он сканирует журнал NGINX для динамического обнаружения ботов и блокировки их, даже если ни один набор правил их ещё не отслеживает.
  • Скрипт межсетевого экрана. — Блокируйте целые страны, диапазоны IP-адресов дата-центров, известные диапазоны IP-адресов ботов или любой IP-адрес, который неоднократно пытается неудачно войти на ваш сервер. Каждая блокировка записывает, почему она существует.

Пять экранов по порядку: Панель управления, Настройки ботов, Межсетевой экран, NGINX и Блокировки

Приложение старается изо всех сил не заблокировать вам доступ к серверу, но вы используете его на свой риск. И учтите, что оно лицензировано под AGPL, поэтому если вы используете его коммерчески, убедитесь, что вы соблюдаете лицензию.

Быстрый старт

Установка

В Debian или Ubuntu, из репозитория APT:

curl -fsSL https://ivankovic.github.io/stop-bots/key.gpg \
  | sudo tee /usr/share/keyrings/stop-bots.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/stop-bots.gpg] \
https://ivankovic.github.io/stop-bots stable main" \
  | sudo tee /etc/apt/sources.list.d/stop-bots.list
sudo apt update && sudo apt install stop-bots

Пакет предоставляет man stop-bots (и страницу для каждой команды, например man stop-bots-batch), а также автодополнение для bash, zsh и fish. Он не устанавливает службы и ничего не запускает.

Или из crates.io, с Rust 1.88 или новее:

cargo install stop-bots

Или скачайте статический бинарник для x86_64 или aarch64 Linux со страницы GitHub releases.

Поддерживаемые платформы

  • Debian и Ubuntu, с systemd и NGINX. Именно это протестировано. install отказывается работать на хосте, который не является Debian или его производной.
  • Не Apache и не Caddy. Их логи доступа могут разбираться, но всё, что записывает конфиг веб-сервера, работает только с NGINX.
  • Зависимости времени выполнения: nft, или iptables-restore и ip6tables-restore, для файрвола; nginx для всего остального. NGINX в контейнере тоже работает — см. Запуск NGINX в контейнере.

В TUI

  1. sudo stop-bots запускает TUI. Требуются права root: он перезаписывает /etc/nginx и загружает правила файрвола.
  2. u скачивает все списки: списки ботов, диапазоны IP краулеров и любые фиды или страны, которые вы включили.
  3. Проверьте. Панель Dashboard (1) содержит общехостовую политику: какие категории ботов блокируются, страны и детекторы, которые читают ваши логи. На экране NGINX (4) клавиша r находит ваши сайты. Экран Blocks (5) перечисляет каждое правило, добавленное детекторами или вами, и почему.
  4. a применяет всё. Сначала он показывает, что изменится — файлы, добавленные и удалённые правила, а также вердикт проверки блокировки (d для diff) — и запрашивает подтверждение.
  5. sudo stop-bots install firewall делает применённые правила переживающими перезагрузку. Без этого после перезагрузки не останется никаких правил.
  6. sudo stop-bots status проверяет ядро, юниты и файлы и сообщает, что отсутствует.

То же самое из CLI, для скриптов

sudo stop-bots status
sudo stop-bots batch --dry-run --diff
sudo stop-bots batch --apply
sudo stop-bots install firewall
sudo stop-bots status

batch --dry-run ничего не скачивает и не сканирует: при совершенно новой установке он показывает блоки NGINX из встроенного в бинарник списка ботов, и пока никаких правил фаервола, потому что ничего не было прочитано из ваших логов. sudo stop-bots batch без --apply выполняет скачивание и сканирование и записывает файлы для проверки, не применяя их. См. Unattended, from cron о том, что делает batch.

Отмена

sudo stop-bots uninstall all --dry-run
sudo stop-bots uninstall all

Первый перечисляет каждый шаг, второй их выполняет. См. Обновление и удаление.

От чего защищает

Использование конфигурации NGINX

  • Известные боты, по категориям (сканер / поисковая система / ИИ-краулер), из ArcJet's Well-Known Bots, ai.robots.txt и NGINX Ultimate Bad Bot Blocker списка. Блокировка категории внедряет правило if ($http_user_agent ...) в конфигурацию NGINX каждого сайта.

  • Слишком много запросов, через собственное ограничение скорости NGINX.

  • Сначала вежливо — сгенерированный robots.txt, перечисляющий каждого бота, которого вы блокируете, для краулеров, которые его соблюдают, плюс путь-приманка ниже.

  • Кроме случаев, когда вы указываете иначе — исключения путей для каждого сайта, а также доверенные адреса и user agents (trust), к которым не применяется ни один блок, список или ограничение скорости.

  • Запросы, которые не выглядят как браузер, для каждого сайта. Шесть независимых правил, каждое со своим переключателем и каждое по умолчанию выключено — один переключатель на правило, чтобы если что-то из вашего перестанет работать, вы могли определить, какое правило это сделало:

    ПравилоОтклоняет, помимо ботов
    HTTP/1.0 и HTTP/1.1краулеры и API-клиенты, которые не говорят на HTTP/2
    Нет заголовка Acceptнекоторые API-клиенты не отправляют его
    Нет Accept-Languageинструменты приватности удаляют его
    Пустой/отсутствующий User-Agentскрипты и проверки работоспособности часто опускают его
    Host — это голый IPломает доступ к сайту по IP
    TLS 1.0 / 1.1только очень старые клиенты

Что на самом деле получает заблокированный запрос

Есть семь вариантов:

ВариантДля чего он
403 Forbidden (по умолчанию)говорит, что блокировка была намеренной; единственный, на который ошибочно пойманный человек может отреагировать
404 Not Foundскрывает, что что-либо было заблокировано вообще
410 Goneпросит благовоспитанных краулеров удалить URL навсегда — предпочитайте это вместо 403, когда вы отклоняете краулеров, а не атакующих
429 Too Many Requestsговорит вежливому клиенту отступить и повторить попытку
418 I'm a teapotшутка из RFC 2324. Она работает; просто не зарегистрирована в IANA, и NGINX отправляет её с пустым телом
444 close connectionвообще нет ответа; самый дешёвый, но неотличим от того, что сервер не работает
Tarpitотвечает 403, но выдаёт тело по одному байту в секунду, так что клиент ждёт вместо того, чтобы двигаться дальше
Скачать инструмент