Fail2ban
fail2ban : lit les logs de divers services (SSH, FTP, SMTP, Apache... ), à la recherche d'erreurs d'authentification répétées et ajoute une règle iptables pour bannir l'adresse IP. Ecrit en Python.
base de la conf
/etc/fail2ban/fail2ban.conf
Loglevel : 1 – ERROR, 2 – WARN, 3 – INFO ou 4 – DEBUG.
/etc/fail2ban/jail.conf
déclaration des services, et conf, selon divers contextes, DEFAULT s'applique à toutes les autres sections. Par ex, :
|
après 5 tentatives (en echec) d'une IP (autre que dans la liste ignoreip) dans les 600 s ou 10 mn (findtime), cette IP sera automatiquement bloquée pendant 600 s (bantime) |
Quelques services sont en templates. Un ex:
[ssh]
enabled = true
port = ssh
filter = sshd
logpath = /var/log/auth.log
action = iptables
filter: ce nom correspond au nom de fichier dans ‘/etc/fail2ban/filter.d’ (sans le .conf)
action: " dans ‘/etc/fail2ban/action.d/’ (sans le .conf)
ex: ‘action = iptables’ correspond à /etc/fail2ban/action.d/iptables.conf’
filter.d utilise des expressions régulières
action.d scripts. Un seul filtre par service (mais plusieurs actions, sur des lignes séparées)