Administrer un VPS Classic РMod̩rer Fail2ban

 

Rappel : je suis sur un VPS Classic 1 (10 Go d'espace disque / 1Go de RAM) de chez OVH tournant sous Release 3 (CentOS 6.6 – Webmin)

Failtoban est un processus qui épluche les logs (valeur logpath) et inscrit les IP coupables d'attaques dans iptables. Et il envoie un mail à chaque fois. C'est très bien… Sauf que des attaques, il y en a toutes les 5 min et j'en ai rapidement assez de me faire inonder de mails…

Où se trouvent les logs ?

IPtables SSH se trouve dans /var/log/secure
IPtables ProFTPD se trouve dans /var/log/proftpd/proftpd.log

Paramétrage

Ça se passe dans le fichier etc/fail2ban/jail.local (et non pas dans etc/fail2ban/jail.conf, ni dans etc/fail2ban/fail2ban.conf, ni dans etc/fail2ban/action.d/mail-whois.conf. On peut dire qu'ils s'y entendent pour compliquer les choses…)

Paramètre ignoreip

Pour ne pas risquer de m'auto-bannir, j'ajoute mon adresse IP (je suis en IP fixe) à la suite de 127.0.0.1 (séparée par un espace).

Mettons que mon IP soit 85.68.000.000

[DEFAULT]
ignoreip = 127.0.0.1 .249 .250 .251 213.186.33.13 8.33.137.102 213.186.33.62 85.68.000.000

Paramètre bantime

J'augmente bantime, la valeur durant laquelle l'IP est bannie (en nombre de secondes). Elle était à l'origine de 600 secondes (soit 10 min)

bantime = 600

Changement pour 6000 secondes (le hacker sera bloqué pendant 100 minutes)

Actions

Configuration de départ :

[ssh-iptables]
enabled = true
filter = sshd
action = iptables[name=SSH, port=ssh, protocol=tcp]
 sendmail-whois[name=SSH, dest=root, sender=postmaster@vpsXXXXXX.ovh.net]
logpath = /var/log/secure
maxretry = 5
[proftpd-iptables]
enabled = true
filter = proftpd
action = iptables[name=ProFTPD, port=ftp, protocol=tcp]
 sendmail-whois[name=ProFTPD, dest=root, sender=postmaster@vpsXXXXXX.ovh.net]
logpath = /var/log/proftpd/proftpd.log
maxretry = 6

Je commente la ligne sendmail-whois. Attention, le # doit être placé en tout début de ligne ! Sinon erreur…

# sendmail-whois[name=ProFTPD, dest=root, sender=postmaster@vpsXXXXXX.ovh.net]

Puis redémarrage

service fail2ban restart

Cela a fonctionné, Fail2Ban arrête d'arroser à tout va…

 

 

Si on veut modifier le texte du mail envoyé (le mettre en Français par exemple), aller dans /etc/fail2ban/action.d/mail-whois.conf

# Option: actionban
# Notes.: command executed when banning an IP. Take care that the
# command is executed with Fail2Ban user rights.
# Tags: See jail.conf(5) man page
# Values: CMD
#
actionban = printf %%b "Hi,\n
 The IP <ip> has just been banned by Fail2Ban after
 <failures> attempts against <name>.\n\n
 Here is more information about <ip>:\n
 'whois <ip> || echo missing whois program'\n
 Regards,\n
 Fail2Ban"|mail -s "[Fail2Ban] <name>: banned <ip> from 'uname -n'" <dest>

Par contre, vider ce qui est derrière actionban = n'empêche pas l'envoi de mails

Quelques commandes utiles

Afficher les paramètres de jail.local

fail2ban-client -d

Pour lister les IP bannies

iptables -L -n --line

 

Karine SANCHE

Partager cet article