J'ai un fail2ban configuré comme ci-dessous:
- bloquer l'ip après 3 tentatives infructueuses
- libérer l'IP après un délai de 300 secondes
Cela fonctionne parfaitement et je souhaite le conserver de manière à ce qu'un utilisateur valide ait la possibilité de réessayer la connexion après le délai imparti. Maintenant, je veux implémenter une règle dans laquelle si la même adresse IP est détectée comme attaque et bloquée, débloquée 5 fois, bloque définitivement l’adresse IP et ne la débloque plus jamais. Cela peut-il être réalisé avec fail2ban seul ou j'ai besoin d'écrire mon propre script pour le faire?
Je le fais en centos.
Réponses:
Avant la version 0.11, il n’existait aucune fonctionnalité ou paramètre par défaut dans fail2ban pour ce faire. Mais à partir de la version 0.11 à venir, le temps d'interdiction est automatiquement calculé et augmente de façon exponentielle à chaque nouvelle infraction, ce qui, à long terme, entraînera un blocage plus ou moins permanent.
Jusque-là, votre meilleure approche consiste probablement à configurer fail2ban pour surveiller son propre fichier journal . C'est un processus en deux étapes ...
Étape 1
Nous pourrions avoir besoin de créer un filtre pour vérifier les BAN dans le fichier journal (le fichier journal de fail2ban)
Étape 2
Nous devons définir la prison , semblable à la suivante ...
Techniquement, ce n'est pas un bloc permanent , mais seulement des blocs pour un an (que nous pouvons aussi augmenter).
Quoi qu'il en soit, pour votre question (cela peut-il être réalisé avec fail2ban seul ou je dois écrire mon propre script pour le faire?) ... écrire son propre script pourrait bien fonctionner. Je recommande de créer le script pour extraire les adresses IP fréquemment interdites, puis de les
/etc/hosts.deny
intégrer.la source
sshd_config
, il est possible que seul le blocage de 3 connexions ayant échoué pour une "session" sshd ait été bloqué. Par exemple, un attaquant pourrait par défaut essayer ['pass1', 'pass2', 'pass3'] au cours d'une seule session avant que sshd ne se déconnecte. Selon la façon dont sshd est configuré pour se connecter, cela peut apparaître comme 1, 2 ou 3 tentatives d’échec2ban.Je crois que si vous mettez
bantime = -1
dans cette section config, c'est un blocage permanent.la source
bantime
une valeur négative est une interdiction permanente (à partir de Fail2Ban version 0.6.1 (2006/03/16))Phil Hagen a écrit un excellent article sur ce sujet. " Interdire définitivement les récidivistes avec fail2ban ".
Sa suggestion est la même que Pothi mais fournit un guide étape par étape.
Cela comprenait:
la source
Pour développer la réponse de Chin, ceci est assez simple. Il suffit de modifier les 2 paramètres
/etc/fail2ban/jail.local
pour correspondre à vos préférences.la source
fail2ban a déjà une prison pour interdire les récidives. Si vous regardez
/etc/fail2ban/jail.conf
, vous trouverez:Comment ajouter dans jail.local?
Pour vérifier que vous logLevel vous pouvez faire:
fail2ban-client get loglevel
.Avec l'ancienne version de fail2ban, vous pouvez obtenir ce bogue .
la source
Allez dans vim, ouvrez /etc/fail2ban/jail.conf
et juste modifier après
fail2ban service restart
:la source