Linux

À la une

Fail2Ban – Bien configurer sa jail recidive

Fail2ban permet de bannir les utilisateurs en cas d’échec de certaines actions. Par exemple sur l’erreur 403 d’une page web ou une authentification ssh incorrecte. Mais que pouvons-nous faire s’ils continuent à obtenir des tentatives infructueuses .

2 min de lecture 0 commentaire
Fail2Ban – Bien configurer sa jail recidive

Fail2ban permet de bannir les utilisateurs en cas d’échec de certaines actions. Par exemple sur l’erreur 403 d’une page web ou une authentification ssh incorrecte. Mais que pouvons-nous faire s’ils continuent à obtenir des tentatives infructueuses ?

L’idée principale est d’analyser les logs de Fail2ban et de vérifier qui a déjà été banni par d’autres règles, et de le bannir à nouveau à un intervalle plus long.

Pour cela, nous pouvons utiliser le filtre intégré recidive.conf.

Créer un fichier de jail : /etc/fail2ban/jail.d/recidive.conf

avec ce contenu :

[recidive]
enabled = true
logpath = /var/log/fail2ban.log
filter = recidive
# find how many times it was banned today
findtime = 86400 ; 1 day
# if it banned 4 times
maxretry = 4
# ban this user for 3 hours
bantime = 10800 ; 3 hours

Mais si nous voulons l’utiliser en “second niveau” par exemple pour interdire les utilisateurs pour une durée encore plus longue. Nous devrions modifier recidive.conf et ajouter ignoreregex pour exclure les IP déjà bannies par cette règle.

Il faut donc changer dans le fichier /etc/fail2ban/filter.d/recidive.conf :

ignoreregex =

par

ignoreregex = \[recidive.*\]\s+Ban\s+<HOST>

et créer ou modifier notre fichier /etc/fail2ban/jail.d/recidive.conf

[recidive1]
enabled = true
filter = recidive
bantime = 10800 ; 3 hours
findtime = 86400 ; 1 day
logpath = /var/log/fail2ban.log
maxretry = 4

[recidive2]
enabled = true
filter = recidive
bantime = 86400 ;1 day
findtime = 604800 ;1 week
logpath = /var/log/fail2ban.log
maxretry = 7

[recidive3]
enabled = true
filter = recidive
bantime = 604800 ;1 week
findtime = 2592000 ;1 month
logpath = /var/log/fail2ban.log
maxretry = 10

[recidive4]
enabled = true
filter =recidive
bantime = 2592000 ;1 month
findtime = 15552000 ;6 months
logpath = /var/log/fail2ban.log
maxretry = 20

Communauté

Commentaires

La discussion est ouverte

Aucun commentaire pour le moment. Soyez le premier à réagir.

Publication après modération