Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
stop-bots — Automatisez le blocage des mauvais bots qui accèdent à votre serveur | Kitploit
Outils/GitHubGitHub/ivankovic/stop-bots
Outils DéfensifsAudit de ConfigurationCollecte d'InformationsSécurité WebSécurité RéseauUtilitaires et FrameworksDétection d'IntrusionAnti-BotAnalyse de Journaux
GitHubivankovic/stop-bots

stop-bots

Automatisez le blocage des mauvais bots qui accèdent à votre serveur

396il y a 4 joursPas encore vérifié
Voir le dépôt

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

Stop Bots

CI crates.io Coverage License: AGPL v3+

Une TUI, une console web et une CLI qui vous aident à configurer votre serveur pour arrêter les mauvais bots sans vous cacher derrière un CDN.

Il fonctionne aux côtés de NGINX et de votre pare-feu existant (nftables ou iptables) :

  • Configuration NGINX. - Il classe les bots connus par catégorie (scanners, moteurs de recherche, crawlers d'IA) et les bloque ou les autorise en injectant une règle dans les configurations de votre site. Il analyse le journal NGINX pour détecter les bots dynamiquement et les bloquer même si aucun ensemble de règles ne les suit encore.
  • Un script de pare-feu. - Bloquez des pays entiers, des plages d'IP de centres de données, des plages d'IP de bots connus ou toute adresse IP qui tente à plusieurs reprises de se connecter à votre serveur sans succès. Chaque blocage enregistre la raison de son existence.

Les cinq écrans en séquence : Tableau de bord, Paramètres des bots, Pare-feu, NGINX et Blocages

L'application fait de son mieux pour ne pas vous verrouiller hors du serveur, mais vous l'utilisez à vos propres risques. Et notez qu'elle est sous licence AGPL, donc si vous l'utilisez à des fins commerciales, assurez-vous de respecter la licence.

Démarrage rapide

Installation

Sur Debian ou Ubuntu, depuis le dépôt 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

Le paquet fournit man stop-bots (et une page par verbe, telle que man stop-bots-batch) ainsi que les complétions bash, zsh et fish. Il n'installe aucun service et ne démarre rien.

Ou depuis crates.io, avec Rust 1.88 ou plus récent :

cargo install stop-bots

Ou téléchargez un binaire statique pour x86_64 ou aarch64 Linux depuis les GitHub releases.

Plateformes prises en charge

  • Debian et Ubuntu, avec systemd et NGINX. C'est ce qui est testé. install refuse un hôte qui n'est pas Debian ou un dérivé.
  • Pas Apache ni Caddy. Leurs logs d'accès peuvent être analysés, mais tout ce qui écrit la configuration du serveur web est réservé à NGINX.
  • Dépendances d'exécution : nft, ou iptables-restore et ip6tables-restore, pour le pare-feu ; nginx pour le reste. NGINX dans un conteneur fonctionne aussi — voir Exécuter NGINX dans un conteneur.

Dans la TUI

  1. sudo stop-bots démarre la TUI. Elle nécessite root : elle réécrit /etc/nginx et charge les règles du pare-feu.
  2. u télécharge toutes les listes : listes de bots, plages d'IP de crawlers, et tout flux ou pays que vous avez activé.
  3. Vérifiez. Le Dashboard (1) contient la politique globale de l'hôte : quelles catégories de bots sont bloquées, les pays, et les détecteurs qui lisent vos logs. Sur l'écran NGINX (4), r trouve vos sites. L'écran Blocks (5) liste chaque règle ajoutée par les détecteurs ou par vous, et pourquoi.
  4. a applique tout. Il montre d'abord ce qui changerait — les fichiers, les règles ajoutées et supprimées, et le verdict du contrôle de verrouillage (d pour le diff) — et demande confirmation.
  5. sudo stop-bots install firewall fait survivre les règles appliquées à un redémarrage. Sans cela, un redémarrage revient sans aucune règle.
  6. sudo stop-bots status vérifie le noyau, les unités et les fichiers, et indique ce qui manque.

La même chose depuis la CLI, pour les scripts

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 ne télécharge et n'analyse rien : sur une installation toute neuve, il affiche les blocs NGINX issus de la liste de bots intégrée au binaire, et aucune règle de pare-feu pour l'instant, car rien n'a été lu depuis vos journaux. sudo stop-bots batch sans --apply effectue les téléchargements et les analyses et écrit les fichiers pour examen sans les appliquer. Voir Unattended, from cron pour ce que fait batch.

Annulation

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

Les premières listent chaque étape, les secondes les exécutent. Voir Mise à niveau et désinstallation.

Ce qu'il protège contre

Utilisation de la configuration NGINX

  • Bots connus, par catégorie (scanner / moteur de recherche / crawler IA), issus de ArcJet's Well-Known Bots, ai.robots.txt et de la NGINX Ultimate Bad Bot Blocker liste. Bloquer une catégorie injecte une règle if ($http_user_agent ...) dans la configuration NGINX de chaque site.

  • Trop de requêtes, via le rate limiting propre à NGINX.

  • Politement, d'abord — un robots.txt généré listant chaque bot que vous bloquez, pour les crawlers qui le respectent, plus le chemin honeypot ci-dessous.

  • Sauf là où vous en décidez autrement — exemptions de chemins par site, et adresses et user agents de confiance (trust), auxquels aucun blocage, liste ou rate limit ne s'applique.

  • Requêtes qui ne ressemblent pas à un navigateur, par site. Six règles indépendantes, chacune avec son propre interrupteur et chacune désactivée par défaut — un interrupteur par règle pour que si quelque chose chez vous cesse de fonctionner, vous puissiez identifier quelle règle en est la cause :

    RègleRejette, outre les bots
    HTTP/1.0 et HTTP/1.1crawlers et clients API qui ne parlent pas HTTP/2
    Pas d'en-tête Acceptcertains clients API n'en envoient aucun
    Pas d'Accept-Languageles outils de confidentialité le suppriment
    User-Agent vide/absentles scripts et health checks l'omettent souvent
    Host est une IP nueempêche d'atteindre le site par IP
    TLS 1.0 / 1.1uniquement les clients très anciens

Ce qu'une requête bloquée reçoit réellement

Il y a sept choix :

OptionÀ quoi ça sert
403 Forbidden (par défaut)indique que le blocage était délibéré ; le seul sur lequel un humain bloqué par erreur peut agir
404 Not Founddissimule qu'un blocage a eu lieu
410 Gonedemande aux crawlers bien élevés d'abandonner l'URL définitivement — préférez ceci au 403 lorsque vous rejetez des crawlers plutôt que des attaquants
429 Too Many Requestsindique à un client poli de ralentir et de réessayer
418 I'm a teapotla blague de la RFC 2324. Ça fonctionne ; ce n'est simplement pas enregistré auprès de l'IANA, et NGINX l'envoie avec un corps vide
444 close connectionaucune réponse du tout ; le moins coûteux, mais indiscernable d'un serveur en panne
Tarpitrépond 403 mais fait couler le corps à un octet par seconde, pour que le client attende au lieu de passer à autre chose
Télécharger l’outil