fail2ban et Postfix : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Page créée avec « '''Lien court''' vers cette page : http://vt.cx/f2bPx<br/> '''QR code''' vers cette page : http://vt.cx/f2bPx.qr<br/> <br/> <html> <script type="text/javascript"><... »)
 
 
(9 révisions intermédiaires par un utilisateur sont masquées)
Ligne 1 : Ligne 1 :
'''[[Lien court]]''' vers cette page : http://vt.cx/f2bPx<br/>
+
<!-- Links checked 28/10/18 -->
'''[[QR code]]''' vers cette page : http://vt.cx/f2bPx.qr<br/>
+
[[Catégorie:Linux]]
<br/>
+
[[Catégorie:Logiciels]]
 +
[[Catégorie:Messagerie]]
 +
[[Catégorie:Sécurité]]
 +
'''[[Lien court]]''' vers cette page : https://vt.cx/f2bPx
 +
'''[[QR code]]''' vers cette page : https://vt.cx/f2bPx.qr
 
<html>
 
<html>
<script type="text/javascript"><!--
+
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
google_ad_client = "ca-pub-3341840374417340";
+
<!-- VT2 -->
/* VT2 */
+
<ins class="adsbygoogle"
google_ad_slot = "6349432125";
+
    style="display:inline-block;width:468px;height:60px"
google_ad_width = 468;
+
    data-ad-client="ca-pub-3341840374417340"
google_ad_height = 60;
+
    data-ad-slot="6349432125"></ins>
//-->
+
<script>
</script>
+
(adsbygoogle = window.adsbygoogle || []).push({});
<script type="text/javascript"
+
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
+
 
</script>
 
</script>
 
</html>
 
</html>
<br/>
 
  
 
= Présentation =
 
= Présentation =
Un rapide coup d'œil au '''log''' de '''[[Postfix]]''' au lien suivant :
+
Un rapide coup d'œil au log de '''[[Postfix]]''' au '''[[lien]]''' suivant :
 
  /var/log/maillog ou /var/log/mail.log
 
  /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 :  
 
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 :  
Ligne 38 : Ligne 39 :
 
  filter = postfix.auth
 
  filter = postfix.auth
 
  maxretry = 5
 
  maxretry = 5
  action = iptables-multiport[name=postfix, port="http,https,smtp,submission,pop3,pop3s,imap,imaps,sieve", protocol=tcp]
+
  action = iptables-multiport[name=postfix, port="http,https,smtp,submission,[[pop3]],pop3s,imap,imaps,sieve", protocol=tcp]
 
  # sendmail[name=Postfix, dest=<email_admin>]
 
  # sendmail[name=Postfix, dest=<email_admin>]
 
  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 # 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é
  
Ligne 54 : Ligne 55 :
  
 
== Relance de [[fail2ban]] ==
 
== Relance de [[fail2ban]] ==
* Cette opération se fait par '''service fail2ban restart'''
+
* Cette opération se fait par '''service [[fail2ban]] restart'''
* D'éventuels messages d'erreurs à ce moment peuvent indiquer un problème
+
* D'éventuels messages d'erreurs à ce moment précis peuvent indiquer un problème
  
 
== Désactivation du jail ==
 
== Désactivation du jail ==
Ligne 62 : Ligne 63 :
 
* Sauvegarder '''jail.local''' ainsi modifié
 
* Sauvegarder '''jail.local''' ainsi modifié
 
* Relancer '''[[fail2ban]]'''  par '''service fail2ban restart'''
 
* Relancer '''[[fail2ban]]'''  par '''service fail2ban restart'''
 +
 +
== Articles [[Vulgum Techus]] ==
 +
* [[fail2ban et Plesk]]
 +
* [[fail2ban et roundcube]]
 +
* [[fail2ban.log vide]]
 +
* [[iptables]]
 +
* [[pop3]]
  
 
= Commentaires =  
 
= Commentaires =  

Version actuelle en date du 5 avril 2019 à 23:05

Lien court vers cette page : https://vt.cx/f2bPx
QR code vers cette page : https://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 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

Articles Vulgum Techus

Commentaires

blog comments powered by Disqus