fail2ban et Postfix : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Ajout du jail)
(Ajout du jail)
Ligne 42 : Ligne 42 :
 
  logpath = /var/log/maillog
 
  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
 
* 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>'''
+
* 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.
 
* '''maxretry = 5''' indique le nombre de tentatives avant le bannissement.  On peut réduire ou augmenter ce nombre.
 
* Sauvegarder le fichier ainsi modifié
 
* Sauvegarder le fichier ainsi modifié

Version du 23 mars 2015 à 19:48

Lien court vers cette page : http://vt.cx/f2bPx
QR code vers cette page : http://vt.cx/f2bPx.qr


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 :

  1. Ajout du jail postfix-auth dans jail.local
  2. Création de postfix.auth.conf
  3. 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 là 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

Commentaires

blog comments powered by Disqus