[quote=“fluo”]En fait,
je me suis trompé, désolé. Il ne faut pas mettre de failregex dans jail.local, fail2ban va automatiquement chercher les règles dans filter.d/, et pas besoin de toucher au sasl.conf, et ça marche.[/quote]
On suppose que tu n’as jamais installé fail2ban.
Donc tu installe fail2ban :
apt-get install fail2ban
Ensuite, tu fais une copie de jail.conf (qui est un modèle) en jail.local car fail2ban se base sur la configuration de jail.local :
cp /etc/fail2ban/jail.conf /etc/fail.local
Ensuite il y a 4 paramètres généraux importants qu’il faut connaitre dans ce fichier jail.local :
# "ignoreip" can be an IP address, a CIDR mask or a DNS host
ignoreip = 127.0.0.1
=> vérifier qu’on a bien 127.0.0.1 à ignoreip pour ne pas s’auto-bannir
bantime = 600
=> durée de banissement en secondes
maxretry = 3
=> nombre d’échec de tentatives par défaut au bout duquel on applique le banissement pour une durée de bantime
destemail = root@localhost, user@example.com
=> liste d’emails destinataires pour recevoir les notifications de bannissement par mail.
Vous pouvez mettre une adresse extérieur comme hotmail, gmail… si la configuration de votre serveur mail (comme postfix) le permet. Remarque : destmail ne marche que si on l’a activé dans le paramètre action (voir ci-dessous)
action = %(action_mwl)s
=> les types de notifications que vous souhaitez recevoir (cumulables) : m (pour mail qui permet d’activer le paramètre destemail, et donc de recevoir les notifications de bannissement par mail), l (pour avoir les notifications de bannissement dans les logs de fail2ban) w (pour avoir aussi les notification des warnings),
Remarque : si vous avez mis un m dans action, alors un /etc/init.d/fail2ban restart vous envoie aussi un mail pour vous indiquer que la notification par mail marche bien.
Ensuite le fichier jail.local contient déjà une liste des services populaires (ssh, postfix, apache…) que fail2ban peut surveiller. Exemples :
[code]
…
[ssh]
enabled = false
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3
[vsftpd]
enabled = false
port = ftp,ftp-data,ftps,ftps-data
filter = vsftpd
logpath = /var/log/vsftpd.log
or overwrite it in jails.local to be
logpath = /var/log/auth.log
if you want to rely on PAM failed login attempts
vsftpd’s failregex should match both of those formats
maxretry = 6
…[/code]
où les paramètres :
enabled => soit false (fail2ban ne surveille pas), soit true (fail2ban surveille pour bannir)
logpath => chemin du fichier log du service à surveiller
maxretry => nombre d’échec de tentatives au bout duquel fail2ban banni l’ip. Ce paramètre, si fourni, override le paramètre général maxretry.
Pour les règles de bannissement, fail2ban les recherche automatiquements dans les fichiers du dossier filter.d/.
Donc si on veut que fail2ban surveille le service sasl, mettre true au paramètre enabled, puis on restart fail2ban :
[sasl]
enabled = true
port = smtp,ssmtp,imap2,imap3,imaps,pop3,pop3s
filter = sasl
# You might consider monitoring /var/log/warn.log instead
# if you are running postfix. See http://bugs.debian.org/507990
logpath = /var/log/mail.log
=> donc ici, fail2ban surveille /var/log/mail.log en se basant sur des règles de filter.d/sasl.conf.