fail2ban et Postfix
De Vulgum Techus
Lien court vers cette page : https://vt.cx/f2bPx QR code vers cette page : https://vt.cx/f2bPx.qr
Sommaire
Présentation
Un rapide coup d'œil au log de Postfix au lien suivant :
/var/log/maillog ou /var/log/mail.log
peut révéler de nombreuses tentatives d'identification SMTP visant à casser le mot de passe dans l'optique de l'utiliser à des fins de spam. Ces tentatives sont identifiées par les messages suivants que l'on trouve en grand nombre :
<date heure host>: lost connection after AUTH from unknown[<IP>] <date heure host>: disconnect from unknown[<IP>]
La procédure permettant d'y mettre fin grâce à fail2ban est ici décrit. Elle permet de tester sur les tentatives d'authentification erronée et de bloquer l'IP dont elles sont originaires.
Procédure
L'opération se passe en 3 temps :
- Ajout du jail postfix-auth dans jail.local
- Création de postfix.auth.conf
- Relance de fail2ban
Ajout du jail
- Se loguer sur le serveur à protéger
- Éditer jail.local en y ajoutant le code suivant :
[postfix-auth] enabled = true filter = postfix.auth maxretry = 5 action = iptables-multiport[name=postfix, port="http,https,smtp,submission,pop3,pop3s,imap,imaps,sieve", protocol=tcp] # sendmail[name=Postfix, dest=<email_admin>] logpath = /var/log/maillog
- Le sendmail sert à avertir l'admin du blocage d'une IP par postfix-auth -> il est inopérant par défaut du fait du # (commentaire) en début de ligne
- Supprimer le # pour rendre sendmail opérationnel et indiquer l'email de l'admin en lieu et place de <email_admin>
- maxretry = 5 indique le nombre de tentatives avant le bannissement. On peut réduire ou augmenter ce nombre.
- Sauvegarder le fichier ainsi modifié
Création de postfix.auth.conf
- Dans /etc/fail2ban/filter.d créer le fichier postfix.auth.conf avec le contenu suivant :
[Definition] failregex = lost connection after AUTH from (.*)\[<HOST>\] ignoreregex =
- Le sauvegarder
Relance de fail2ban
- Cette opération se fait par service fail2ban restart
- D'éventuels messages d'erreurs à ce moment précis peuvent indiquer un problème
Désactivation du jail
Il est possible de désactiver le jail à tout moment comme suit :
- Mettre false à la place de true à enabled au niveau de postfix-auth dans jail.local
- Sauvegarder jail.local ainsi modifié
- Relancer fail2ban par service fail2ban restart