Blacklister certaines IP dans Qmail et Postfix : Différence entre versions

De Vulgum Techus
Aller à : Navigation, rechercher
(Présentation)
Ligne 1 : Ligne 1 :
 +
<!-- Links checked 10/04/19 -->
 +
'''[[Lien court]]''' vers cette page : https://vt.cx/BIPQP
 +
'''[[QR code]]''' vers cette page : https://vt.cx/BIPQP.qr
 +
<html>
 +
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
 +
<!-- VT2 -->
 +
<ins class="adsbygoogle"
 +
    style="display:inline-block;width:468px;height:60px"
 +
    data-ad-client="ca-pub-3341840374417340"
 +
    data-ad-slot="6349432125"></ins>
 +
<script>
 +
(adsbygoogle = window.adsbygoogle || []).push({});
 +
</script>
 +
</html>
 +
 
= Présentation =
 
= Présentation =
 
Les tentatives d'intrusion et de '''[[spam]]''' d'une '''[[messagerie]] [[Qmail]]''' ou '''[[Postfix]]''' sont nombreuses et les moyens pour identifier et bloquer les '''[[IP]]''' qui exagèrent le sont aussi. Le présent article vise à les regrouper.
 
Les tentatives d'intrusion et de '''[[spam]]''' d'une '''[[messagerie]] [[Qmail]]''' ou '''[[Postfix]]''' sont nombreuses et les moyens pour identifier et bloquer les '''[[IP]]''' qui exagèrent le sont aussi. Le présent article vise à les regrouper.
Ligne 5 : Ligne 20 :
 
Facile à mettre en place, ces deux utilitaires travaillent de concert pour :
 
Facile à mettre en place, ces deux utilitaires travaillent de concert pour :
 
# Détecter les répétitions d'erreurs dans les log ('''[[fail2ban]]''')
 
# Détecter les répétitions d'erreurs dans les log ('''[[fail2ban]]''')
# Blacklister les '''[[IP]]''' récalcitrantes détectées par '''[[fail2ban]] ([[iptables]])'''
+
# Blacklister les IP récalcitrantes détectées par fail2ban (iptables)
 
voir '''[[fail2ban et Postfix]]'''
 
voir '''[[fail2ban et Postfix]]'''
  
 
= [[Blacklistage]] d'[[IP]] =
 
= [[Blacklistage]] d'[[IP]] =
 
== [[Qmail]] ==
 
== [[Qmail]] ==
C'est dans le fichier /etc/mail/access qu'il convient d'indiquer les '''[[IP]]''' à banir sous la forme  
+
C'est dans le fichier /etc/mail/access qu'il convient d'indiquer les IP à bannir sous la forme  
  
 
== [[Postfix]] ==
 
== [[Postfix]] ==
Le  '''[[bannissement]]''' avec '''[[Postfix]]''' demande de suivre un mode opératoire assez précis à savoir :
+
Le  '''[[bannissement]]''' avec Postfix demande de suivre un mode opératoire précis à savoir :
 
* Création de la liste d'éléments à bannir selon deux axes :
 
* Création de la liste d'éléments à bannir selon deux axes :
  fichier texte /etc/postfix/check_client -> '''[[bannissement]]''' par '''[[IP]]''', plage d''''[[IP]] ou par '''nom d'hôte (host name)'''
+
  fichier texte /etc/postfix/check_client -> bannissement par IP, plage d'IP ou par nom d'hôte (host name)
 
  /etc/postfix/client_checks
 
  /etc/postfix/client_checks
 
   
 
   
 
  # Délimiter les clients dont les connexions [[SMTP]] sont acceptées
 
  # Délimiter les clients dont les connexions [[SMTP]] sont acceptées
  exemple.com          REJECT Pas de [[spam]] !
+
  exemple.com          REJECT Pas de spam !
  .exemple.com          REJECT Pas de [[spam]] depuis le [[sous-domaine]]
+
  .exemple.com          REJECT Pas de spam depuis le [[sous-domaine]]
 
  123.123.123.123      REJECT Cette IP est [[blacklistée]] !
 
  123.123.123.123      REJECT Cette IP est [[blacklistée]] !
  123.123.123.0/100    REJECT Cette IP est plage d'[[IP]] est [[blacklistée]]
+
  123.123.123.0/100    REJECT Cette IP est plage d'IP est blacklistée
  
 
  fichier texte /etc/postfix/check_sender -> '''[[bannissement]]''' d'adresses '''[[email]]''' spécifiques
 
  fichier texte /etc/postfix/check_sender -> '''[[bannissement]]''' d'adresses '''[[email]]''' spécifiques
Ligne 28 : Ligne 43 :
 
   
 
   
 
  # Restreindre les domaines dont le système accepte les mails
 
  # Restreindre les domaines dont le système accepte les mails
  exemple.com          REJECT toutes les adresses [[email]] de exemple.com son rejetées
+
  exemple.com          REJECT toutes les adresses email de exemple.com son rejetées
  .exemple.com          REJECT toutes les adresses [[email]] du [[sous-domaine]] *.exemple.com son rejetées
+
  .exemple.com          REJECT toutes les adresses email du sous-domaine *.exemple.com son rejetées
  info@exemple.com      REJECT cet [[email]] est rejetée
+
  info@exemple.com      REJECT cet email est rejetée
 
  gmail.com            OK
 
  gmail.com            OK
 
   
 
   
 
  A noter que les directives suivantes sont acceptées et que le texte qui les suit n'est pas pris en compte :
 
  A noter que les directives suivantes sont acceptées et que le texte qui les suit n'est pas pris en compte :
 
  '''OK''' -> accepte les emails
 
  '''OK''' -> accepte les emails
  '''RELAY''' -> accepte les emails adressés au domaine indiqué et relaye-les via le [[serveur]] [[SMTP]]
+
  '''RELAY''' -> accepte les emails adressés au domaine indiqué et relaye-les via le serveur SMTP
 
  '''REJECT''' -> rejete l'émetteur ou le destinataire avec un message standard
 
  '''REJECT''' -> rejete l'émetteur ou le destinataire avec un message standard
 
  '''DISCARD''' -> efface le message complètement
 
  '''DISCARD''' -> efface le message complètement
Ligne 48 : Ligne 63 :
 
** ...,
 
** ...,
 
** ...,
 
** ...,
* Relancer '''[[postfix]]''' par :
+
* Relancer postfix par :
 
** #/etc/init.d/postfix reload (Debian)
 
** #/etc/init.d/postfix reload (Debian)
 
** #/service posffix restart (Red Hat)
 
** #/service posffix restart (Red Hat)
 +
 +
= Articles [[Vulgum Techus]] =
 +
* [[spam]]
 +
* [[SMTP]]
 +
* [[Postfix]]
 +
* [[Qmail]]
 +
 +
= Commentaires =
 +
{{#widget:DISQUS
 +
|id=vulgumtechus
 +
}}

Version du 10 avril 2019 à 12:06

Lien court vers cette page : https://vt.cx/BIPQP
QR code vers cette page : https://vt.cx/BIPQP.qr

Présentation

Les tentatives d'intrusion et de spam d'une messagerie Qmail ou Postfix sont nombreuses et les moyens pour identifier et bloquer les IP qui exagèrent le sont aussi. Le présent article vise à les regrouper.

fail2ban & iptables

Facile à mettre en place, ces deux utilitaires travaillent de concert pour :

  1. Détecter les répétitions d'erreurs dans les log (fail2ban)
  2. Blacklister les IP récalcitrantes détectées par fail2ban (iptables)

voir fail2ban et Postfix

Blacklistage d'IP

Qmail

C'est dans le fichier /etc/mail/access qu'il convient d'indiquer les IP à bannir sous la forme

Postfix

Le bannissement avec Postfix demande de suivre un mode opératoire précis à savoir :

  • Création de la liste d'éléments à bannir selon deux axes :
fichier texte /etc/postfix/check_client -> bannissement par IP, plage d'IP ou par nom d'hôte (host name)
/etc/postfix/client_checks

# Délimiter les clients dont les connexions SMTP sont acceptées
exemple.com           REJECT Pas de spam !
.exemple.com          REJECT Pas de spam depuis le sous-domaine
123.123.123.123       REJECT Cette IP est blacklistée !
123.123.123.0/100     REJECT Cette IP est plage d'IP est blacklistée
fichier texte /etc/postfix/check_sender -> bannissement d'adresses email spécifiques
/etc/postfix/sender_checks

# Restreindre les domaines dont le système accepte les mails
exemple.com           REJECT toutes les adresses email de exemple.com son rejetées
.exemple.com          REJECT toutes les adresses email du sous-domaine *.exemple.com son rejetées
info@exemple.com      REJECT cet email est rejetée
gmail.com             OK

A noter que les directives suivantes sont acceptées et que le texte qui les suit n'est pas pris en compte :
OK -> accepte les emails
RELAY -> accepte les emails adressés au domaine indiqué et relaye-les via le serveur SMTP
REJECT -> rejete l'émetteur ou le destinataire avec un message standard
DISCARD -> efface le message complètement
SKIP -> Procède à l'action par défaut
  • Hashage des listes par :
    • #/postmap /etc/postfix/client_checks
    • #/postmap /etc/postfix/client_checks
  • Configuration de /etc/postfix/main.cf par l'ajout des directives suivantes au niveau de smtpd_recipient_restrictions =
    • check_client_access hash:/etc/postfix/client_checks,
    • check_sender_access hash:/etc/postfix/sender_checks,
    • ...,
    • ...,
  • Relancer postfix par :
    • #/etc/init.d/postfix reload (Debian)
    • #/service posffix restart (Red Hat)

Articles Vulgum Techus

Commentaires

blog comments powered by Disqus